Dynamic, real time quality optimization of streamed video
Twitch is a video live streaming service and a subsidiary of Amazon. Twitch primarily focuses on video game live streaming, broadcasts of esports competitions, music and creative content. Twitch clients upload their encoded video to Twitch’s servers. The user generated content (UGC) is then transcoded. Transcoding is the process of decoding UGC, making alternations to it, and then encoding it again. During transcoding, video will be encoded at a lower bit rate or its resolution might be lowered. Transcoding is a resource-intensive process, but it is necessary since streaming solely at a high bitrate and resolution might inadvertently prevent a sizable number of audiences from watching the streamed video. The goal of this project is to develop a computationally efficient learning-based approach to make a run-time decision on resolution and encoding recipe during transcoding to achieve the best quality for a given bit rate.