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...

Live Sports Production: Part 1 - New Sports Production Workflows

Welcome to Part 1 of ‘Live Sports Production’ - This new multi-part series uses a round table style format to explore the technology of live sports production with some of the industry’s leading system designers. It is a fascinating insight i…

Building Software Defined Infrastructure: Virtualization Vs Microservices

How virtualization and microservices differ, and workflows where virtualization and microservices would be used or avoided in terms of reliability, flexibility and security.

IP Security For Broadcasters: Part 8 - RADIUS Network Access

Maintaining controlled access is critical for any secure network, especially when working with high-value media in broadcast environments.

Standards: Part 25 - Designing Client-Side Video Players

Here we chart the historical development of client-side video players, describe the building blocks used to create them and the relevant standards.

Microphones: Part 5 - The Variable Directivity Microphone

The variable directivity microphone is very popular for studio work. What goes on inside is very clever and not widely appreciated.