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, Meta, Cisco, Akamai, Cloudflare, etc.
That’s right, soon you will never have to deal with WebRTC again. Unless masochism is your thing.
Try out the web demo! Watch or Publish a broadcast
Want a better demo? hang.live uses the same open-source libraries but adds more functionality on top.
✨ Features
- 🔓 Open Source: Production-ready Rust and TypeScript libraries.
- 🌐 100% Web: Utilizes WebTransport, WebCodecs, WebAudio, WebEtc.
- ⚡ Real-time: Minimal latency by skipping unimportant media during congestion.
- 🚀 Massive Scale: Host your own CDN with moq-relay or use Cloudflare.
- 🎬 Multi-Platform: Web, FFmpeg, and GStreamer clients available.
- 🔍 Discoverable: Live notifications when broadcasts are published.
- 💪 Efficient: No encoding or bandwidth usage until a viewer needs it.
- 🔧 Compatible: TCP fallback via WebSocket, Safari fallback via libav.js.
*Standards
This website uses a fork of the IETF draft called moq-lite and a media layer called hang. The principles behind MoQ are fantastic, but standards are SLOW and involve too much arguing. My goal is to build something simple that you can use now, even if it’s not a standard yet.
Learn More
Check out the blog for more information and a smattering of jokes. Once you’re ready for more, check out the Github and/or join Discord.
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, I’d love to hear about it!
My DMs are always open; @kixelated on Discord.
![]()