New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adopt feedback streams in RTCRtpScriptTransformer #90
Comments
The main use case of the transform API so far is end-to-end encryption. I could see other use cases like appending additional data to a frame. In both cases, we are talking of media being transformed by a sender, sent to a receiver that does the inverse transform to render the (potentially augmented) media. It would be good to better understand the use cases you have in mind so that we break them down in requirements. Can you share more of the use cases? |
The most obvious exampe is an outgoing stream that is encoded using a WASM or WebCodec encoder, and needs to be decoded using a WASM or WebCodec decoder. In addition to feedback streams, this needs the capacity for telling the browser "don't bother with instantiating encoders/decoders, I'm doing this myself". |
Indeed, the pluggable codec use case seems like an additional API to me which would run prior WebRTC encoded transform in senders, and after in receivers. I could see some requirements derived for WebRTC encoded transform API from the pluggable codec use case. |
Also, how would packetizer/depacketizer be handled for new or deprecated codecs? Codec-agnostic packetization? |
Yes, we may have to design a completely new API rather than trying to merge this into the transform-supporting one. Would be great to have some commonality, though. |
@youennf "It would be good to better understand the use cases you have in mind so that we break them down in requirements." [BA] The uses cases are described in WEBRTC-NV Use Cases. The VR/AR use case may involve substantial additions to the frame size, which is why adaptation to bandwidth or frame size is important. |
This rescues the proposal for congestion control that was removed from the PR that became the keyframe request indication interface. Partial fix for #90
In some applications, especially those that have the input or output to a transform go somewhere other than the normal path, it is vital that the upstream frame source be informed of other events than just frames being consumed. This may include bandwidth adaptation signals, frame size adaptation signals, or other signals.
In mediacapture-transform, this need is satisfied by control channels.
I propose that we add two more attributes to the ScriptTransformer interface: ReadableStream readableControl and WritableStream writableControl.
The text was updated successfully, but these errors were encountered: