HTML5 Gravy Train; All over your Kaltura Players

by Michael Dale

Late last year the Kaltura HTML5 library switched from a quarterly release cycle with massive updates to more regular releases. We accomplished this transition by increasing efforts in automated testing, building a more modular framework for adding features, and making use of git branches. This has enabled us to have a much quicker turn around on bugs and new features. In this blog post I highlight some of the features we have added over the past few months and how they enable Kaltura players to stay in sync and benefit from the rapidly evolving HTML5 platform.

To help stay on-top of all the new features and bug fixes we have created a Release Notes page that tracks every feature, as it gets tagged, goes through QA and makes its way to production.

  • True HTML5 Fullscreen, With the release of Firefox 10, Firefox has joined chrome and safari in supporting a native fullscreen api. Kaltura’s rapid release cycle we can now enable true HTML5 fullscreen across the massive Kaltura player base. The latest release of Chrome, Firefox, and desktop Safair, can all play kaltura HTML5 video in fullscreen. Microsoft IE9, iPad iOS are continued to be supported by pseudo in-browser-window fullscreen. You can give a try on any kaltura player
  • DoubleClick IMA3 plugin. Double Click has done a massive update to their DFP library and the kaltura html5 library has been updated to take advantage of this new api. 

  • kWidget.embed, unifies dynamic and in-page embed calls in a single api method across flash and html5.  This will the basis of future unified embed code provided by the KMC. The main benefit is faster html5 performance since with kWidget embed won’t need to wait for DOM ready before rendering the html5 player.
  • On Page Plugins, kWidget.embed also gives us an opportunity to load any onPage javascript plugins before we inject the flash ( or html5 ) player into the page. This improves stability of flash javascript bindings and reduces race condition binding errors which we see with present flash onPage integrations. And finally kWidget offers several convenience functions making the onPage javascript api more scalable for use with multiple onPage plugins and javascript libraries. Features like anonymous ready function binding ( instead of a single global jsReadyCallback ) and binding namespaces with anonymous function listeners, all greatly improve the flexibility for writing scalable on page javascript services.
  • Use HTML5 first ( when available ) LeadWithHTML5 flag now supports for leading with html5. This enables you to use html5 on all browsers that have support for html5 while falling back to flash for browsers such as IE8.
  • Directly grab sources an simple stand alone example for grabbing media sources to work with other players or in native players.
  • Native iOS app display inline support. This enabled in-app usage of the html5 library to work better on iPhones. This may really be a gravy train for app developers that want to monetize in-app html5 video with the full set of ad plugins used across desktop flash and html5 experiences in the Kaltura platform.
  • Support for playing images, This was a long standing feature gap between flash and html5, it was complex to add because of the event playback model for iPad. In iOS you can’t trigger video playback with javascript unless a user “clicked” in the page, so image support for html5 was complicated because it has to support proxying the initial click to capture the “play” request even if you lead with “playing” a bumper image. So now that we proxy play requests to a background video tag with an empty black video, once the image is done “playing” javascript can continue with content video playback.

5 Responses to “HTML5 Gravy Train; All over your Kaltura Players”

  1. Is there any chance of seeing these great new features added to the WordPress kaltura-all-in-one plugin anytime soon?

  2. Trackbacks

Leave a Reply