Media over QUIC Test Service

A publicly available MoQ server implementing parts of draft-11 of the MoQ Transport protocol and draft-00 of the WARP specification. Streams synchronized multi-bitrate video and audio tracks for testing MoQ-based applications. Note: This is a work in progress implementing a subset of the specifications as they continue to evolve. Check the GitHub repository for the latest development status and supported features.

🚀 MoQ Transport draft-11
🎬 WARP draft-00
🌐 WebTransport Ready
📺 Multi-bitrate Support
Try WARP Player Now

Why Use MoqLiveMock?

Test your MoQ client implementations against a reliable, always-available server implementing parts of the latest drafts. Stream 10-second loops of synchronized multi-bitrate content with CMAF chunks over QUIC. As both MoQ Transport and WARP specifications are still evolving, this service provides a partial reference implementation. Visit our GitHub repository to see which features are currently supported and track ongoing development.

Available Streams

Specially prepared relatively low-bitrate content for testing

🎥 Video Tracks

H.264 encoded video streams at multiple bitrates for adaptive streaming

  • 400 kbps - Low bitrate
  • 600 kbps - Medium bitrate
  • 900 kbps - High bitrate

🎵 Audio Tracks

Easily discernable AAC encoded audio tracks with synchronized second beeps

  • Monotonic (128 kbps) - with second beeps
  • Scale (128 kbps) - with second beeps

⚡ Technical Specs

Modern streaming protocols and formats

  • CMAF chunks
  • 10-second loops
  • Wall-clock synchronized
  • WARP catalog support

How to Use

Multiple ways to connect and stream content

🌐 Browser Player (Recommended)

Use the WARP Player for instant playback in your browser (Chrome or Firefox). No installation required.

Open WARP Player

💻 Command Line Client

For developers and advanced users, use mlmsub to stream from the terminal:

# Install the client
go install github.com/Eyevinn/moqlivemock/cmd/mlmsub@latest

# Stream and write video 400kbps to file 
mlmsub -addr moqlivemock.demo.osaas.io -videoname 400 -videout video400kbps.mp4

# Select specific tracks
mlmsub -addr moqlivemock.demo.osaas.io:443 -videoname 600 -audioname scale -muxout - | ffplay -

# Select specific tracks and use WebTransport
mlmsub -wt -addr https://moqlivemock.demo.osaas.io:443 -videoname 600 -audioname scale -muxout - | ffplay -

# Enable debug logging
mlmsub -addr moqlivemock.demo.osaas.io:443 -loglevel debug -muxout - | ffplay -

🔧 Run Your Own Server

Clone the repository and run your own MoqLiveMock instance:

# Clone and build
git clone https://github.com/Eyevinn/moqlivemock
cd moqlivemock
go build ./cmd/mlmpub

# Option 1: Using mkcert (recommended for development)
mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
mkcert -install
./mlmpub -cert cert.pem -key key.pem -addr localhost:4443

# Option 2: Using certificate fingerprint (no installation needed)
# Auto-generates WebTransport-compatible certificates
./mlmpub -fingerprintport 8081

# Or use your own WebTransport certificate
cd cmd/mlmpub
./generate-webtransport-cert.sh
./mlmpub -cert cert-fp.pem -key key-fp.pem -fingerprintport 8081

When using fingerprint mode, connect with WARP Player using:
• Server URL: https://localhost:4443/moq
• Fingerprint URL: http://localhost:8081/fingerprint

Part of the Eyevinn Open Source Ecosystem