v136 ยท multimedia

H26x Codec support updates for MediaRecorder

Chromium's MediaRecorder API now supports HEVC encoding, introducing the hvc1.* codec string, and adds new codecs (hev1.* and avc3.*) supporting variable resolution video in MP4. Support for HEVC platform encoding was added in WebCodecs in Chromium M130. As a follow-up, support has been added to the MediaRecorder API in Chromium. The API now supports both

concepts

  1. MediaRecorder HEVC

    MediaRecorder picks up H.265/HEVC + extra H.264 profiles. Lets sites record locally in the codec the device's hardware encoder produces fastest.

  2. Variable resolution recording

    The reason hev1.* and avc3.* were added: in-band parameter sets that let the encoder switch resolution mid-stream. Record a canvas that grows from 320×240 to 640×480 partway and see whether the codec survives the change.

  3. Codec String Builder

    The H.26x MIME string builder you wish you had: pick family + profile + level + container + audio codec and the page emits the string and runs it through MediaRecorder, MediaSource, and canPlayType() in real time.

  4. Recording Benchmark

    Test every H26x codec string against MediaRecorder.isTypeSupported(), then record a 3-second canvas animation in your chosen codec โ€” comparing the new Chrome 136 strings (hvc1.*, hev1.*, avc3.*) with legacy ones and reporting output size and bitrate.

why it shipped

Chromium's MediaRecorder API now supports HEVC encoding, introducing the hvc1.* codec string, and adds new codecs (hev1.* and avc3.*) supporting variable resolution video in MP4. Support for HEVC platform encoding was added in WebCodecs in Chromium M130. As a follow-up, support has been added to the MediaRecorder API in Chromium. The API now supports both

references