Insertable Streams is a mechanism in WebRTC that enables application access to the actual media right before it is being sent or received over the network.
There are two types of Insertable Streams available in WebRTC:
- WebRTC Encoded Transform (W3C draft) – providing access to encoded media, which is the output of the encoder part of a codec and the input to the decoder part of a codec which allows the user agent to apply encryption locally
- MediaStreamTrack API for Insertable Streams of Media (W3C draft), also known as “breakout box” – providing direct access to the stream, prior to its encoding or decoding, thus allowing it to be manipulated which allows features like background blur
Such APIs were added to WebRTC in an effort to enable the support of more use cases and scenarios that were hard or impossible to implement without them.
The encoded transform alternative, which provides access to the encoded media, enables developers to add their own application-specific encryption scheme, offering end-to-end encryption.
The MediaStreamTrack API alternative, offers access to the raw media prior to encoding it. This enables manipulations such as background blur or adding application specific contextual data.