Media-over-QUIC clients

supported codecs
videoAV1, VP9, VP8, H265, H264
audioOpus, MPEG-4 Audio (AAC)

Media-over-QUIC is a streaming protocol built upon cutting edge protocols (QUIC, HTTP3) and browser APIs (WebTransport, WebCodecs) that can be used to publish and read live media streams. It’s slightly faster than WebRTC, has an advanced data recovery mechanism, it supports additional codecs (FLAC and future ones) and is less complicated to route.

Media-over-QUIC has a wide range of features and variants, most of them in active development. We currently support the following:

  • We support draft-18 of the main specification.
  • We only support using Media-over-QUIC through browsers and in particular through the WebTransport API. We do not support using QUIC directly.
  • We support the PUBLISH and SUBSCRIBE messages only, which are the ones meant to be used by a routing solution like MediaMTX.
  • We use the MOQT Streaming Format (MSF) to advertise tracks, described in this specification.
  • We use the Low Overhead Media Container (LOC) to ship frames, described in this specification.
  • We host web pages through a HTTP/2 listener and host the WebTransport endpoint through a HTTP/3 listener. This hybrid setup allows to use self-signed certificates, that are normally forbidden in pure HTTP/3.

There are some server requirements:

  • HTTPS is mandatory.
  • Clients must be able to access both the HTTP/2 listener (:8892) and the HTTP/3 listener (:8892), the latter of which runs over UDP.

And there are some client (browser) requirements:

You can publish a stream with Media-over-QUIC and a web browser by visiting:

https://localhost:8892/mystream/publish

The only clients that can currently publish with Media-over-QUIC are Web browsers.