In a broad sense, delivering video content over HTML5 is what many broadcasters strive for. A quick search engine query can back that up there is an assumption that HTML5 equates to being able to reach mobiles. This is at the base of the conversation, and most often stemming from Flash being incompatible over most mobile devices, but the answer is notably more complex.
This article talks about a recent shift at Ustream that adds HTML5 video player support on almost any device, not just mobiles. It then covers why this is the right choice through looking at the current landscape of HTML5 video and Flash on browsers.
Expanding HTML5 Playback At Ustream
This month, October of 2016, Ustream introduced expanded support for HTML5. This includes delivery at the desktop level, with the exception of those using 608 and 708 captions.
Through adding desktop support, video content over Ustream now has three ways that the content can render on the viewer’s side.
- HTML5 HLS: For mobiles and tablets, they will continue to receive streams in HLS as they have before.
- HTML5 MSE: For desktops using compatible browsers, they will receive an HTML5 based solution using mp4 chunks for delivery.
- Flash: For desktops that aren’t using compatible browsers, they will a Flash based solution using FLV chunks.
Regardless of which way the content is being rendered, the same UI (user interface) and feature set is available.
In order to playback HTML5 content, it requires that the video content be broadcasted with H.264 as the video codec and AAC as the audio codec. As part of this update, Ustream is expanding its adaptive streaming offering with more options, each of which is automatically transcoded with H.264 and AAC (read more on adaptive streaming at Ustream). So even if the source is not using the required codecs, the transcoded bitrates will and these will be used as a source for viewers using the new HTML5 player.
If a content owner wants to disable this feature, using the Flash player, this can be done under Player Settings for that channel by not enabling “HTML video playback”.
On the viewer’s side for desktops, it requires that the browser support HTML5 video and MSE. A few elements go into if a viewer can watch an HTML5 stream or if they will be served a Flash version. For a quick and constantly updated resource, this article will detect the active browser and if it’s compatible while also giving a quick list of supported browsers.
For a more complete story, read on for more details.
Note: This update does require a change to legacy embed codes in order to continue compatibility for fullscreen features. Check here for details on updating.
HTML5 Video Compatibility
All major desktop browsers support HTML5 video, in particular with support for the <video> tag. The browser version that brought that compatibility ranges a bit, here are the versions where HTML5 video first became supported:
Support for HTML5 video is only part of the picture. In reality there are codecs involved in delivering that media content on both the video and audio side. One of the most popular video codecs is H.264, aka AVC, which is a codec defined in the MPEG-4 specification. Its popularity is due partially on its ability to produce what is often considered “better quality video” in contrast to other codecs like VP6, but also largely due to support from the iPhone early on.
Due to Apple and Microsoft being apart of MPEG LA group, which owns the patent on H.264, their browsers were early supporters. Below is a list of the first desktop browser versions that included support for H.264:
The big caveat to this list is Firefox, as noted with an asterix, as it depends on the OS that the browser is working on. Support for Windows was added with version 21.0, which requires Windows 7 or later. Support for Linux was added with version 26.0, which requires the appropriate gstreamer plug-ins to be installed. Mac was the last to get H.264 support through Firefox with version 35.0, which requires Mac OS X Snow Leopard (10.6) or later.
An individual list of browser support for H.264 is available here. This goes all the way to listing gaming console support. For example, the Nintendo Wii does not support H.264 through its Opera browser, but the Nintendo Wii U through its NetFront NX browser does.
H.264 Browser Penetration
With the exception of Opera and Firefox, H.264 has been available in most desktop browsers for the better half of a decade. Looking at a global view, across a multitude of devices and not just desktop, it is projected that at this time 91.09% of browser usage is done from those that support H.264.
The biggest hold outs, in terms of current market share, are Internet Explorer 8 (0.84% market share) and Opera Mini (4.73% market share). The latter is popular on devices like Blackberry, leading to its continued high use in contrast to other solutions that support H.264.
Unfortunately, MSE is where browser support starts to get a little dicey at current market shares. Below is a chart for when each browser introduced support for MSE:
The asterix here is on Internet Explorer 11, which only works in Windows 8.1 and above and is not supported on Windows 7.
MSE Browser Penetration
In contrast to support for HTML5 video or H.264, MSE is a much more recent phenomenon. The only major desktop browser to have supported MSE before H.264 is Opera. Many browsers, in particular Firefox, have only recently started to support this specification.
Taken as a ratio of market share, it’s projected that 67.35% of all browser usage supports MSE as of today. 6.07% of this, though, belongs to Internet Explorer 11, which requires being used on Windows 8.1 and above.
The plus side to this statistic is that many of those that don’t support MSE are mobile based browsers, like those found on iOS which thankfully has a fallback of Apple’s custom HLS streaming protocols. This changes the conversation, in context of streaming with Ustream, to just the desktop browsers. Of those, the pain points are Internet Explorer 8, Internet Explorer 9 and Internet Explorer 10. For February of 2016, those browsers accounted for 16.46% of the total browser usage market for desktops.
The Case for Flash as a Fallback
16.46% of all desktops is not a small percentage. While that number continues to decline, it’s too large of a potential audience size for broadcasters to ignore. Consequently, it makes sense to continue to support Flash as a fallback solution for instances where a part of the HTML5 chain (be it MSE or another component) is not supported.
So in supporting legacy browsers, the logical choice is to utilize a technology which has been around long enough to be supported by them. In that context, it’s hard to find something more appropriate than Flash. The technology is already compatible with popular codecs as well, such as support for H.264 which was added after Adobe purchased the Flash technology from Macromedia.
The Controversy With Flash
For a long time, Flash technology was the standard for video delivery. That conversation has changed of late where some find it to be a less than desirable solution due to controversy surrounding it. To that point, it’s hard to pinpoint an exact date that Flash became controversial. The most famous incident is in relation to Steve Jobs and the iPhone, which blocked access to Flash technology on those devices. This came with it an open letter in 2010 from Jobs, which attacked several areas that included security and performance and how the latter would affect the battery life of a mobile device.
The letter and decision began to open a growing divide between supporters and critics of the technology. It took almost half a decade later, though, for the technology to suffer a huge, public facing blow in the form of a critical vulnerability, discussed in an open Adobe bulletin from July 10th of 2015. The vulnerability, which allowed an attacker to take control of the affected system, was patched four days after Adobe made its open statement.
Unfortunately, the incident left a real scar with rather large ramifications for the future of the technology. While critics will be quick to point out that other Flash exploits have been discovered in the past, rarely have they gained the mass attention from the media that the July exploit garnered. The issue became so hot that Mozilla Firefox temporarily blocked Flash by default.
Residual Impact on Flash
The lasting impact to Flash is a browser ecosystem in which not all viewers are likely to have a method to view Flash content. Unfortunately, finding Flash statistics are tricky. Adobe’s marketing department used to regularly publish reports touting it. The last such report was in 2011, claiming a 99% penetration rate for desktops while they were projecting about 65% market share by this time in the mobile space, a statistic that is likely far from the mark due to neither iPhone or Android supporting the technology now.
It’s hard to say where either statistic is now, although it’s generally assumed that mobile viewers have to have a non-Flash version of video content for viewing.
Even those that have Flash installed doesn’t mean they are guaranteed to be able to watch Flash content, though. Many browsers, such as Safari, have blocked versions of Flash surrounding the incidents in mid 2015. However, some browsers have taken it a step further like Firefox. Mozilla’s browser is, in fact, actively banning versions of Flash. As of this writing, they have banned at least one version of Flash every month since the exploit in July, with the exception of August and November. So even if a user has Flash, their browser might block it if they aren’t actively updating it. Here is a current list of plugins blocked by Firefox.
There is also the long standing issue of Flash being blocked on a network, be it by a corporate or school entity. Flash had long been the poster child for online games, and was blocked by many for this reason. The added security concerns during the July incident, however, gave yet another reason for entities to block it. This all leads up to Google announcing that Chrome, starting with Chrome 53, will begin to de-emphasize Flash content as it slowly marches toward blocking it in some instances in future updates.
One of the casualties of the Flash controversy was playback on Twitter. Video content on the social network has been a popular application, but the popular network cracked down on the type of content that could be played there. This includes mandating HTTPS URLs for the iframe embed codes, which Ustream supports, but also mandating that content must not require a plugin for playback. This includes Adobe Flash, which they reference by name on their developer site.
So the move away from Flash opens up being able to deliver video content, both live and on demand, directly on Twitter again.
Current State Of Video Streaming
Streaming is being pulled in two different directions due to events in the past few years. The tried and true approach used to be: Flash on desktops, HTML5 based solutions for mobiles. This offered maximum compatibility.
That conversation has changed due to browsers now actively blocking older versions of Flash; consequently, so has the solution changed, with a better approach being to utilize HTML5 methods first on desktops and fall back to Flash if this is not supported. This is an approach with longevity, as HTML5 video is all but guaranteed to increase in support in the near term while evidence points toward Flash having a bumpier road ahead.
Ustream is happy to release its new HTML5 video player, opening more opportunities for seamless playback to viewers. As demonstrated, the circumstances where a viewer will not have access to Flash will increase only time, and this update looks to address this on the desktop side of the equation. However, due to slow adoption cycles, there is liable to be a small but important segment of the market that will continue to use this technology. Consequently, Ustream continues to utilize methods to fallback to Flash based players to service these users.
Interested in checking out the new HTML5 video player for yourself? Request a demo of Pro Broadcasting to unlock an end-to-end solution for engaging virtually any audience with streaming video.