About OpenVideoPlayer

Welcome!

Open Video Player (OVP) is an initiative encompassing the use of open standards, best practices, and established development methodologies in the development of media player applications.  Currently this project provides a code base that can be used to solve common problems as part of building advanced, scalable, and robust web-based media player applications in Flash and Silverlight.

OVP is developed and maintained by a core team of dedicated volunteers.  OVP is distributed for free and "as-is" on SourceForge under a standard BSD license.

Simply put, our goal is to bring transparency to the development of compelling engaging media playback experiences and encourage the proliferation of online video through a community effort, leveraging best practices and open standards where possible.

We welcome your feedback, contributions, and ideas on ways to achieve this ongoing goal through this initiative.

- The OVP Team

To learn more about OVP and this site, please visit "Get Started" in the "Home" section of this site, or click here.

Latest News:

OVP v2.3.1 for Microsoft Silverlight Release

Hi folks,

A new version of OVP for Silverlight is now available! This release was much awaited for the smooth streaming plugin. Here is a summary of what’s new in this release:

General:

- SmoothStreamingPlugin

- Releasing source of the smooth streaming plugin, which is based on SMF, that essentially wraps Microsoft’s SSME

- Providing a zipped version of the MSSmoothStreaminPlugin.xap plugin with instructions on how to download SSME and create the OVP plugin. Detailed notes are available in the ‘BuildingOVP.txt’ file.

- Configuration Tool

- Cleaned-up and updated the ‘index.html’ of the web project to allow selecting between different media plugins

- Added support for selecting between multiple audio tracks when available in a smooth stream’s manifest file

Bug Fixes:

- Removed property of type ‘MediaElement’ from the OpenVideoPlayerControl class, since, ActiveMediaPlugin property replaces it

- Fixed issue with PlayReady streams, where after playback has ended, clicking on play button would not resume playback

- On playback stop, play button is now being shown on main video area to allow re-play of current media

Download the binaries and source here.

As always if you have questions, feedback, and comments, please use our forums to let us know!

- The OVP Team

OVP v2.1.6 for Adobe Flash Release

Hi Folks,
We’ve just released v2.1.6 of OVP for Flash. This release contains the following changes:

Bug fixes:
1.    3103070 : Akamai Auth Token MultiPlayer Issue - There is no qString parse routine in Video Controller for MBR for akamai auth token support. I Added the same routine as VOD uses to handle this.
2.    3146756 - Caption uses uint for time values
3.    Not Reported - Live auth token support for query string support added to VideoController.as

Core Enhancements:
1.    “core“ directory renamed to “ovp_core” to accommodate Flash Builder and keep it from creating a swc called core.swc
2.    support for SMIL clipBegin and clipEnd tags for FMS dynamic streaming SMIL files added. Multi-player also modified to play a SMIL with clipBegin and clipEnd tags in a SMIL.
3.    Added support in OVPNetStream for flash media server’s “advance playback modes” which include fast forward, rewind,  slow motion fast forward, and slow motion rewind. All trick modes will not playback audio during execution.

New Akamai UI Component Set version 1.1
1.    Fully supported release of UI Components with a comprehensive set of AS documentation included with the library.
2.    Added new buttons to control bar component
a.    FastForward
b.    Rewind
c.    SlowMotionFastForward
d.    SlowMotionRewind
3.    Change the namespace of some of the packages in the lib

Samples added to this release ActionScript 3.0 samples and dashboard
1.    FMS TrickMode sample showing how to do fast forward, rewind, Slow motion forward and rewind.
2.    SubClip sample for FMS SBR passed directly to the netstream play method
3.    SubClip sample for FMS MBR with SMIL and clipBegin and clipEnd params set.
4.    Akamai Multi Player 100% width and height sample to show the resizing added last release in action.

OVP v2.1.5 for Adobe Flash Release

Hi Folks,

We’ve just released v2.1.5 of OVP for Flash. This release contains the following changes:
1. Bug fixes:

  • 3031920 - Added second condition on if statement for case “NetStream.Buffer.Full” in Class OvpDyanmicNetStream.
  • 3038469 - Added changes to AkamaiMultiPlayerExample.as to handler resize after embed
  • 3030746 - Auto-prefix for streamLength request - addPrefix call added to OvpConnection.
  • 2939712 - RTMP dynamic streaming bitrates can be locked out - added timer to clear the failcount property of DynamicStreamBitrate after max fails have been reached.
  • 2997253 - AdPlayer plugin doesn’t honor autostart - added autostart condition in playStartHandler method of AkamaiMediaPlayer in the IOvpPlayer implementation.
  • 3081220 - Akamai Multi-Player can switch out of fullscreen - added stage ref in model and condition to block resize event being dispatched from model if stage is in fullscreen mode.
  • 3039594 - fullscreen doesn’t continue properly w/ playlist - I take player out of fullscreen on playlist item switch for now. Not the best solution but is better than before.
  • 3010687 - OvpConnection connection arguments - connection args are now correctly passed to FMS

2. New ActionScript 3.0 samples and dashboard to replace all older OVP samples.

OVP v1.1 for HTML5 Released

Hi folks,

Hot on the heels of the 1.0 release of our newest framework, OVP for HTML5 <video>, comes the 1.1 version. We’ve focused on improving the usability and extensibility of the framework. This project provides a simple JavaScript library to accelerate the development of HTML5 <video> experiences using a “strategy” approach. Here is a summary of the features of the 1.1 release:

SILVERLIGHT!
- Now supports Microsoft Silverlight in addition to HTML5 <video> tags and Adobe Flash, completely rounding out support for rich media strategy.

More Plugin support
- Now supports passing plugins to the underlying players, allowing you to customize your overall experience regardless of player technology used.
- Support for swapping in an alternate controls class through the plugin model.
by request, we continue to make improvements in the plugin model. Lots of changes are in the works here for the next release so let us know what you’d like to see.

RSS Feed handling improvements
- renderFeed() Can now accept a feed object directly for those that need to get around Javascript’s sandboxing of feed URLs.

Stability enhancements
- Fixed a number of cases where certain browser conditions could cause a sub-optimal experience.

Unit tests and development improvements
- Added unit testing framework based on jquery’s QUnit framework.
- Changed development environment to be modular instead of monolothic
- Automated code generation, combination and minification using GNU Make (just type “make” on any *nix, OS X, or Windows [cygwin] environment.)

As always, check out our live example page at: http://openvideoplayer.sourceforge.net/html5video/

Download the source and examples: here.

As always if you have questions, feedback, and comments, please use our forums to let us know!

Hi folks,

The Open Video Player family of industry best practice video player projects continues to grow as we add our newest member, OVP for HTML5 <video>. This project provides a simple JavaScript library to accelerate the development of HTML5 <video> experiences using a “strategy” approach. Here is a summary of the features of this first release:

Intelligent player technology selection
- OVP for HTML5 <video> selects the right player technology based on browser/device capabilities AND the specific media type

Player technology “Strategy” approach
- Programmatically set the page “strategy” for preferred player technology selection (HTML5 <video> or Adobe Flash)

Standardized user interface across player technologies
- Use CSS/JavaScript for common interface controls across player technologies (HTML5 <video> or Adobe Flash)

Simple JavaScript programmatic interface

Use HTML5 <video> or JavaScript/<div>
- OVP for HTML5 <video> can “adopt” existing <video> tags or can be targetted to a <div>

Native mRSS Playlist support
- Display mRSS feed based playlists with a native UI control

Customizable player controls using CSS
- Create custom themes and modify the controls using standard CSS & Javascript

Uses industry standard jQuery
- Leverages non-collision instance of jQuery for DOM management & UI effects

Check out our live example page at: http://openvideoplayer.sourceforge.net/html5video/

Download the source and examples
here.

As always if you have questions, feedback, and comments, please use our forums to let us know!

New v1.0.0 release for iOS available

Hi folks,

The Open Video Player family of industry best practice video player projects continues to grow as we add our newest member, OVP for iOS Apps. This project provides Objective-C libraries to accelerate the development of video driven iOS applications for the Apple iPhone, iPad and iPod touch. Here is a summary of the features of this first release:

- Modular design using iPhone/iPad statically linked libraries
- Architected for ease of use and integration simplicity
- Extends standard player framework (OVPMediaPlayerController library contains the class by the same name), featuring a unified API across iPhone SDKs (providing backward compatibility support for newer SDK features in older OS application builds) for features such as: multi-clip/queued media and UI overlay support
- Comes with a fully functional demo application, OVPPreview, which demonstrates the ease of integration with the OVP libraries
- The OVPPreview app features playlist layout of RSS/Atom feeds, UI overlays in iPhone SDK 3.0-3.1.x and 3.2/4.0, and comes with the hooks to support advanced Akamai services such as Akamai Media Analytics.

Download the binaries and source here.

As always if you have questions, feedback, and comments, please use our forums to let us know!

- The OVP Team

OVP v2.3.0 for Microsoft Silverlight release

Hi folks,

A new version of OVP for Silverlight is now available! It has been a while since we have published a new build but we have been working hard on a number of important enhancements & features. Here is a summary of the new features available:

- In addition to the existing OVP plugin model, OVP for Silverlight 2.3 now also supports the Silverlight Media Framework v2.0 plugin model
        > IMediaPlugin (both live and adaptive), ILogWriterPlugin, IUIPlugin and IGenericPlugin
        > Uses MEF to load SMF plugins
        > Support for multiple SMF media plugins such as MediaElement, Smooth Streaming Media Element, etc. and ability to select appropriate media plugin based on type of media source

- Support for Smooth Streaming Media Element
        > Provides playback of both Live and VOD smooth/adaptive streams
        > Ability to start at live position or beginning of live stream        

- Support for both Silverlight 4 (using Visual Studio 2010) and Silverlight 3 (using Visual Studio 2008)

- Player overlay logs are now implemented as a SMF plugin

- Ability to control different log levels via initParams

 

These new features and many other items & bug fixes are available as part of this new release.

Download the binaries and source here

As always if you have questions, feedback, and comments, please use our forums to let us know!

- The OVP Team

OVP v2.1.4 for Adobe Flash Release

Hi Folks,

We’ve just released v2.1.4 of OVP for Flash. This release contains the following changes:

1. Bug fixes:
2971161 - in Core : OVPConnection breaks NetConnection.Connect.Rejected
2968552 - in VASTHandler plugin : OVP Flash player with VAST plugin does not track ads (Note this is a partial fix and therefore the bug is still open. The plugin was modified to support tracking events. Impression and click-through events are not yet supported.)

2. Core - OvpDynamicNetStream was modified to provide more accurate stream switching reporting. Specifically, the pendingItemArray was removed and instead the class uses a pendingIndex member variable to more accurately reflect the rendering index.

3. Core - Improvements to the MetricsProvider class courtesy of Brent Smith and Viacom:
a) Includes a new smooth start algorithm which is optional and can take in a cap number to help with rendition selection prior to the standard bandwidth averaging algorithm being ready.
b) New getters/setters for values initialized by constants.
c) Update function refactored: Framerate monitoring broken out and improved by using deltas rather than a timer. This is more accurate when the user’s CPU usage is high.

4. Akamai customers - there is an Akamai-internal release that accompanies this public open-source release . It contains a bridging library that allows Akamai’s HDNetwork for Adobe Flash to integrate with the OVP. If you are interested in deploying that code, contact your account manager and request the OVPHD libraries.

Thanks,
- The OVP Team

OVP v2.1.3 for Adobe Flash Released

Hi Folks,

We’ve just released v2.1.3 of OVP for Flash. This release contains the following changes:

1. Bug fixes:
2908751 - in Core : DfxpParser error parsing style tags
2899982 - in Akamai Multi-Player : tooltips appear behind video after fullscreen
2915075 - Akamai Multi-Player can have sizing issues w/ Flashvars
2927550 - in Core : AkamaiNetStream : the isLive member variable is overwritten by the super class
2910330 - in Core: AkamaiNetStream : live stream resume after dropping error

2. Core - IOvpPlugin.as modified, a new property was added called “ovpPlugInCoreVersion”. This new property allows a player to ask a plugin what version of OVP it was built with.

3. Core - OvpPlayerEvent.as modified, 2 new events were added: CONNECTION_CREATED, and NETSTREAM_CREATED allow a player to expose the OvpConnection and OvpNetStream objects, respectively to plugins. See the ASDocs or the OvpPlayerEvent.as source file for details.

4. MultiPlayer - modified to dispatch the two events mentioned above. Allows an analytics plugin, for example, direct access to the NetConnection and NetStream objects used by the player.

Thanks,
- The OVP Team

OVP 2.1.2 for Adobe Flash Released

Hi Folks,

We’ve just released v2.1.2 of OVP for Flash. This release contains the following changes:

1. MultiPlayer - In VideoController.as, removed stopPlaybackHandler() method, as it is not needed.
2. MultiPlayer - In VideoController.as, modified bossParsedHandler() to handle a null protocol return.
3. Core - Added org.openvideoplayer.version.OvpVersion class so we can more easily track the version of the code.
4. MultiPlayer - added version display to context menu.
5. In all FLA and FLEX examples, changed the referenced swc name to ovp_core.swc. This will allow us to more easily make releases without having to update each FLA and FLex project.
6. VAST plugin - fixed a problem where the ad volume was not getting set if the ad player was not loaded yet.

Thanks,

* The OVP Team