Streaming is such a success because it manages to deliver video even as your network capacity varies while you are watching. Called ABR (Adaptive Bitrate), this short talk asks how we can allow low-latency streams to nimbly adapt to network conditions whilst keeping the bitrate low in the new AV1 codec.
Tarek Amara from Twitch explains the idea in AV1 of introducing S-Frames, sometimes called ‘switch frames’, which take the role of the more traditional I or IDR frames. If a frame is marked as an IDR frame, this means the decoder knows it can start decoding from this frame without worrying that it’s referencing some data that came before this frame. By doing this, you can allow frequent points at which a decoder can enter a stream. IDR frames are typically I frames which are the highest bandwidth frames, by a large proportion. This is because they are a complete rendition of a frame without any of the predictions you find in P and B frames.
Because IDR frames are so large, if you want to keep overall bandwidth down, you should reduce the number of them. However, reducing the number of frames reduces the number if ‘in points’ for for the stream meaning a decoder then has to wait longer before it can start displaying the stream to the viewer. An S-Frame brings the benefits of an IDR in that it still marks a place in the stream where the decoder can join, free of dependencies on data previously sent. But the S-Frame is takes up much less space.
Tarek looks at how an S-Frame is created, the parameters it needs to obey and explains how the frames are signalled. To finish off he presents tests run showing the bitrate improvements that were demonstrated. Watch now! Speaker
Engineering Manager, Video Encoding,
Twitch is constantly searching for better and lower cost ways of streaming and its move to include VP9 was one of the most high profile ways of doing this. In this talk, a team of Twitch engineers examine the reasons for this and other moves.
Tarek Amara first takes to the stage to introduce Twitch and its scale before looking at the codecs available, the fragmentation of support but also the drivers to improve the video delivered to viewers both in terms of frame rate and resolution in addition to quality. The discussion turns to the reasons to implement of VP9 and we see that if HEVC were chosen instead, less than 3% of people would be able to receive it.
Nagendra Babu explains the basic architecture employed at Twitch before going on to explain the challenges they met in testing and developing the backend and app. He also talks about the difficulty of running multiple transcodes in the cloud. FPGAs are in important tool for Twitch, and Nagendra discusses how they deal with their programming.
The last speaker is Nikhil who talks about the format of VP9 being FMP4 delivered by transport stream and then outlines the pros and cons of Fragmented FMP4 before handing the floor to the audience.
The codec world is fragmenting. None of the new entrants on to the market is expected to ever gain the universal status that AVC enjoys. This panel from Streaming Media East takes a look at how to prepare for this.
The panel kicks off discussing the differences between AVC and HEVC, VP9 and AV1 and moves on to discuss the pros and cons of supporting multiple codecs. Tarek from Twitch explains its partial adoption of VP9 – the reasons that it makes sense but the overheads which it brings the business.
Vittorio Giovara from Vimeo explains their reasons for using HEVC including their drive to be able to encode and deliver 10-bit video. Ellation’s Subhrendu Sarakar makes the point that managing codec changes and bitrate changes needs to be done carefully to ensure viewers that notice the change understand them and don’t feel there has been a reduction of quality.
After a brief discussion of encoding strongly characterised video types such as anime and gaming, the conversation moves on to AV1 and migrating from VP9 and there is an audience question on HEVC licensing and the lack of use of SVC (Scalable Video Coding)
It’s now relatively well known that Twitch deployed VP9 using FPGAs rather than as a software encoder which was the only way to get the real-time speed at 1080p60. The panel discusses encoding speed both in the encoder and decoder for VP9 and AV1 then finishes with a Q&A from the audience.
Senior Video Specialist,
Subscribe to get daily updates
Views and opinions expressed on this website are those of the author(s) and do not necessarily reflect those of SMPTE or SMPTE Members.
This website is presented for informational purposes only. Any reference to specific companies, products or services does not represent promotion, recommendation, or endorsement by SMPTE