Draft: net/quinn: Add Media over QUIC subscriber
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.)