Skip to content
Martin Duke edited this page Oct 31, 2025 · 39 revisions

Interop Matrix

The current editable interop spreadsheet/matrix is located here

MoQT Implementations

Include language, client/server/relay, source code link if available, optional affiliation

1. Google Quiche

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.

Note: Currently using a self-signed certificate, have your client be gentle.

2. moxygen

Language: C++

Roles: Client/Server and generic relay

Source: https://github.com/facebookexperimental/moxygen

3. moq-rs

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

4. moq-js

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)

5. moqtransport

Language: Go

Roles: Client/Server

Source: https://github.com/mengelbart/moqtransport

6. moq-wasm

Language: Rust

Roles: Client/Server and Relay

Source: https://github.com/nttcom/moq-wasm

7. quicr

Language: c++

Roles: Client/Server

Source: https://github.com/Quicr/libquicr

8. MOQ Encoder-Player

Language: Javascript (Web based)

Roles: Client (Publisher and Subscriber for media applications)

Source: https://github.com/facebookexperimental/moq-encoder-player

9. aiomoqt-python

Language: Python

Roles: Client(Publisher and Subscriber), Server(Publisher and Subscriber), Protocol API

Source: https://github.com/gmarzot/aiomoqt-python

10. moqtail (draft-10)

Language: Typescript

Roles: Client Publisher, Client Subscriber, video/audio streaming with moq-mi packaging

Source: https://github.com/kota-yata/moqtail

11. imquic

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

Applications built on moqt

Include documentation/specification for how the application works, link to server

  1. moq-chat (https://afrind.github.io/draft-frindell-moq-chat/draft-frindell-moq-chat.html)
  2. warp (https://github.com/kixelated/moq-rs/blob/main/HACKATHON.md#cmaf-media)
  3. video-streaming-demo (https://github.com/kota-yata/media-over-quic-experiment)
  4. Web based live streaming encoder (https://github.com/facebookexperimental/moq-encoder-player)
  5. Web based video conference demo (https://github.com/facebookexperimental/moq-encoder-player)
  6. Norsk (https://norsk.video) (proprietary, has experimental support for MoQ as an output)

Clone this wiki locally