Media over QUIC is a live media protocol powered by QUIC: a super-charged TCP/UDP replacement that powers HTTP/3. It’s being developed by the IETF and your favorite big tech companies such as Google, Cisco, Akamai, Cloudflare, etc.
MoQ supports real-time latency, scales out via generic CDNs, and works in browsers. You no longer need to hack WebRTC!
Want to hang? hang.live is a full conferencing app that uses MoQ for EVERYTHING. It’s open source too!
But MoQ is more than just a WebRTC replacement; it’s a HLS/DASH and RTMP/SRT replacement too! Support contribution, mass distribution, multiple latency targets, generic live tracks, and more with an extensible protocol.
But seriously, try the demos already. There’s even a gameboy emulator. Don’t pretend like you’re not excited.
✨ Features
- 🔓 Open Source: Production-ready Rust and TypeScript libraries.
- 🌐 100% Web: Utilizes WebTransport, WebCodecs, WebAudio, WebEtc.
- ⚡ Real-time: Minimal latency by skipping less important media during congestion.
- 🚀 Massive Scale: Host your own CDN with moq-relay or use Cloudflare.
- 🎬 Multi-Platform: Web, FFmpeg, GStreamer, OBS, and native clients available.
- 🔍 Discoverable: Live notifications when broadcasts are published or finish.
- 💪 Efficient: No encoding or bandwidth usage until a viewer needs it.
- 🌍 Compatible: TCP fallback via WebSocket, Safari fallback via libav.js.
- 🔧 Customizable: Hardware accelerated encoding, the rest is in your control.
*Standards
This website uses moq-lite, a subset of the official moq-transport draft. moq-lite is forwards compatible with moq-transport (draft-14+) and works with any MoQ CDN (ex. Cloudflare). The principles behind MoQ are fantastic, but standards are SLOW and involve too much arguing/bloat. My goal is to get MoQ in production now, even if it’s not a standard yet.
More Stuff
- The blog if you’re a fan of hot takes.
- The docs and Github if you’re a nerd.
- The discord if you want to chat with me or other unhinged developers.
- The demos if you seriously got this far without clicking on a link.
Contributions are welcome, of course. But also feel free to just yoink the code, fork it, and make it your own. If you’re using some flavor of MoQ in the wild, or would like some help/advice, I’d love to hear about it
Feel free to mail me! me@kixel.me
![]()