Real-time Streaming Expands with QUIC on GadgetLad

The Surprising Expedition into Media Over QUIC (MoQ)

A few weeks back, Larry and I received prompts from various sources to explore Media Over QUIC (MoQ) for our upcoming issue. I’ve been following the QUIC standardization for quite some time and have even written about it previously, but MoQ, well, it hadn’t appeared on my radar. A quick look at some IETF drafts provided us with the essential details, but extracting the key concepts from the protocol jargon is akin to trying to identify a Geordie at a mackem gathering. I’ll explain why MoQ has captured my interest right here.

MoQ: More Than Just a Stylish Title

Now, MoQ can transmit media like video and audio using QUIC underneath. But honestly, that’s similar to streaming a video online if the server is pleased with HTTP3 over QUIC. MoQ is different. It acts as a middle-ground surfer between WebRTC and DASH. Some individuals believe it might supplant both, but let’s be realistic; it’s more likely to fit in where neither DASH nor WebRTC quite meets the requirements.

Understanding the MoQ Foundations

You have WebRTC with its advanced protocols and APIs, right? It allows browsers to communicate seamlessly with media flows. But when you try to scale it up, it resembles trying to push a camel through a needle—ain’t happening without an overlay network. Enter Selective Forwarding Units (SFUs), the magic trick for scaling.

The DASH Element

DASH stands out as the go-to for most non-real-time streams. TCP isn’t suitable for real-time due to its rigid nature. However, as most video content isn’t real-time, DASH works around TCP issues, taking advantage of CDNs, and now QUIC’s benefits come into play too. Yet, DASH struggles with latency in real-time applications.

MoQ Provides Scalability with DASH and WebRTC Latency

MoQ positions itself in the middle, delivering WebRTC’s low latency along with DASH’s scalability. It utilizes relays to scale much like CDNs do for HTTP. With a publish/subscribe model, publishers distribute media, subscribers receive it, and relays efficiently transport media as if they’re on a pub crawl.

QUIC: The Underlying Magic

MoQ relies on QUIC for transport, even if it might conflict with latency goals. QUIC’s convenient lightweight streams permit various segments of a media stream to operate independently. Priority can be established to determine which streams to maintain and which to discard to ensure smooth performance and prevent congestion.

The Enchantment of Relay Nodes

MoQ relay nodes store, forward, and duplicate items without any knowledge of the actual content. Items carry metadata, allowing relays to make informed decisions during resource shortages. Typical MoQ items? Picture independently decodable video frames.

Application Layer Framing: The Return of the 1990s Ghost?

MoQ’s interaction with Application Layer Framing (ALF) comes to mind, thanks to Larry. Only the application is aware of its necessities, but MoQ frames data enabling the network to assist. This renders MoQ more efficient than traditional SFUs or IP multicast issues.

The Unstoppable Progress of MoQ

MoQ specifications are still evolving, but the excitement surrounding it is palpable. Major players in the industry are supporting it, and relay deployments like Cloudflare are evidence of MoQ’s potential. Want to see MoQ in action? Take a look at a demo or two.

Conclusion: MoQ – A Geordie’s Delight in Tech?

So, MoQ is making its way in, aiming to blend WebRTC’s speed with DASH’s strength. Although it’s still in its early stages, the developments are intriguing enough to keep this Geordie tech enthusiast engaged. If you’re curious, swing by gadgetlad.co.uk to check out the demo. Cheers!