Skip to content

Draft: net/quinn: Add Media over QUIC subscriber

Sanchayan Maity requested to merge SanchayanMaity/gst-plugins-rs:quinn-moq into main

This adds a moqdemux element which acts as a MoQ subscriber. With quinnquicsrc (requires !1634) upstream to moqdemux, we can receive MoQ tracks.

Tested with moq-rs for MoQ draft version 05. moq-rs publisher example only sends two tracks packaged in CMAF as of now, which is what has been tested. We primarily use the type definitions and serializing/deserializing support of those types from moq-rs. MoQ messages on bidirectional stream and QUIC transport itself is completely handled within GStreamer. We do not rely on moq-rs in any way for this.

To test with moxygen we will need WebTransport and Low Overhead Container de-packetizer.

For testing, needs a small change in moq-rs/dev/pub. Scheme needs to be changed to moqt as we do not support WebTransport yet and use vanilla QUIC. MoQ specification supports both WebTransport and QUIC.

SCHEME="${SCHEME:-moqt}"

Run the MoQ relay and publisher as below in two separate terminals.

RUST_LOG=moq_relay=trace dev/relay
RUST_LOG=moq_pub=trace dev/pub

(Top 3 commits are for MoQ, rest come from the other two open MRs, as we depend and build on top of !1634 and !1775.)

Edited by Sanchayan Maity

Merge request reports

Loading