A command-line tool for publishing and subscribing to media over MoQ. It works with FFmpeg for encoding and decoding.
cargo install moq-clidocker pull moqdev/moq-cliMulti-arch images (linux/amd64 and linux/arm64) are published to Docker Hub.
moq-cli reads media from stdin (or writes media to stdout) and exchanges it with a MoQ relay. Pick a subcommand based on whether you want to publish or subscribe, and whether your relay is local or remote.
ffmpeg -i input.mp4 -f mp4 -movflags cmaf - | \
moq-cli publish --url https://relay.example.com --broadcast my-stream fmp4moq-cli subscribe --url https://relay.example.com --broadcast my-stream --format fmp4 | \
ffplay -Runs a relay and publishes a single broadcast read from stdin into it. Useful for local testing without a separate relay process.
ffmpeg -i input.mp4 -f mp4 -movflags cmaf - | \
moq-cli serve --broadcast my-stream fmp4Runs a relay and writes the first incoming broadcast's media to stdout. The inverse of serve.
moq-cli accept --broadcast my-stream --format fmp4 | ffplay -avc3raw H.264 Annex-B from stdinfmp4fragmented MP4 from stdinhls --playlist <url-or-path>ingest from an HLS playlist