Skip to content

Add data points for Chrome 136 MediaRecorder H26x codec support#27142

Open
chrisdavidmills wants to merge 1 commit intomdn:mainfrom
chrisdavidmills:mediarecorder-H26x-codec-updates
Open

Add data points for Chrome 136 MediaRecorder H26x codec support#27142
chrisdavidmills wants to merge 1 commit intomdn:mainfrom
chrisdavidmills:mediarecorder-H26x-codec-updates

Conversation

@chrisdavidmills
Copy link
Contributor

Summary

Chrome 136 adds support to the MediaRecorder API for HEVC encoding, introducing the hvc1.* codec string, and adds new codecs (hev1.* and avc3.*) supporting variable resolution video in MP4. See https://chromestatus.com/feature/6375884229181440 for more details.

This PR adds a data point for this support to the MediaRecorder() constructor, and to the MediaRecorder.isTypeSupported() static method.

The MediaRecorder.mimeType property is also related, but it only returns a previously-set value rather than setting a MIME type, so I decided to not add a data point there.

Test results and supporting details

Related issues

@github-actions github-actions bot added data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:m [PR only] 25-100 LoC changed labels Jun 25, 2025
@github-actions
Copy link
Contributor

Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs).

Copy link
Contributor

@caugner caugner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have not yet decided how to record media codecs, see: #6971

@chrisdavidmills Can you please either add your requirements/thoughts to that issue, or open a separate issue if you prefer so?

@chrisdavidmills
Copy link
Contributor Author

We have not yet decided how to record media codecs, see: #6971

@chrisdavidmills Can you please either add your requirements/thoughts to that issue, or open a separate issue if you prefer so?

Done

@caugner caugner added the blocked Blocked and unable to proceed. label Aug 22, 2025
Copy link
Contributor

@ddbeck ddbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This came up on today's BCD call PR triage.

Since this PR opened, we now have a mediatypes data tree. To unblock this PR, I am suggesting the following broad changes:

  • If possible, show support for h264 (AVC) and h265 (HEVC) in a new mediatypes.video tree. I'd expect this to represent decoding h264 and h264 (e.g., can you use it in a <video> element). This is probably where the underlying OS support notes would go, if you kept it at all (see a later bullet).

  • Being more conventional, structurally, showing support for encoding h264 and h265 with keys like:

    • api.MediaRecorder.MediaRecorder.optons_parameter.mimeType (missing in this PR)
    • api.MediaRecorder.MediaRecorder.optons_parameter.mimeType.hev1_codec (description: codecs=hev1.*)
    • api.MediaRecorder.MediaRecorder.optons_parameter.mimeType.hvc1_codec (description: codecs=hvc1.*)
    • api.MediaRecorder.MediaRecorder.optons_parameter.mimeType.avc3_codec (description: codecs=avc3.*)
  • I would suggest omitting the data in api.MediaRecorder.isTypeSupported_static, since the data would have an ambiguous meaning (e.g., is the BCD key to show that you can call isTypeSupported("video/mp4;codecs="codecs=avc3.64003E") without getting an error? Or does it mean that you'll get true?).

  • The underlying OS support note seems too vague to be useful. If you have more information (e.g., support on macOS or Linux or whatever), then we have conventional ways of noting that sort of thing (with partials as needed). If you don't have that information, I suggest we just omit it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked Blocked and unable to proceed. data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:m [PR only] 25-100 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants