October 10, 2022

HEVC support in Chrome

Bitmovin has recently pointed out that Google Quietly Added HEVC Support in Chrome. Also, Jan Ozer made an analysis of current state of HEVC support. This means that it should be able to process HEVC live and VOD content via MPEG-DASH and HLS. So our team has run tests on all available devices to make sure it work as the expected.

We found the following conditions work fine for HEVC playback in Chrome:

  • You have the latest Chrome browser (at least version 107)
  • Your device has hardware decoding of HEVC

The latter point proved to be important as not all devices has built-in decoding capabilities for HEVC.

With the above conditions met, we could play HEVC on Windows, Linux, Mac, Android and iOS.

Re-package with Nimble Streamer

On Nimble Streamer side we've added HEVC support a long time ago so. You can do various processing and delivery combinations.

For HEVC VOD content file you can simply perform on-the-fly re-packaging into VOD MPEG-DASH and into fMP4 VOD HLS. Notice that fMP4 container in preferred for HLS HEVC playback.

For live streams, you can take streams via any incoming protocols which support HEVC, those are RTSPMPEG-TSSRTRIST from any source. You may also send HEVC via RTMP as non-standard feature. If you use Nimble Streamer to receive input from WebRTC source with WHIP signalling you can send WebRTC with HEVC from Apple devices.

As an output you have MPEG-DASH and fMP4 protocols:

Encode with Nimble Live Transcoder

If your live source provides the content encoded with other supported codecs, you can transcode it with Nimble Live Transcoder, a premium add-on for Nimble.

From Live Transcoder perspective, HEVC is just another codec to provide as output. Currently HEVC can be encoded with the following libraries:

Having the content encoded with HEVC codec, you can deliver it to Chrome with MPEG-DASH and fMP4 HLS protocols as described in re-packaging section above.

Take a look at Nimble Streamer HEVC support digest page for other details.