Development

Digital-Tutors is a recognized leader in on-demand training for the motion graphics industry, partnering with leading design studios, software manufacturers, and educational institutions.  To extend their platform of web and mobile video applications, Digital-Tutors worked with RealEyes Media to create a new version of their online training library that would allow users to download lessons and courses for offline viewing, while continuing to advance the features in their training platform: Digital-Tutors Vault.

Today, Digital-Tutors is releasing the second major release of Vault, coupled with a new Web application that brings Vault’s advanced user interface and much of its functionality to the browser. Curious about what all the fuss is about? Vault 1.6 includes enhanced group functionality and updates to Digital-Tutors’ streaming technology.

Digital-Tutors Vault provides digital visual artists at all experience levels the opportunity to stream training content while online and use a credits system to download and lease DRM protected content for offline viewing. All users are welcomed to the application with an HTML experience that is seamlessly integrated into the application.  Through an API, the HTML pages can execute actions in the parent AIR application, allowing Digital-Tutors to highlight important content easily. To keep content fresh, Vault has an integrated asset and data update system that ensures users have the most up-to-date local catalog assets. In fact, the AIR application is bundled with catalog assets (local database, images, HTML, and JavaScript) so users experience a robust application right from the start – even when offline.

With the ability to move category tabs such as Browse and Playlists as well as create and organize custom tags, notes and video clips, Vault provides an extremely customizable digital learning environment.  The Vault application also automatically syncs custom user data across Digital-Tutors suite of applications, including web and iPhone, so that items like view progress and clips are consistent across all of a user’s devices.

Want to experience Vault for yourself:
http://www.digitaltutors.com/09/vault.php

RealEyes is pleased to announce the launch of a new series dedicated to making sense of the vast world of digital audio. This series will consist of an ever-expanding collection of posts that aim to provide information about digital audio principles in the form of articles and tutorial-walkthroughs. Topics to be covered include:

  • Acoustic-to-Analog-to-Digital conversion
  • Soundwaves
  • Db
  • Nyquist Theorem
  • Sample rate/bit depth
  • Recording best-practices
  • Editing
  • Audio effects
  • DAW’s (digital audio workstations)
  • Exporting to different filetypes
  • MIDI
  • Audio for the web
  • Audio and Actionscript
  • Much more!

…Stay tuned!

On March 18, 2011, Adobe announced the General Availability release of Flash Player 10.2 in the Android Market for various Android devices (Android mobile – 2.2 Froyo, and 2.3 Gingerbread, and for Android tablets – 3.x Honeycomb).

From Adobe:

“Flash Player 10.2 is now available for download on Android Market.  This is a production GA (General Availability) release for Android 2.2 (Froyo) and 2.3 (Gingerbread) devices and an initial beta release for Android 3.x (Honeycomb) tablets that include at least Google’s 3.0.1 system update.*  To see if your device is certified for Flash Player 10.2, visit: http://www.adobe.com/go/cd1.

The beta of Flash Player 10.2 for Android 3.x is an exciting release that brings a full web browsing experience, including video, games and other interactive content, to the latest Android tablets. We have been working very closely with Google through the development of this beta to ensure tight integration and optimization between Flash Player 10.2 and new OS and browser capabilities.

Improvements include:

  • Performance enhancements to take advantage of new hardware in both Android 3.x tablets, as well as existing hardware in many Android 2.2 and 2.3 devices
  • Tight integration with the new Android 3.x browser to treat Flash content as part of the web page instead of as a separate “overlay.”  This results in improved scrolling of web pages and the ability to display pages in the way intended by the page designer, including new support for compositing HTML and other web content over Flash Player rendered content.
  • Automatic soft keyboard support to simplify text entry for rich mobile and multi-screen experiences”

Continue reading the full article on the Adobe Flash Player Team Blog

Advertisement Plugin in REOPS for Timeline Happiness

Posted on March 18, 2011 at 1:17 pm in Development

By: Nils Thingvall

Recently I’ve been on the hunt for a means to bypass the aggregate timelines of SerialElements in OSMF. I want to do preroll and postroll ads that don’t add to the timeline of the main element I’m playing. After asking around in the Adobe forums, I was pointed to the AdvertisementPlugin, which is explained in this post on the OSMF blog. After playing around with it, this looks like just what I needed.

I work with the REOPS framework, so I went ahead and integrated it in. I have the code below, but first a word on what I had to do. There are some limitations to how REOPS currently can take in Plugin metadata, so I ended up doing a little trickery in the config XML for the plugin:

There are three types of metadata for this plug-in. The first are the components, the MediaContainer and the MediaPlayer. Those are handled in the application class below. In the config, I’m handling the other two types: files and times. The files are fairly straightforward, but due to REOPS handling of plug-in metadata, I had to cast them as OSMF URLs using the org.osmf.utils.URL class. I can then pull the URL out in the application class. The times I didn’t want to handle as URLs, so I fudged it a bit and just made the keys the number of seconds to wait before displaying a midroll ad.

The reason for this is that the Advertisement Plugin is expecting its metadata as a simple string or number, but REOPS casts metadata as Metadata objects. So in the app file, I extracted the data from the plugin’s metadata and reapplied it in the format it was expecting. In addition to that, the plugin metadata needs to hold references to the MediaPlayer and MediaContainer. Since REOPS dynamically creates its media elements and plugins, I had to hijack that process a little and pass in the two components before the plugin was loaded. I also had to change the start up order for REOPS around a bit, because it loads its plugins before it creates the MediaPlayer and MediaContainer it uses. I called the initMediaPlayer method early and blocked later calls to it. Unfortunately this breaks the authorized domain functionality in REOPS, but for this proof of concept I didn’t feel the need to circumvent that.

Once the plug-in was integrated, it simply was a matter of knowing when to hide the controls for the player. The plugin works by running two media players, and swapping the media element in the media container for the ad and then swapping back. By listening for the LayoutTargetEvent.ADD_CHILD_AT event, I could check to see if the media element that was added was my main media element. If it was, I would make the skin visible. If it wasn’t, I would make the skin invisible. That seemed to do the trick. I’m rather pleased to find this plugin, as it does something many people want and makes an otherwise difficult task much easier.

Here’s my application class:

Original article as it appears on Nils Thingvall’s blog

David Hassoun

David Hassoun

John Crosby

John Crosby

Open Source Media Framework (OSMF) simplifies the development of media players by allowing developers to assemble components to create high-quality, full-featured video playback experiences. This open framework enables development focused on web-based video monetization, with lower costs and faster turnaround. – osmf.org


From building a simple player, to understanding plug-in development and use

Recently, Adobe Developer Connection posted a three-part series of articles entitled “Mastering OSMF“, by David Hassoun and John Crosby of Realeyes Media. The series, in addition to being divided into its three main sections, is broken down further into 11 walkthroughs which take the reader through various scenarios; from building a simple player using OSMF, to incorporating custom plug-ins into OSMF-based media players. A brief overview of the series:

Mastering OSMF-Part 1: Working with the Flash Platform

Part 1 gets you started with the basics of OSMF, and introduces the Strobe Media Playback media player, a precompiled SWF provided by Adobe that you can use in your projects. You also learn how to build a simple media player using OSMF, and to then how to break out the player’s controls to manage them independently. Finally, you learn how your player can be configured to handle different types of media using the MediaFactory class, and the generic MediaElement class.

Mastering OSMF-Part 2: Creating and customizing your player

Part 2 expands upon concepts discussed in Part 1, and explores the complex layout and container functionality that OSMF offers you as a developer. Also discussed are serial and parallel complex compositions, which allow for the customized presentation of media that needs image overlays, for example, or for multiple clips that need to be presented sequentially.

Mastering OSMF-Part 3: Working with plug-ins

The final installment in the series goes into the use and creation of plug-ins within your OSMF-based applications. In Part 3 you learn about the potential plug-ins used with OSMF have to create vastly more powerful and functional media players. Advertising integration, and analytics gathering are but two functions served by the use of plug-ins in OSMF.

Challenges of the Mobile Platform

  • Delivering a multimedia experience
  • Performance & Memory
  • Usability and User Experience

Solutions

  • Flash Player 10.1
  • Open Source Media Framework (OSMF) based media playback
  • Custom, light-weight framework for visual presentation and data management
  • CSG Systems’ Content Direct

Background

Realeyes Media, together with CSG Systems, built the Content Direct Mobile media streaming application. CSG Systems (NASDAQ: CSGS) provides software and services-based solutions that help clients improve commerce by better engaging and transacting with their customers. CSG provides enabling applications and a monetization platform to engage customers wherever they consume content.

Content Direct, a business unit of CSG, is focused on providing a complete ecosystem of online, mobile and OTT content and merchandising solutions.  Its solution empowers service providers, content creators, aggregators and distributors to easily and effectively market, monetize and manage their members and build engaging relationships by leveraging rich content.

Content Direct was created  to manage live events, content for video, music, games, other digital wares and physical merchandise and provide a flexible “browse, buy and belong” membership experience.  Content Direct provides consumer the ultimate flexibility in how they find, pay and manage their content choices and how they interact with their entertainment brands.

Content Direct is architected as a set of application modules (Member, Content, Commerce and Advertising) that expose its functionality through a set of well defined web services to applications such as the Online Storefront for Devices, , a Customer Care  Portal, Reporting Portal and the Invision Portal, a metadata manager.

Some of CSG’s  clients include:

  • Ultimate Fighting Championship
  • NBC Universal Sports
  • Onlive (Gaming)

CSG chose RealEyes as their partner to extend Content Direct’s online experience to mobile, enabling customers to market their premium video pay-per-view or subscription content on mobile devices.  Content Direct enables consumers to be able to watch, buy and manage their content from any device at anytime, anywhere.  Having established online, OTT and connected device solutions, Content Direct Mobile provides another way for customers to view and manage their content.   Content Direct Mobile allows users to search for content, buy video, manage their account and watch videos from their Flash enabled phones.

CSG partnered with RealEyes and Adobe to create Content Direct Mobile.  RealEyes and Adobe were obvious partners to extend Content Direct Mobile’s strategy.   RealEyes’ deep experience with Flash, Flash Mobile, OSMF combined with their relationship with Adobe were invaluable, and Adobe’s Flash penetration and the planned rollout to the mobile devices worldwide made Adobe a natural partner in deploying the Content Direct Mobile solution.

The Application

The Content Direct Mobile application uses the Content Direct’s existing data services and streaming media built for existing browser based clients and leverages the Flash Player 10.1 mobile player to create a rich and engaging mobile client experience to search, manage and view personalized media selections and libraries. Using a custom and light-weight visual presentation framework, the Content Direct Mobile application manages visuals and content in such a way as to conserve as much memory and resources as possible.

The Framework

Taking into account the Flash Player 10.1 improvements and optimizations already provided by the Flash Player team, the Content Direct Mobile application framework was built for speed and light weight. RealEyes built a powerful lightweight layout management system and UI controls that were optimized for mobile application development. This provided the application a versatile and sturdy foundation to build upon. Some of the challenges that we looked to address early on were screen rotation, and resolution independent layout. One of the benefits to both of the above challenges was there was no need of new ActionScript API’s or Flash runtime to build and manage such issues. This allowed us to utilize our past experience and apply it to the mobile application arena without losing a step.

Another area of focus for the framework and optimization was screen transitions and dynamic media asset management. Utilizing the robust ActionScript 3 bitmap management and caching appropriately for both content and motion played a major part in this. The custom bitmap management allowed us to maintain high quality motion and frame-rate while still keeping power and file weight low.

We enabled full branding and UI skinning via the clients data services and an Adobe Flash Professional source file created and managed in Flash CS5. Currently this media asset package creates a library file (SWC) that is utilized by the pure ActionScript 3 application developed in FlashBuilder 4.

The Media Player

The Content Direct Media player was built using Adobe’s Open Source Media Framework (OSMF). A testament to the quality of the OSMF and Flash Player 10.1, is the ability of the player to perform on a mobile platform without modification. In the future the media player could be an area of modification for optimization and performance enhancement, but right out of the box OSMF filled our needs and exceeded our expectations.

The extensibility of the OSMF allowed us to build in a custom control bar that is highly customizable for any client of Content Direct. In addition the OSMF plugin extensibility capabilities are a major benefit to the project and offer a high level of extensibility with ease.

The Bonus of AIR for Android

Having built the Content Direct Mobile application as an ActionScript 3 application, the transition from a browser based application to a natively installed Android application was accomplished with minimal effort. The following is a basic overview of all we needed to do to create a the AIR for Android application package:

  • We began by extending the main ActionScript class from the browser based application in our AIR for Android application.
  • Integrate features built into to the Android Operating System, such as keyboard functionality and navigational features using the updated APIs from the AIR for Android SDKs.
  • Listen for and respond to events associated specifically with the mobile application to handle screen orientation and sizing efficiently.
  • Package an AIR file by use the Andoird SDK adt commands to create the Android package (apk).

Conclusion

As the Flash Platform matures and grows on mobile we are looking forward to the ability to collaborate with Adobe and other companies allowing us to use our existing, skills, content and code on an ever increasing number of devices. Another exciting facet of the improvements and optimizations for Flash Player on mobile is how it will affect other device platforms – from laptops and netbooks, to set-top boxes and consumer devices – the possibilities are expanding and very exciting for us.

Overall we at RealEyes have been incredibly impressed with the capabilities and the development process for Flash applications on the Android devices. Some challenges were encountered with integration into the browser when it comes to rotation and form inputs, but Adobe has recently released an excellent article which addresses many of those issues. Performance and battery life have been nothing less than astonishing, and even the video playback without hardware acceleration (a temporarily missing feature) has been very promising.

The biggest changes in development are solely around form factor for UI, and optimization for devices with lower power capabilities than the desktop. For those who are more reliant upon a full framework like Flex it may be a little more of a challenge, but with reasonable ActionScript skills and consideration for complexity and optimization it is amazing how easy it is to make robust applications for a Flash enabled mobile device.

On Sunday, February 27, Adobe announced the launching of a new AIR and Flash Player incubator site on Adobe Labs. The purpose of this site is to share with developers some of the new features in the Adobe AIR runtime, and Adobe Flash Player that are currently under development or consideration.

From Adobe:

The Adobe Flash Platform runtimes team is launching the Adobe AIR and Flash Player Incubator program next week (live at 10am on Sunday, Feb 27th). The Incubator is a new place on Adobe Labs for us to share with developers features that are under development or under consideration for inclusion in future versions of the runtimes. It is different from the existing runtimes beta program. The Incubator program allows us to involve and engage earlier with our community of developers and customers. For developers and companies who are interested in testing cutting-edge capabilities of runtimes, the Incubator program allows them to contribute to the future of the Flash Platform. Keep in mind that the new features and functionalities in the Incubator builds may or may not be supported in future releases of the runtimes. The program will go live on Adobe Labs at www.adobe.com/go/runtimes_incubator .

“Molehill” 3D APIs and Cubic Bezier Curves will be the first two new features available in the first Incubator builds, which will be announced at the keynote of the Gaming Summit on Sunday, February 27th. For more information on the “Molehill” 3D APIs, visit Adobe Labs at www.adobe.com/go/molehill

The runtimes product management team has also set up a new AIR and Flash Player Releases blog (http://blogs.adobe.com/flashruntimereleases/), where developers can get real-time updates on new AIR and Flash Player releases.  Be sure to subscribe to the RSS feed and be notified whenever a new runtime build is posted.


FAQ: Adobe® AIR® and Flash® Player Incubator

1. What is the Adobe AIR and Flash Player Incubator?
The Adobe AIR and Flash Player Incubator is a place for our runtimes product teams to share new features that are either under development or under consideration for inclusion in future versions of the runtimes. Unlike our beta releases, capabilities that you see in the Incubator builds may or may not be supported in future releases of the runtimes.

2. Who is this Incubator program for?
This program is especially suitable for more adventurous developers who are willing to experiment with software features in early development stages and may or may not be included in future product releases.

3. Why does Adobe have an Incubator program?
Adobe’s product development philosophy is to engage in an open exchange and involve our community of passionate developers in early stages of the development cycle. Your feedback is critical to our on-going innovation efforts for the Flash Platform.

4. What’s the difference between the Incubator program and the beta program?
While the goals of both programs are similar — get early feedback from the developer community, the key differences include:
- The Incubator program allows us to get a community of developers involved in a much earlier development stage than what we do in the beta program.
- The Incubator program will be focused on a collection of new features that may or may not make into any future releases, where as the beta program allows developers to experience and evaluate an upcoming release that has reached the feature-complete stage.

5. What should I expect from the Incubator program?
We plan to release new Flash Player or AIR Incubator builds on a regular basis. To get updates on new builds and features, please subscribe to the RSS feed on Adobe runtimes release blog.  These are early builds of AIR or Flash Player and may not be as stable as a final release. However, the current released features should still work as expected. Please file bugs for new features highlighted in the Incubator and new bugs for current released features. The availability of AIR and Flash Player and supported OS and platforms may vary on the downloads page between updates to this program.

6. Why should I participate in the Incubator program?
The Incubator program provides you the opportunity to get an early look at what our engineers are developing for two of the most ubiquitous runtime technologies in the world. By being an active participant in the program, you’ll be able to influence the future of the leading runtime technologies with the Adobe engineering team.

7. Who will read my comments and answer my questions?
Your feedback is very important to us. Your comments and questions will be read and answered by Adobe engineers who are responsible for these features.

8. What will happen to these features?
These features are under development or under consideration for future releases. Depending on the feedback we get from the community, some of these features will be incorporated into future releases of the runtimes.

9. I have ideas for new features, who do I talk to?
We welcome new ideas from the community. Please submit your ideas to us at http://bugs.adobe.com/flashplayer/

Peer-To-Peer Flash Player Communication

Recent advancements to the Flash Player (10.0 and above) have given developers the ability to create applications that are economically scalable to large audiences. By utilizing RTMFP (Real Time Media Flow Protocol) it is now possible to develop applications that rely on direct peer-to-peer communication between Flash Player instances. A major benefit of this protocol is a dramatic reduction in bandwidth costs for applications that rely on real-time communication, such as video chat applications, and multi-player games.


The following are demonstrations of some of the ways in which this new technology can be implemented:

Basic Demos

Metrics Demo (Serverless)

Multiuser Video Demo

Elearning Demo

File Sharing (Adobe AIR)

Adobe AIR – File Sharing

File Sharing Receiver (AIR)

What’s Out There? Games

Battle Cell

Haxball

What’s Out There? Other

Chat Roulette (NSFW)

P2P Radar (Desktop)

P2P Radar (Android)

Testing RTMFP Capability

RTMFP Connectivity Checker

Live Multicast Streaming Using OSMF

Article by David Hassoun and John Crosby in Adobe Developer Connection

Peer-assisted networking using RTMFP groups in Flash Player 10.1

Article by David Hassoun and Jun Heider in Adobe Developer Connection

HD video rendered on the GPU is here!

Last November we reported on the incredible performance enhancements that Flash Player 10.2 Beta provides us in the form of GPU-accelerated  HD video playback. By utilizing the new Stage Video API, developers can now enjoy the benefit of  having their H.264 video being completely decoded and rendered on the GPU, drastically reducing the load on the CPU. Of course, what this translates into is the ability to playback higher quality video on less powerful devices, such as mobile phones and set-top players.


From Adobe:

“Today, we’re launching Flash Player 10.2 for Windows, Mac, and Linux. We’re especially excited that this release introduces Stage Video, a full hardware accelerated video pipeline for best-in-class, beautiful video across platforms and browsers. Additionally, this version of Flash Player offers all the new capabilities previewed in our beta release, like custom native mouse cursors, multiple monitor full-screen support, Internet Explorer 9 hardware accelerated rendering support, and enhanced sub-pixel rendering for superior text readability.”

Higher-quality video delivered to more devices = better user experiences

The release of Flash Player 10.2 is exciting news for those who wish to deliver their high-definition video to an even wider audience than what was possible before. Companies such as Brightcove, Google, YouTube, and Vimeo have already been enjoying the powerful new performance enhancements found in this version of the Flash Player. Indeed, considering that the usage of relatively low-powered devices such as mobile phones, set-top video players, and Flash-enabled televisions seems to be on an upward trajectory, the arrival of Flash Player 10.2 couldn’t have come at a better time. You can see the performance enhancements yourself by viewing examples of Stage Video in action here. (Must update to Flash Player 10.2)

Contact us today to find out how you can take advantage of this new release, and how your viewers can experience beautiful, high-performance video playback like never before.


Adobe Developer Connection – Stage Video

Getting Started With Stage Video

More Flash Player 10.2 New Features (Native Mouse Cursors, Anyone?)

Yesterday (11/30/2010) Adobe announced the beta release of Flash Player 10.2 for Windows, Mac, and Linux.  This update introduces some key enhancements in the area of video playback, including a new API known as Stage Video, that dramatically improves performance for HD content delivery, as well as an API that enables the use of native custom mouse cursors, and support for full screen playback while using multiple displays.

Stage Video

Perhaps the biggest change comes with the introduction of the Stage Video API, which provides an alternative method of rendering video in Flash besides using the Video object in the display list.  Instead, video can now be rendered onto a flash.media.StageVideo object, which gets created by Flash Player and composited through the GPU instead.  When playing video that has been encoded to the H.264 specification, and thus optimized for GPU acceleration, Flash Player 10.2 can decode and render video entirely on the GPU without sending that data to the CPU for processing, dramatically decreasing CPU load.

This reduction in processing demand means that higher quality video (read: higher bitrates/framerates) can now be rendered successfully by less powerful machines.  This is a huge plus for mobile devices, set-top boxes, and TVs that, while typically have powerful video rendering capabilities, usually lack the CPU power that a desktop computer may have.  Indeed, sites like YouTube are already preparing to support Stage Video, and Google TV currently supports Stage Video on their set-top devices.

Content providers can still use their existing content with Stage Video.  There’s no need to re-encode their video assets after implementing the Stage Video API into their applications.  More information on how developers can incorporate Stage Video into their sites here.

Demo For Flash Player 10.2 Beta From Adobe Labs

Here’s a quick demo taken from Adobe Labs:

Install Flash Player 10.2 beta to preview Stage Video hardware acceleration in the demos below. We’ve found the beta to be stable and ready for broad testing, but keep in mind this a sneak peak, and not everything will be fully baked just yet.

Click on the thumbnail below for a simple example of Stage Video using the example code described in Thibault Imbert’s Stage Video developer article Getting Started with the StageVideo API.

(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org

The Stage Video API for advanced GPU Acceleration, the ability for developers to implement custom, native mouse cursors in their applications, Internet Explorer 9 GPU support, enhanced text rendering capabilities, and full screen support while using multiple displays all add up to a nice amount of improvements being offered with Flash Player 10.2 Beta.