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.
We’ve got used to a world of near-universal AVC/h.264 support, but in our desire to deliver better services, we need new codecs. VVC is nearing completion and is attracting increasing attention with its ability to deliver better compression than HEVC in a range of different situations.
Benjamin Bross from the Fraunhofer Institute talks at Mile High Video 2019 about what Versatile Video Coding (VVC) is and the different ways it achieves these results. Benjamin starts by introducing the codec, teasing us with details of machine learning which is used for block prediction and then explains the targets for the video codec.
Next we look at the bitrate curves showing how encoding has improved over the years and where we can expect VVC to fit in before showing results of testing the codec as it exists today which already shows improvement in compression. Encoding complexity and speed are also compared and as expected complexity has increased and speed has reduced. This is always a challenge at the beginning of a new codec standard, but is typically solved in due course. Benjamin also looks at the effect of resolution and frame rate on compression efficiency.
Every codec has sets of tools which can be tuned and used in certain combinations to deal with different types of content so as to optimise performance. VVC is no exception and Benjamin looks at some of the highlights:
Screen Content Coding – specific tools to encode computer graphics rather than ‘natural’ video. With the sharp edges on computer screens, different techniques can produce better results
Reference Picture Rescaling – allows resolution changes in the video stream. This can also be used to deliver multiple resolutions at the same time
Independent Sub Pictures – separate pictures available in same raster. Allows, for instance, sending large resolutions and allowing decoders to only decode part of the picture.
Many companies would love to be using free codecs, unencumbered by patents, rather than paying for HEVC or AVC. Phil Cluff shows that, contrary to popular belief, it is possible stream with free codecs and get good coverage on mobile and desktop.
Phil starts off by looking at the codecs available and whether they’re patent encumbered with an eye to how much of the market can actually decode them. Free codecs and containers like WebM, VP8 etc. are not supported by Safari which reduces mobile penetration by half. To prove the point, Phil presents the results of his trials in using HEVC, AVC and VP8 on all major browsers.
Whilst this initially leaves a disappointing result for streaming with libre codecs on mobile, there is a solution! Phil explains how an idea from several years ago is being reworked to provide a free streaming protocol MPAG-SASH which avoids using DASH which is itself based on ISO BMFF which is patent encumbered. He then explains how open video players like video.js can be modified to decode libre codecs.
With these two enhancements, we finally see that coverage of up to 80% on mobile is, in principle, possible.
AV1 is famous for its promise to deliver better compression than HEVC but also for it being far from real-time. This talk has a demonstration of the world’s first real-time AV1 video call showing that speed improvement are on the way and, indeed, some have arrived.
Encoding is split into ‘tools’ so where you might hear of ‘h.264’ or ‘MPEG 2’, these are names for a whole set of different ways of looking at – and squeezing down – a picture. They also encompass the rules of how they should act together to form a cohesive encoding mechanism. (To an extent, such codecs tend to define only how the decode should happen, leaving encoding open to innovation.) AV1 contains many tools, many of which are complex and so require a lot of time even from today’s fast computers.
Cisco’s Thomas Davies, who created the BBC’s Dirac codec which is now standardised under SMPTE’s VC-2 standard, points out that whilst these tools are complex, AV1 also has a lot of them and this diversity of choice is actually a benefit for speed and in particular for the speed of software codecs.
After demonstrating the latency and bandwidth benefits of their live, bi-directional, AV1 implementation against AVC, Thomas looks at the deployment possibilities and of AV1. The talk finishes with a summary of what AV1 brings in benefits to sum up why this new effort, with the Alliance of Open Media, is worth it.