Intent to ship: MP4 container support for MediaRecorder

688 views
Skip to first unread message

Sunggook Chue

unread,
Feb 23, 2024, 3:31:35 AMFeb 23
to blink-dev
Contact emails

sun...@microsoft.com 


dalec...@chromium.com (reviewer and mentor).


Explainer

https://www.w3.org/TR/mediastream-recording/


Specification

https://www.w3.org/TR/mediastream-recording/


Summary

Adds support for muxing audio/video into MP4 containers with MediaRecorder.


Developers can record media format, container, with MP4 of H264 video and AAC audio codecs in the MediaRecorder API.



Blink component

Blink::MediaRecording


TAG review
TAG review status
Risks

No Additional risks on existing containers such as webm.


Interoperability and Compatibility
Ergonomics

N/A



Activation

Unchallenging to use.



Security

N/A



WebView Application Risks

N/A



Debuggability

Developers can see the API failure on DevTools.


Is this feature fully tested by web-platform-tests?

Yes


Flag name

MediaRecorderEnableMp4Muxer


Tracking bug

https://issues.chromium.org/issues/40127044


Launch bug

https://issues.chromium.org/issues/40127044


Sample links

https://webrtc.github.io/samples/src/content/getusermedia/record/


Estimated milestones

Dev Trial on Desktop: 120



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5163469011943424


Links to previous Intent discussions

This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
Feb 26, 2024, 7:46:04 PMFeb 26
to Sunggook Chue, blink-dev


On 2/22/24 9:21 PM, 'Sunggook Chue' via blink-dev wrote:
Contact emails

sun...@microsoft.com 


dalec...@chromium.com (reviewer and mentor).


Explainer

https://www.w3.org/TR/mediastream-recording/


Specification

https://www.w3.org/TR/mediastream-recording/


Summary

Adds support for muxing audio/video into MP4 containers with MediaRecorder.


Developers can record media format, container, with MP4 of H264 video and AAC audio codecs in the MediaRecorder API.



Blink component

Blink::MediaRecording


TAG review
TAG review status
Risks

No Additional risks on existing containers such as webm.


Interoperability and Compatibility

This is missing vendor and developer signals - can you add (or request) them please?

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1dd6d89b-34f4-4f18-b3e8-c1309d479530n%40chromium.org.

Yoav Weiss (@Shopify)

unread,
Feb 28, 2024, 10:53:29 AMFeb 28
to Mike Taylor, Sunggook Chue, blink-dev
On Tue, Feb 27, 2024 at 1:45 AM Mike Taylor <mike...@chromium.org> wrote:


On 2/22/24 9:21 PM, 'Sunggook Chue' via blink-dev wrote:
Contact emails

sun...@microsoft.com 


dalec...@chromium.com (reviewer and mentor).


Explainer

https://www.w3.org/TR/mediastream-recording/

That's not an explainer..
Could you maybe write a short (inline?) explainer that outlines what it is that we want to ship, what it would help developers achieve, how we envision them using this feature, etc.?
 

Sunggook Chue

unread,
Feb 28, 2024, 7:46:42 PMFeb 28
to blink-dev, yoav...@chromium.org, Sunggook Chue, blink-dev, mike...@chromium.org

Philipp Hancke

unread,
Feb 29, 2024, 1:16:57 AMFeb 29
to Sunggook Chue, blink-dev, yoav...@chromium.org, mike...@chromium.org
Safari's "choice" of containers and codecs has basically led to a situation where there was no interoperable way to record a video using MediaRecorder that could be played in other browsers?

Yoav Weiss (@Shopify)

unread,
Feb 29, 2024, 3:13:19 AMFeb 29
to Sunggook Chue, blink-dev, mike...@chromium.org
On Thu, Feb 29, 2024 at 1:46 AM 'Sunggook Chue' via blink-dev <blin...@chromium.org> wrote:
Here is an explainer, summary only.

https://docs.google.com/document/d/1WV795DHY3Jf2p_htuAKZ9DXUefiGdQs29mCb8vRiHt8/edit?usp=sharing

Thanks! That's very useful! :)

What's the feature detection story? How can developers know which formats are supported?
 

Philipp Hancke

unread,
Feb 29, 2024, 2:53:47 PMFeb 29
to Yoav Weiss (@Shopify), Sunggook Chue, blink-dev, mike...@chromium.org, Sam Dutton
Yoav,

in WebRTC land "we have a sample for that" (thanks to the one and only WebRTC devrel guy Sam Dutton, I think I stole this tagline from him)!
with recent changes to improve MP4 support.

Discovery currently happens with isTypeSupported but it seems the WG just decided to deprecate that:
(not sure how I feel about that, I'd rather nuke MediaRecorder entirely in favor of WebCodecs + IndexedDB)

Sunggook Chue

unread,
Mar 4, 2024, 5:13:11 PMMar 4
to blink-dev, philipp...@googlemail.com, Sunggook Chue, blink-dev, mike...@chromium.org, dut...@google.com, yoav...@chromium.org
Yoav,

Philipp's answer is correct, please let me know if you need any more info to unblock.

Sunggook Chue

unread,
Mar 4, 2024, 5:50:13 PMMar 4
to blink-dev, Sunggook Chue, blink-dev, mike...@chromium.org
Mike, I've added feature detection and developer engagement on https://docs.google.com/document/d/1WV795DHY3Jf2p_htuAKZ9DXUefiGdQs29mCb8vRiHt8/edit?usp=sharing.

Michaela Merz

unread,
Mar 5, 2024, 11:01:10 AMMar 5
to blink-dev, sun...@microsoft.com, blink-dev, mike...@chromium.org
Thank you for adding this. Finally we're going to be able to do cross-browser video-recordings and playing. Can't wait to see it in production.

M.

Yoav Weiss (@Shopify)

unread,
Mar 6, 2024, 1:19:06 AMMar 6
to Michaela Merz, blink-dev, sun...@microsoft.com, mike...@chromium.org

Philip Jägenstedt

unread,
Mar 6, 2024, 11:43:11 AMMar 6
to Yoav Weiss (@Shopify), Michaela Merz, blink-dev, sun...@microsoft.com, mike...@chromium.org
LGTM2

I think that https://wpt.fyi/results/mediacapture-record?label=master&label=experimental&aligned&q=mp4 are the relevant tests. LGTM assuming all of these tests pass with MediaRecorderEnableMp4Muxer enabled. If that's not the case, is there some functionality that won't be supported initially?

Alex Russell

unread,
Mar 6, 2024, 11:48:40 AMMar 6
to blink-dev, Philip Jägenstedt, misc...@googlemail.com, blink-dev, sun...@microsoft.com, Mike Taylor, Yoav Weiss
LGTM3

At a higher level, it would be great for AV1/VP9 encode to end up in something like Interop. It makes me sad to be adding a vote here to enable a closed format when open ones are better.

LGTM1

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Mike Taylor

unread,
Mar 6, 2024, 11:53:12 AMMar 6
to Alex Russell, blink-dev, Philip Jägenstedt, misc...@googlemail.com, sun...@microsoft.com, Yoav Weiss

We met today and discussed this intent as OWNERS, and would like you to still request a vendor position from Mozilla (as I requested earlier). If this change doesn't result in interop with Safari, can you also file a vendor position for them? My read of the explainer is that we should be matching Safari, but confirming would be good. Please consider shipping contingent on this request.

https://github.com/mozilla/standards-positions
https://github.com/WebKit/standards-positions

thanks,
Mike

Sunggook Chue

unread,
Mar 6, 2024, 4:02:39 PMMar 6
to blink-dev, mike...@chromium.org, Philip Jägenstedt, misc...@googlemail.com, Sunggook Chue, yoav...@chromium.org, sligh...@chromium.org
Request for Mozilla:  https://github.com/mozilla/standards-positions/issues/996.

Yes, the new feature already works on Safari.

LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Daniel Bratell

unread,
Mar 13, 2024, 11:31:32 AMMar 13
to Sunggook Chue, blink-dev, mike...@chromium.org, Philip Jägenstedt, misc...@googlemail.com, yoav...@chromium.org, sligh...@chromium.org

LGTM3

(Mozilla has responded that they think this makes sense)

/Daniel

Reply all
Reply to author
Forward
0 new messages