Applied Technology: Migrating from Flash Player to an HTML5 Solution

The problem with Flash Player is that it is insecure. Mozilla even disabled it for a couple of days in July due to vulnerabilities. The solution is to move to an HTML5-based playout. The transition need not be complex.

The problem with Flash Player is that it is insecure (Mozilla even disabled it for a couple of days in July due to vulnerabilities), but also a resource-hog with an uncertain future. Not only did Google roll out a fix "intelligently" blocking auto-playing Flash elements in Chrome by default, but Facebook’s new chief security officer Alex Stamos called for Adobe to "announce an end-of-life date for Flash" after the July security issue.

Still, many streaming services rely on Flash because it is generally considered that migrating towards HTML5 playback invariably involves adopting MPEG-DASH (Dynamic Adaptive Streaming over HTTP, a non-proprietary standard growing in popularity). And since adopting DASH would often require significant changes in current setups (e.g. encoding, player), many are hesitant in making this move. Not to mention that MPEG-DASH is in some danger of losing momentum due to MPEG LA’s patent pool, which indicates that adopters may need to pay future royalties.

What many are not aware of is that if you have HLS (HTTP Live Streaming, a popular adaptive streaming protocol developed by Apple) streams you are already fully equipped to go HTML5 and quit Flash. How? By making use of native plugin-free HLS playback in HTML5. The best thing is that this innovative implementation is viable through the of use currently existing and tested modern software technology (HTML5/MSE), not through hacks and patches. Currently, all modern browsers support MSE (Media Source Extensions), which is the only requirement for native HLS playback in HTML5.

One production-quality solution offering this functionality is Viblast Player. Being a player engine rather than a fully-fledged player (no UI/UX components), Viblast Player can easily extend existing players’ features with HTML5 HLS playback, thus keeping viewer experience unchanged. Viblast Player is pluggable into the most popular solutions in use today: JW Player, Flowplayer, video.js and custom-built HTML5-based players.

This viable solution is relatively little known as it was not possible until MSE became widely adopted. MSE is a W3C specification that allows JavaScript to generate media streams for playback, which enables such things as adaptive media streaming, live streaming and splicing videos, for example. What HLS-capable HTML5 players do via MSE is download audio and video content, change the container format, making it suitable for MSE, and feed it into the video tag or into another player for playback.

A few words on browser support. All modern browsers but Firefox currently support MSE. However, if you start your migration to HTML5 via HLS now, you will be ready for production by November 3(with plenty of time to spare). This is Mozilla’s official date for including universal MSE support in Firefox. The beta version of the release in question, Firefox 42, has this functionality working already. After Firefox’s long-awaited update in November, HLS will be playable natively in over 90 percent of the world’s browsers - with the only exception of Internet Explorer <11 and IE users on Windows <8.

HTML5 playback is undoubtedly going to replace Flash Player, and MPEG-DASH is likely to become the standard that will facilitate this change. However, until streaming services are ready to make the jump to MPEG-DASH, they need not be tied down to Flash and all its shortcomings. Making use of the widely-used HLS format, they can enter the HTML5 era without having to change more than a few lines of code.

Switching from Flash to HTML5 playback is really just a step away.

You might also like...

Designing IP Broadcast Systems - The Book

Designing IP Broadcast Systems is another massive body of research driven work - with over 27,000 words in 18 articles, in a free 84 page eBook. It provides extensive insight into the technology and engineering methodology required to create practical IP based broadcast…

Demands On Production With HDR & WCG

The adoption of HDR requires adjustments in workflow that place different requirements on both people and technology, especially when multiple formats are required simultaneously.

If It Ain’t Broke Still Fix It: Part 2 - Security

The old broadcasting adage: ‘if it ain’t broke don’t fix it’ is no longer relevant and potentially highly dangerous, especially when we consider the security implications of not updating software and operating systems.

Standards: Part 21 - The MPEG, AES & Other Containers

Here we discuss how raw essence data needs to be serialized so it can be stored in media container files. We also describe the various media container file formats and their evolution.

NDI For Broadcast: Part 3 – Bridging The Gap

This third and for now, final part of our mini-series exploring NDI and its place in broadcast infrastructure moves on to a trio of tools released with NDI 5.0 which are all aimed at facilitating remote and collaborative workflows; NDI Audio,…