How Twitch Delivers and Packages VP9
Learn more about emerging codecs at Streaming Media's next event.
Watch the complete presentation from Streaming Media East, VES201. Multiple Codec Live Streaming at Twitch, in the Streaming Media Conference Video Portal.
Read the complete transcript of this clip:
Nikhil Purushe: We're delivering VP9 in fragmented MP4. So, on all our H.264 streams today, you'll see that they're a traditional MPEG transport stream. So this is a key change for us and an opportunity for us to modernize our delivery format. So we've actually combined fragmented MP4 with HLS.
Around 2016, Apple added fragmented MP4 support into the HLS specification, and we're kind of taking advantage of that. Of course, one key thing here is VP9 is not supported by Apple but the HLS specification is flexible enough, in terms of the codec string and the file formats, that you can deliver fragmented MP4 through HLS.
The spec for delivering VP9 in MP4 is, I've linked this here, it's actually very straightforward. I think it took us only a small amount of time to add this into our packaging solution. And of course you can check your web browser if you use a Media Source Extensions API. You can do a very simple check if VP9 is supported in the MP4 container using this very simple code snippet.
So, as you mentioned, a lot of browsers do support fragmented MP4 with VP9, Chrome, Firefox, now Edge. And this goes back at least six months or so, so most modern browsers will support this, that support VP9. Of course, our container choice, why did we choose fragmented MP4? We have a lot of packaging and tooling around fragmented MP4 already that we had been developing, for example with our DRM streams. It's compatible with HLS, whereas WebM is not.
We'd also like to use this same kind of packaging solution to deliver other codecs, so for example, if you wanted to deliver HEVC to iOS devices, we would need to use fragmented MP4. For also an experiment with AV1, this is the container that most people would be using to deliver AV1 instead of WebM, even though WebM does support AV1 as well.
Twitch Principal Video Specialist Tarek Amara explains which factors publishers should consider when choosing encoders and making codec support decisions in this clip from his Video Engineering Summit presentation at Streaming Media East 2019.
Streaming Media's Tim Siglin and Twitch's Tarek Amara discuss Twitch's developing the emerging codec landscape and Twitch's multi-codec content delivery strategy on the show floor at Streaming Media East 2019.
Twitch uses a head-and-tail encoding strategy where popular content (the head) is encoded one way and less popular content (the tail) another. In this interview, a Twitch engineer explains what's on the video gaming powerhouse's five-year roadmap.