MOQ Clients
WebTransport Browser Client
Browser clients connect to the MOQ relay via the WebTransport API. No plugin or additional software is required — any browser supporting WebTransport over HTTP/3 works.
Connection URL format:
https://<host>:<port>/moq
Default example: https://your-server.com:4433/moq
Self-Signed Certificate Pinning
When using a self-signed certificate (local development), the browser requires the certificate’s SHA-256 public key hash. The hash is printed to the server console at startup in multiple formats. To generate it manually:
openssl x509 -in server-cert.pem -pubkey -noout
| openssl pkey -pubin -outform der
| openssl dgst -sha256 -binary
| base64
Pass this value as serverCertificateHashes in your WebTransport constructor:
const transport = new WebTransport(url, {
serverCertificateHashes: [{ algorithm: 'sha-256', value: certHashBytes }]
});
Test Page
The plugin ships with a test page at webapps/live/moq/webtransport_client.html. Open it in a browser, enter your server address and certificate hash, and verify connectivity.
Native MoQ Clients
moqxr — Command-Line Publisher
moqxr is an open-source CLI publisher supporting MoQ Transport drafts 14 and 16 over both native MoQ and WebTransport.
playa — MOQ Player
playa is the Red5 Pro MOQ player, supporting MoQ Transport drafts 14 and 16.
red5-moqpub — Reference Publisher
red5-moqpub is an early reference publisher for MoQ Transport draft 14.
Protocol and Version Support Matrix
| Client | MoQ Transport | MoQ Lite | Drafts |
|---|---|---|---|
| Browser (WebTransport) | Yes | Yes | auto-negotiated |
| moqxr | Yes | No | 14, 16 |
| playa | Yes | No | 14, 16 |
| red5-moqpub | Yes | No | 14 |