Web browser media experiences have advanced significantly in recent years, from the first releases of HTML5 media, through the subsequent additions of Media Source Extensions for adaptive streaming and Encrypted Media Extensions for content protection. And formats have been similarly advanced by the development of MPEG DASH and Common Encryption (CENC). These important specifications offered the potential for interoperable, plug-in free web video. We referred to the resulting experience as Professional Quality Video when we first shipped support for these specs in Internet Explorer 11 on Windows 8.1.
Advancement in media experiences continues in Windows 10 and Microsoft Edge. Today, we are announcing that Microsoft Edge includes HTML5, MSE and EME support for a new audio format: Dolby Audio™. It allows websites to match the compelling visuals of H.264 video with equally compelling multi-channel audio. It works well with AVC/H.264 video and also with our previously announced HLS and MPEG DASH Type 1 streaming features, which both support integrated playback of an HLS or DASH manifest.
High Performance Media Experiences
We added Dolby Audio to Microsoft Edge so that web apps and sites can deliver the richest and most compelling media experiences with Windows 10. In particular, we wanted Microsoft Edge to support the most demanding requirements from media websites. Supporting Dolby Audio fits with this goal.
Dolby Audio
Dolby Audio supports the multi-channel Dolby Digital Plus™ audio format that provides crisp, clear audio in a broad range of channel configurations. Microsoft Edge is the first browser to include support for Dolby Digital Plus. Websites will now be able to selectively support Dolby Audio as a premium sound experience, and use HTML5, MSE and EME capability checks to fall back to other supported formats on browsers other than Microsoft Edge.
Windows 10 includes support for the Dolby Digital Plus Portable Mode, which is a dynamic range control setting that is optimized for playback over built-in speakers and headphones. Dolby content will play back louder and clearer with a dynamic range more appropriate for portable devices. This improves the experience from Windows 8 where content could occasionally render softly over built-in speakers and headphones, and the advantages will apply equally to websites running in Microsoft Edge.
Dolby Audio is compatible with current DASH (MP4) and HLS (M2TS) file formats, and so can be included with progressive download HTML5 content, adaptive streaming HLS or MSE/EME MP4 content.
Usage Guidance
There are two adaptive streaming approaches for websites to take advantage of these new formats:
- Use either DASH Type 1 streaming (where the DASH manifest (.mpd) or HLS manifest (.m3u8) is set as the src for an HTML 5 media element). Using our DASH Type 1 implementation, it’s important to use the DASH live profile with MPD Type=”static”.
- Build a custom adaptive streaming solution using MSE APIs directly. This is more work, but provides the most control over streaming details.
Both the DASH Type 1 and full custom MSE approaches may be combined with Encrypted Media Extensions apply DRM protection. In Microsoft Edge, this would require supporting PlayReady DRM.
Capabilities
Dolby Audio offers superior performance, but isn’t currently supported by other browsers. Websites that use it should feature detect on the format and be prepared to stream alternative audio formats on systems that don’t support Dolby Audio. Javascript examples to check for format support are listed below.
For HTML5:
- Dolby EC-3: test =
myvideo.canPlayType(
‘audio/mp4; codecs=”ec-3″‘); - Dolby AC-3: test =
myvideo.canPlayType(
‘audio/mp4; codecs=”ac-3″‘); - 264(AVC1): test =
myvideo.canPlayType(
‘video/mp4; codecs=”avc1.42E01E”‘); - 264(AVC3): test =
myvideo.canPlayType(
‘video/mp4; codecs=”avc3”’);
For MSE:
- Dolby EC-3: test =
MediaSource.isTypeSupported (
‘audio/mp4; codecs=”ec-3″‘); - Dolby AC-3: test =
MediaSource.isTypeSupported (
‘audio/mp4; codecs=”ac-3″‘); - 264(AVC1): test =
MediaSource.isTypeSupported (
‘video/mp4; codecs=”avc1.42E01E”‘); - 264(AVC3): test =
MediaSource.isTypeSupported (
‘video/mp4; codecs=”avc3″‘);
For EME:
- Dolby EC-3: test =
MSMediaKeys.isTypeSupported (
‘com.microsoft.playready’, ‘audio/mp4; codecs=”ec-3″‘); - Dolby AC-3: test =
MSMediaKeys.isTypeSupported (
‘com.microsoft.playready’, ‘audio/mp4; codecs=”ac-3″‘); - 264(AVC1): test =
MSMediaKeys.isTypeSupported (
‘com.microsoft.playready’, ‘video/mp4; codecs=”avc1.42E01E”‘); - 264(AVC3): test =
MSMediaKeys.isTypeSupported (
‘com.microsoft.playready’, ‘video/mp4; codecs=”avc3″‘);
Dolby Audio Experience Demo
Dolby has created a Dolby Audio Experience demo using WebGL to provide an interactive environment where users can explore and play content on a variety of media devices (a media PC, desktop, laptop and tablet). Each device demonstrates Dolby Audio with a different streaming video, either MPEG DASH H.264 or HLS. The demo currently requires Microsoft Edge, since it is the first browser to include native support for Dolby Audio.
Conclusion
The addition of Dolby Audio to Microsoft Edge is intended to open new opportunities for website media experiences. It is supported only in Microsoft Edge now, but fallback strategies are possible that allow sites to provide the highest quality media experience when supported.
We look forward to your feedback, and hope to see websites using Dolby Audio soon!
– Jerry Smith, Senior Program Manager, Microsoft Edge