A Note on HTML5
June 21, 2016 by
When I wrote on the topic of HTML5 back in 2013, it was still in its infancy, and notably lacked support for DRM and other methods of content protection. We were still waiting on the development of Media Source Extensions (MSE) to support adaptive streaming and Encrypted Media Extensions (EME) to support the playback of protected content. Things have come a long way since then. The HTML5 specification was released in late 2014, and HTML5 video has seen significant movement. Here are my observations and conclusions about the state of HTML5 video in mid-2016.
MPEG-DASH, DRM, and Google
The release of the HTML5 specification officially introduced two areas of focus: Media Source Extensions and Encrypted Media Extensions. In short, EME provide DRM protection for the playback of live and on-demand streaming content and MSE enable that playback, all in the browser and again without the need for third-party plug-ins such as Adobe Flash or Microsoft Silverlight. Support specifically includes the HTTP adaptive streaming format MPEG-DASH and the Common Encryption Scheme (CENC), the latter of which defines standards for content encryption that allows decryption using multiple DRM platforms.
What's really significant here is the lead Google Chrome (the current market-leading web browser) has taken to enhance HTML5 video support. Google Chrome has support for MSE using MPEG-DASH, which includes the H.264 and VP8/VP9 (using WebM) codecs. Google Chrome also supports EME, which indirectly enables support for Google Widevine, a major DRM platform. Other web browsers are finally starting to follow in Google's footsteps. Many of the market-leading browsers now support MSE and EME on both the desktop and mobile devices.
The release of the HTML5 specification has increased the number of companies that provide HTML5 player applications. In addition to JW Player, these now include THEOplayer (OpenTelly), bitdash (bitmovin), dash.js, video.js, Google Shaka Player, and more. These player applications not only support the playback of live and on-demand adaptive bitrate streaming content, but many now also support advanced functionality, including captions, DVR, advertising, and even VR/360.
We all know that Apple's position on Adobe Flash has negatively affected the use and future of Flash for streaming content. Flash is also disappearing fast due to issues with browser security, performance, and more. There's evidence that HTML5 is affecting Flash, as well:
- Facebook moved from Adobe Flash to HTML5 in 2015.
- Google Chrome plans to start blocking all Flash content by the end of 2016 (though the top 10 websites will get an exemption).
- By 2017 Adobe Flash–based advertising formats will no longer be used at Google DoubleClick (a leading ad company) and Google AdWords. Additionally, as of June 30, 2016, existing customers will not be able to submit new ads using Flash.
Progress has been made with HTML5, but there is still much more needed. Many consider EME to be highly controversial because of their use of proprietary elements. DRM is per-browser and, although DRM providers are moving toward multi-DRM support, currently multiple DRM platforms are required to reach a broad audience with DRM-protected content.
With that said, some exciting things are expected to come in the near future. We're anticipating the HTML 5.1 specification to be released in 2017. And WebRTC, WebVTT, and WebSockets, separate but related HTML5 initiatives, are all gaining traction as streaming continues to evolve.
As before, it is important to note that Wowza Streaming Engine works seamlessly with HTML5 for both on-demand and live streaming content distribution:
- HTTP adaptive bitrate (ABR) streaming
- MPEG-DASH using compatible MSE browsers and HTML5 player applications
- Apple HLS using the Safari web browser and on iOS using the native player and apps
Wowza also partners with the leading video player application vendors to make it easy to play your HTML5-compatible video content.