Media over QUIC Transport (MoQT)
June 2, 2025 ยท View on GitHub
moqtransport is a Go implementation of Media over QUIC Transport on top of quic-go and optionally webtransport-go.
Overview
This library implements the Media over QUIC Transport (MoQT) protocol as defined in draft-ietf-moq-transport-11. MoQT is designed to operate over QUIC or WebTransport for efficient media delivery with a publish/subscribe model.
Implementation Status
This code, as well as the specification, is work in progress. The implementation currently covers most aspects of the MoQT specification (draft-11), including:
Session establishment and initialization
Control message encoding and handling
Data stream management
Track announcement and subscription
Error handling
Support for both QUIC and WebTransport
Areas for Future Development
Implementation of FETCH Exposure of more parameters ...
Usage
See the date examples in the examples directory for a simple demonstration of how to use this library.
Basic usage involves:
- Creating a connection using either QUIC or WebTransport
- Establishing a MoQT session
- Implementing handlers for various MoQT messages
- Publishing or subscribing to tracks
Project Structure
quicmoq/: QUIC-specific implementationwebtransportmoq/: WebTransport-specific implementationinternal/: Internal implementation detailsexamples/: Example applications demonstrating usageintegrationtests/: Integration tests
Requirements
- Go 1.23.6 or later
- Dependencies are managed via Go modules
License
See the LICENSE file for details.