-
Notifications
You must be signed in to change notification settings - Fork 41
Interop
The current editable interop spreadsheet/matrix is located here
Include language, client/server/relay, source code link if available, optional affiliation
Language: C++
Role: Relay (Webtransport only, SUBSCRIBE, SUBSCRIBE_NAMESPACE, and PUBLISH_NAMESPACE only)
Role: moq-chat client (same restrictions)
Source Code: https://github.com/google/quiche/tree/main/quiche/quic/moqt
Draft support: moq-transport-14
Documentation: https://github.com/google/quiche/README.md
Location: The relay is often running at https://quichemoq.dev:443 (any path will work). Ping @Martin Duke on slack if it's not running.
Known bug: DATAGRAM is currently forwarded on a subgroup.
Note: Currently using a self-signed certificate, have your client be gentle.
Language: C++
Roles: Client/Server and generic relay
Source: https://github.com/facebookexperimental/moxygen
Language: Rust
Roles: Client/Server Publisher/Subscriber, and Relay, media application using a CMAF-based streaming format w/ JSON catalog
Source: https://github.com/englishm/moq-rs
(Forked from kixelated/moq-rs to maintain compatibility with MoQ WG drafts)
Multiple protocol versions are not supported simultaneously, but implementations supporting older draft versions are maintained in branches:
draft-06 in progress: https://github.com/englishm/moq-rs/pull/8
Public relay currently running draft-04: norsk-moq-linode-chicago.englishm.net:4443
draft-13/14 in progress: https://github.com/sgodin/moq-rs/tree/sgodin-update-messaging-to-draft-13
Language: Typescript
Roles: Client Publisher, Client Subscriber, media application using a CMAF-based streaming format w/ JSON catalog
Source: https://github.com/englishm/moq-js
draft-05 in progress: https://github.com/englishm/moq-js/pull/1
(Forked from kixelated/moq-rs to maintain compatibility with MoQ WG drafts)
Language: Go
Roles: Client/Server
Source: https://github.com/mengelbart/moqtransport
Language: Rust
Roles: Client/Server and Relay
Source: https://github.com/nttcom/moq-wasm
Language: c++
Roles: Client/Server
Source: https://github.com/Quicr/libquicr
Language: Javascript (Web based)
Roles: Client (Publisher and Subscriber for media applications)
Source: https://github.com/facebookexperimental/moq-encoder-player
Language: Python
Roles: Client(Publisher and Subscriber), Server(Publisher and Subscriber), Protocol API
Source: https://github.com/gmarzot/aiomoqt-python
Language: Typescript
Roles: Client Publisher, Client Subscriber, video/audio streaming with moq-mi packaging
Source: https://github.com/kota-yata/moqtail
Language: C
Roles: Client/Server Publisher/Subscriber, and Relay, library, with demo applications
Source: https://github.com/meetecho/imquic
Support for multiple protocol versions, from v06 to v14 (WIP), in two different groups:
- "any" = from v11 to v14
- "legacy" = from v06 to v10
draft-14 in progress: https://github.com/meetecho/imquic/pull/15
Include documentation/specification for how the application works, link to server
- moq-chat (https://afrind.github.io/draft-frindell-moq-chat/draft-frindell-moq-chat.html)
- warp (https://github.com/kixelated/moq-rs/blob/main/HACKATHON.md#cmaf-media)
- video-streaming-demo (https://github.com/kota-yata/media-over-quic-experiment)
- Web based live streaming encoder (https://github.com/facebookexperimental/moq-encoder-player)
- Web based video conference demo (https://github.com/facebookexperimental/moq-encoder-player)
- Norsk (https://norsk.video) (proprietary, has experimental support for MoQ as an output)