Adobe Flash got its start in the 90s as a technology that assists in the display and interactivity of rich audio and video. Quickly, it became a critical component of many websites for web-based games and videos. However, as the internet evolved, competing technologies and standards emerged and began to supplant Flash.
When Apple famously omitted all support for Flash in iOS (making it completely unavailable on their iPhones and iPads), many began to declare Flash’s imminent death.
Even so, due to its broad popularity, many web applications still rely on Flash as a rich media delivery mechanism. However, as HTML has evolved into HTML5, many browsers now provide their own support for video and audio playback, eliminating the dependence on external mechanisms (including Flash).
Concurrently, standards for delivering live video to viewers (e.g. HLS and MPEG-Dash) are being supported by more and more devices, operating systems, and browsers. Today, videos from many sites can be viewed without using Flash at all.
Still, Flash survives. With all of these tech developments, why would anyone still need to use it?
The answer lies in the fact that browser support for specific video and audio features is still a dog’s breakfast. Almost all recent browsers include support for HTML5 and the <video> tag, but the support for different kinds of container formats (e.g. mp4, webm, flv, mp2t, etc.), codecs (e.g. h.264, VP8, Vorbis, etc.), and delivery mechanisms (e.g. progressive download, HLS, MPEG-Dash) vary widely. In cases where required features are not supported, something has to fill the gap, and Flash is still the de facto gap-filler.
Consider the case of providing live and on-demand video with an adaptive bitrate to viewers. The most supported audio and video codecs are AAC and h.264, respectively; these are required by Apple and supported by all major desktop and mobile browsers. For on-demand video, the mp4 container format is well-supported, but isn’t suitable for either adaptive bitrate playback or for live video, leaving only HLS and MPEG-Dash. Of those two, HLS is still the best-supported delivery mechanism.
So, for streaming h.264/AAC over HLS, which browsers provide native support? Here is a chart (source) showing native, in-browser (i.e. without Flash) support for HLS:
What does this mean? In short, it means that unless your browser supports your streaming provider’s chosen set of codecs, container formats and delivery mechanisms, Flash will still be necessary for watching live video on the Internet.
So what’s a fan of live video to do?
If you absolutely must avoid Flash, you’ll have to choose a browser that provides a native implementation that works with your streaming provider (for most people, that means either Safari on Mac, or a mobile browser).
If you can live with Flash, then keep it up-to-date to ensure mitigation of any vulnerabilities.
If you want to avoid the hassle of updating Flash, you can use Google Chrome, which comes bundled with a pre-tested version of Flash.
Petition your favorite browser’s development community to encourage the support of more live video formats and delivery mechanisms.