Add data points for Chrome 136 MediaRecorder H26x codec support#27142
Add data points for Chrome 136 MediaRecorder H26x codec support#27142chrisdavidmills wants to merge 1 commit intomdn:mainfrom
Conversation
|
Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs). |
caugner
left a comment
There was a problem hiding this comment.
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 |
ddbeck
left a comment
There was a problem hiding this comment.
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) andh265(HEVC) in a newmediatypes.videotree. I'd expect this to represent decodingh264andh264(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
h264andh265with 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 callisTypeSupported("video/mp4;codecs="codecs=avc3.64003E")without getting an error? Or does it mean that you'll gettrue?). -
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.
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 theMediaRecorder.isTypeSupported()static method.The
MediaRecorder.mimeTypeproperty 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