The Kaltura HTML5 team has been hard at work on a major update to Kaltura’s HTML5. The HTML5 1.7 release brings many new features, enhancements, bug fixes, more robust device support and massive performance enhancements. Built with laser focus on the shifting platform ecosystem, the library is trail blazing both desktop and mobile HTML5 (many industry players only support mobile html5). To help readers digest this massive update, this blog post is broken into three sections; Performance, Embedding and Features.
To help integrators navigate the massive feature set, we have created a feature hub where you can browser detailed technical documentation for every front end feature.
Best in Class Performance
A recent study showed that web viewers started dropping off if video does not start to play in 2 seconds or less, performance is as important as ever for retaining viewer engagement.
For the 1.7 library we have rewritten the resource loading architecture from the ground up to optimize its performance. 1.7 is roughly 2.5 times faster than the Kaltura html5 1.6 series in load to play callback times. In this release we also attempted to compare directly with other industry offerings. Direct comparisons are difficult, and few other OVP’s are offering full featured html5 player experiences for desktop browsers. For example, with brightcove and ooyala’s default players you get an install flash message for desktop html5 browsers.
All the test files used in this comparison are publicly accessible, for the ooyala, brightcove, and kaltura single players. Numbers reflect starting the clock before the first video platform resource is included, and stooping the clock at the moment we have positive playhead playback time. Readers are encouraged to test it for themselves.
As you can see the base player performance is more or less consistent around a 1 second each.
Network congestion can also create variable results. The performance engineering in this release focused on real world pages contexts where there are many competing resources being loaded or blocking player build out.
Finally, we also worked on optimizing loading of more complicated widgets like playlists. Because of the resource loading architecture in 1.7, a full featured playlist is able to load the nearly the same amount of time as a single player. ( 1142ms in this disabled cache first load ). I was not able to make direct comparisons here, since the ooyala and brightcove playlist players did not automatically translate to html5.
The 1.7 library features new embed mechanisms for a variety of use cases. We will be exposing these enhanced embedding tools within the management console soon.
- Auto embed: This concise embed code is good for getting very high performance players or widgets onto a page. Its best for sites where SEO is already covered by other data in the page.
- Dynamic Embed, A more flexible embed call that lets you easily change run-time parameters, set up custom callbacks, and target a given DOM element in a page. The embed will inherit CSS classes and attributes of your DOM targets for robust Responsive Web Design support (sample page) . Kaltura also provides some basic SEO friendly HTML, which can be customized per your needs.
- Other options:
Improved Android Support. We made significant efforts to improve the libraries support on android devices. Beyond simple playback we also test features such as VAST ad delivery on many android devices. We have created the Kaltura Android fragmentation support document, to help users navigate the android ecosystem and what to expect on various android devices.
- Support for IE10 / windows 8 html5 and flash. See Kaltura and IE10 doc.
- Improved flavor selection, human readable bitrates, support for preferred flavour and flavor switching with html5
- Improved layout system supporting complex re-size bindings, such as resizable playlists
- kBind and kUbind — simplify the addJsListener and removeJSListener support with local function passing and namespaced binding removals.
- Added support for “live to mobile”, for live HLS broadcasts to iOS devices.
- Support for Akamai Media Analytics
- Support for custom locale messages, and uiConf player localization.
- And many more, see full Release Notes for more details.