Home  >  

Adobe's new powerful framework called Strobe for any type of media files

Author photo
AddThis Social Bookmark Button
The video player ecosystem is complex. I pointed out the complexity of creating a video player in my last post about OVP, however, it doesn’t end there. In addition to the complexity of creating a video player there are other elements that make a video player a complete composition, such as advertisement elements, social network elements, reporting, content management, DRM etc.

Adobe recently announced of creating new framework called Adobe Strobe that is aimed at solving these issues. Strobe is an open AS3 media framework that supports the workflow around video playback and monetization. Video players have different features set. The skins are different and the integration is different as well as the architecture workflow. But they essentially do the same thing and can be created using the Strobe framework.

The framework is based on the quality of the video player (OVP) and addresses the common challenges. Adobe vanity license means that it’s ok to use and redistribute. Modification can be submitted to Adobe for redistribution. The foundation of the framework is Qos (quality of service), which focuses on OVP and provides a quick start for playing videos (smallest buffer size needed to start the video), efficient connection logic, and switching bitrates dynamically (recall metric monitor service in OVP).

The framework by itself is not powerful without having the CDNs and the publishers onboard. The Adobe Strobe is based on the “chicken and the egg” theory, meaning which will come first? In fact, Adobe is currently trying to get the publishers and the CDNs onboard and it seem that they got very positive responses. The idea is that each CDN will integrate their plugins to the Strobe framework and the publisher will be able to easily switch CDNs.

This type of pluggable component can allow publisher to easily switch as well as test performance and service over different CDNs.

Advantages:

  1. Reduce the barrier of entry for new publishers - by offering a framework to integrate the different pieces of the video player, new publishers can get started quickly and with fewer resources and scale up as requirements increase.
  2. Provide flexible framework - Strobe provides an easy way to extend each component and allow these components to act as a Lego piece that can be compositable and extensible.
  3. Leverage existing code - The Strobe framework uses the Flash Player from Open Video Player (OVP).
  4. Drive Standard and allow custom workflows - many of the elements that connect to a video player are not standard yet and Adobe Strobe will help standardize these components as well as allow them to be configured.
  5. No runtimes or framework dependency - the framework is based on Flash 10 AS3 and is not depend on any framework such as Flex SDK, Cairngorm or others. With that said some integrated elements may be created using a framework but these are loosely coupled and can be replaced if needed.
  6. Partners focus - There are several types of partners: publishers, CDNs, advertising services, and analytics services. Each can focus on their expertise.
  7. Integration with existing Adobe tools - In the future Adobe Strobe will be integrated with other Adobe Suite tools and services such as Catalyst, Dreamweaver, FMS 3.4, and FMRMS.
  8. Optimize - by the ability to separate the core framework and each element as a separate SWC you can increase performance by keeping file size to the minimum and based on components used.


The Adobe Strobe framework consists of three interests, which can be represented as an MVC pattern, as follow:

  • Model (Media elements) - media element (based on IMediaElement) may be video, image, SWF or others. Every media element has defined capabilities (traits based on IMediaTrait) and a life cycle, they are called Regions, for instance Region 1 (Image), Region 2 (Video) etc. Each media element implement IMediaElement contract, which contains the dynamic media traits (capabilities) and you can add or modify a trait. The traits are the building blocks and they can be set once and be reused.
  • Controller (Media compositions) - a media composition (IMediaFactory) is a collection of media elements. Each media can be rendered based on set of rules as well as media region that define how to use the capability and the life cycle.
  • View (Media configurations) - collection of media regions with properties that map to defined capabilities. Each media region can render each media element and can be spatially arranged and the entire media configuration can be the stage.


Let’s take a closer look at the higher architecture. The UI management is the tools we use to create our video player and skin it such as Flash Professional, Flex and soon we will be able to use Flash Catalyst for Flash 10 applications. Advertising companies such as DoubleClick or eyewonder allow us to add rich advertisement elements such as pre, mid and post roll ads, in playlist, or as companion ads or overlay ads. Applications provided by sites such as KickApps and gigya allowing embedding of the video player in social networks such as Facebook. The Flash Platform enable playback of video files. Companies such as Level(3) and Akamai provide syndications of feeds that can be consumed by other APIs. Lastly, stream management is available through Adobe’s server.

Strobe1.jpg

The framework architecture was designed to allow you to integrate at multiple points and support different use cases, it also allow to use only the pieces you need, as well as the ability to scale up when ready. There are three types of implementation you may find useful, see below.

  1. Media Framework (level 1 integration) - small in size and include the basic integration such as the video player by OVP and pluggable CDNs. It allows hocking into your higher-level API, tweak the UI and access the needed classes and methods you define such as play and pause.
  2. Media Framework and Composition Framework (level 2 integration) - In addition to level 1 level 2 allows creating a composition framework, which includes the ability to integrate to plugins that can provide monetization workflow for ads and tracking.
  3. Configuration Framework, Media Framework and Composition Framework (level 3 integration) - in addition to the features that level 2 and level 1 offers, the level 3 integration offers dynamic chrome and syndication.
You can read more about Strobe in a new book that will come out this summer, click here.

Read more from Elad Elrom. Elad Elrom's Atom feed

Comments

7 Comments

samBrown said:

very interesting, thanks for the details.

dylan oliver said:

by "FMRMS, CAST + VPAID" do you mean "FMRMS, VAST + VPAID"?

Elad Elrom said:

Hi Dylan, that's a typo, it should be VAST (Video Ad Serving Template)

Jorge said:

So you cut and paste the info from Adobe and call it a blog post?

Elad Elrom said:

Hi Jorge, thanks for the comment, however I am not sure how you came up with this conclusion? Can you explain?

this document is not "cut and paste" from adobe. The document is based on:

1. Adobe documents, conversation with Adobe's team and my interpretation.
2. Adobe's code and my explanation.
3. It based on hours working with the framework.

In fact this document may be the best resource there is up until now to understand how it works.

Here are two quotes regarding the document, I got by email:
"Your recent insideRIA posts have been the best and most complete source of info that I've found on ovp and strobe. "
"we saw your post on Adobe Strobe - great stuff!"

Sabari said:

Nicely summarized dude..

Expecting more information..

Keep posting like this..

Jonathan said:

Great article, welcome to Inside RIA. I didn't read much about these guys until they started following me on Twitter, awesome place for good info. @Jorge - I've worked with Elad on a couple projects and he talks like this in person. You shouldn't knock people contributing useful info to the community.

Leave a comment


Tag Cloud

Question of the Week: Dream App

If you had an unlimited budget and unlimited resources what application would you build and why would you build it?

Answer

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.