← Back to release summary

MediaStreamTrack Insertable Streams (a.k.a. Breakout Box)

Category
Realtime / Communication
Type
New or changed feature
Status
Enabled by default (Chrome 94)
Intent stage
Shipped

Summary

This feature defines an API surface for manipulating raw media carried by MediaStreamTracks such as the output of a camera, microphone, screen capture, or the decoder part of a codec and the input to the decoder part of a codec. It uses WebCodecs interfaces to represent raw media frames and exposes them using streams, similarly to the way the WebRTC Insertable Streams spec exposes encoded data from RTCPeerConnections.

Motivation

The motivation for this feature is to support some of the use cases described in WebRTC Next Version Use Cases. More specifically: * Funny Hats (https://www.w3.org/TR/webrtc-nv-use-cases/#funnyhats*): Refers to manipulation of media prior to encoding and after decoding to provide effects such as background removal, funny hats, voice effects. * Machine Learning (https://www.w3.org/TR/webrtc-nv-use-cases/#machinelearning*): Refers to applications such as real-time object identification/annotation.

Standards & signals

Docs: https://alvestrand.github.io/mediacapture-transform/ https://github.com/w3c/mediacapture-insertable-streams/blob/main/explainer.md

Samples: https://webrtc.github.io/samples/src/content/insertable-streams/video-processing/

Explainers: https://github.com/w3c/mediacapture-transform/blob/main/explainer.md

View on chromestatus.com