Playback technology ("tech")

Playback Technology refers to the specific browser or plugin technology used to play the video or audio.

  • azureHtml5JS: utilizes MSE and EME standards in conjunction with the video element for plugin-less based playback of DASH content with support for AES-128 bit envelope encrypted content or DRM common encrypted content (via PlayReady and Widevine when the browser supports it) from Azure Media Services
  • flashSS: utilizes flash player technology to play back Smooth content with support for AES-128 bit envelope decryption from Azure Media Services - requires Flash version of 11.4 or higher
  • html5FairPlayHLS: utilizes Safari (on Mac or iOS only) specific in browser-based playback technology via HLS with the video element. This tech is requires to play back FairPlay protected content from Azure Media Services and was added to the techOrder as of 10/19/16
  • SilverlightSS: utilizes Silverlight technology to play back Smooth content with support for PlayReady protected content from Azure Media Services.
  • html5: utilizes in browser-based playback technology with the video element. When on an Apple iOS or Android device, this tech allows playback of HLS streams with some basic support for AES-128 bit envelope encryption or DRM content (via FairPlay when the browser supports it).

Tech Order

In order to ensure that your asset is playable on a wide variety of devices, the following tech order is recommended and is the default if: techOrder: ["azureHtml5JS", "flashSS", "html5FairPlayHLS","silverlightSS", "html5"] and can be set directly on the <video> or programatically in the options:

<video data-setup='{"techOrder": ["azureHtml5JS", "flashSS", "html5FairPlayHLS", "silverlightSS", "html5"]}

or

    amp("vid1", {
          techOrder: ["azureHtml5JS", "flashSS", "html5FairPlayHLS", "silverlightSS", "html5"]
    });

Compatibility Matrix

Given the recommended tech order with streaming content from Azure Media Services, the following compatibility playback matrix is expected

Browser OS Expected Tech (Clear) Expected Tech (AES) Expected Tech (DRM)
EdgeIE 11 Windows 10, Windows 8.1, Windows Phone 101 azureHtml5JS azureHtml5JS azureHtml5JS (PlayReady)
IE 11 Windows 7, Windows Vista1 flashSS flashSS SilverlightSS (PlayReady)
IE 11 Windows Phone 8.1 azureHtml5JS azureHtml5JS not supported
Edge Xbox One1 (Nov 2015 update) azureHtml5JS azureHtml5JS not supported
Chrome 37+ Windows 10, Windows 8.1, macOS X Yosemite1 azureHtml5JS azureHtml5JS azureHtml5JS (Widevine)
Firefox 47+ Windows 10, Windows 8.1, macOS X Yosemite+1 azureHtml5JS azureHtml5JS azureHtml5JS (Widevine)
Firefox 42-46 Windows 10, Windows 8.1, macOS X Yosemite+1 azureHtml5JS azureHtml5JS SilverlightSS (PlayReady)
Firefox 35-41 Windows 10, Windows 8.1 flashSS flashSS SilverlightSS (PlayReady)
Safari iOS 6+ html5 html5 (no token)3 not supported
Safari 8+ OS X Yosemite+ azureHtml5JS azureHtml5JS html5FairPlayHLS (FairPlay)
Safari 6 OS X Mountain Lion1 flashSS flashSS SilverlightSS (PlayReady)
Chrome 37+ Android 4.4.4+2 azureHtml5JS azureHtml5JS azureHtml5JS (Widevine)
Chrome 37+ Android 4.02 html5 html5 (no token)3 not supported
Firefox 42+ Android 5.0+2 azureHtml5JS azureHtml5JS not supported
IE 8, IE 9, IE 10 Windows not supported not supported not supported

1 Configuration not supported or tested; listed as reference for completion.

2 Successful playback on Android devices requires a combination of device capabilities, graphics support, codec rendering, OS support and more. Since Android is an open-source platform that allows phone manufacturers to change the Vanilla Android OS provided by Google, this cause some fragmentation in the Android space, and some devices may not be supported because of lack of features. Also, some Android devices do not have support for all codecs.

3 In the cases where there is no support for token, a proxy can be used to add this functionality. Check out this blog to learn more about this solution.

Note

If the expected tech chosen requires a plugin be installed, like Flash, and that is not installed on the user's machine, AMP will continue to check the capabilities of the next tech, in conjunction with source types and protection info, in the tech list. For example, if attempting to view an unprotected on-demand stream in Safari 8 on OS X Yosemite, and both Flash and Silverlight are not installed, AMP will select the native Html5 tech for playback.

New browser technologies are emerging daily, and as such could affect this matrix.