Applied Technology: Migrating from Flash Player to an HTML5 Solution
_789_894_70_s.jpg)
The transition from a Flash player to HTML5 playout need not be complicated.
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...
Building Software Defined Infrastructure: Network Monitoring
IP networks are a fundamental building block for software defined infrastructure, so a solid technical understanding of network monitoring is essential when building dynamic microservice based systems.
Broadcast Standards: The Principles, Terminology & Structure Of Cloud Compute Based Systems
Here we outline the principles, advantages, and various deployment models for cloud compute infrastructure, along with the taxonomy of cloud compute service providers and the relevant regulatory frameworks.
Live Sports Production: Broadcast Controllers & Orchestration In Live Sports Systems
As production infrastructure, processing resources and the underlying networks required become ever more complex, powerful tools are required to plan, deploy and monitor.
Monitoring & Compliance In Broadcast: Monitoring The Media Supply Chain
Why monitoring the multi-format delivery ecosystem starts with a holistic approach to the entire media supply chain.
IP Monitoring & Diagnostics With Command Line Tools: Part 3 - Monitoring Your Remote Systems
Monitoring what is happening in a remote system depends on being able to ask for something to be checked and having the results reported back to you. There are many ways to do this. This article looks at some simple…