moqtail is a client implementation of Media over QUIC Transport protocol (MoQT).
This is the root directory of the moqtail projects. The core library lives under the moqtail-core workspace. Run make install to create symbolic links so you can develop the client and core packages together.
moqtail-core has serializer/deserializer for all control messages in draft-11, but these are the ones interopped at IETF:
moqtail cand send:
- CLIENT_SETUP
- SUBSCRIBE
- UNSUBSCRIBE
- SUBCSRIBE_OK
- SUBSCRIBE_ERROR
- SUBSCRIBE_DONE
- ANNOUNCE
- UNANNOUNCE
moqtail can receive:
- SERVER_SETUP
- UNSUBSCRIBE
- SUBSCRIBE
- SUBCSRIBE_OK
- SUBSCRIBE_ERROR
- SUBSCRIBE_DONE
- ANNOUNCE_OK
- ANNOUNCE_ERROR
not yet interopped:
- GOAWAY
- MAX_REQUEST_ID
- REQUESTS_BLOCKED
- SUBSCRIBE_UPDATE
- FETCH
- FETCH_OK
- FETCH_ERROR
- FETCH_CANCEL
- TRACK_STATUS_REQUEST
- TRACK_STATUS
- ANNOUNCE_CANCEL
- SUBSCRIBE_ANNOUNCES
- SUBSCRIBE_ANNOUNCES_OK
- SUBSCRIBE_ANNOUNCES_ERROR
- UNSUBSCRIBE_ANNOUNCES
moqtail can also send/receive
- Datagram
- Subgroup Object
-
bytes/
- Utility code and helpers for handling low-level byte operations, encoding, and decoding. Used internally by client/ and moqtail-core/.
-
client/
- Contains a live streaming application as a reference client implementation of MoQT.
-
moqtail-core/
- The main core library, providing serializers/deserializers for MOQT control messages, data streams, and packagers.
Use the Makefile to manage development and production builds:
make install # install workspace dependencies
make prod # build all workspaces for production
make dev # build libraries and start the client in dev mode