Making smooth HTML5-based video playback a reality with Media Source Extensions

Author(s) and publish date

Skip to 4 comments

Media Source Extensions pipeline model diagram

Last week, the HTML Media Extensions Working Group published a W3C Recommendation of Media Source Extensions™. It is the first specification reaching the status of Recommendation that stems from the series of W3C workshops held by the Web and TV Interest Group since 2010, and was one of the main outcomes of the Second W3C Web and TV workshop in particular.

Media Source Extensions fulfills a vital part of putting video on the Web; the API is the best option to guarantee a smooth user experience of media playback in fluctuating network conditions over a broad range of browsers and devices. As for other W3C Recommendations, the specification is provided under the W3C Royalty-Free (RF) licensing terms. The specification extends the HTML5 video capabilities by allowing JavaScript to generate media streams out of chunks and on the fly, and facilitates a variety of use cases like adaptive streaming which involves adjusting the quality of a media stream made available to a client depending upon their delivery bandwidth and CPU processing power to ensure continuous playback or to improve the experience. The open source reference implementation for the playback of MPEG-DASH content leverages the Media Source Extensions API (see the dash.js wiki).

Media Source Extensions is not only about facilitating adaptive streaming on the Web. Thanks to its design – based on a “low-level splicing and buffering model” – the door is open to other use-cases: time-shifting and video editing, and more innovative solutions such as 360° video players.

Flexible and powerful, Media Source Extensions is implemented by all major browsers and provides commercial quality IP streaming for Web applications, across different platforms and between unrelated companies. It is under the hood of today’s main video platforms and content providers, e.g. Netflix and Youtube, and is supported by main video players like JW Player.

Related RSS feed

Comments (4)

Comments for this post are closed.