When we watch a video online, we usually get an option to pick a quality/resolution at the bottom right of the player. It’s often represented by a little gear icon that lets us choose either “auto” or a specific format like 480p or 720p.
But when we watch a live stream, those options might vary or be completely absent.
In this article I’ll discuss why that is and how different services deal with Quality Options in Live Streams.
What are Quality Options and why do we have them?
When a video clip is uploaded, the original file is often transcoded into several different file sizes and resolutions before viewers can watch it. Every streaming service does this, from Netflix to Amazon Prime, from YouTube to Vimeo. This is done to accommodate a stable and fluid feed no matter how fast (or slow) the current network connection between the server and the viewer is.
The contents of each transcoded clip is the same, but the amount of bandwidth needed to stream this data to the viewer’s device may vary, depending on how fast it can be transferred. Usually the video player is clever enough to adjust which clip is needed depending on how much data can be requested. Most of the time it works adequately well, but sometimes we may get a better picture by changing the format manually.
All uploads are put into a big queue and and processed into all those available Quality Options, and as soon as the process is finished, they are made available. That’s why right after an upload is done, not all HD options may be available to viewers. 4K transcodes in particular can take hours until they’re available.
Transcoding takes time and resources, but eventually these will become available to uploads on that huge cluster of cloud computers – even if it does take some time.
With live streams however, things are a little different. Because a live stream cannot wait to be transcoded, resources need to be made available to potentially every streamer, and unless a service has a near unlimited capacity, they’ll have to make choices as to which streamer gets those precious live resources first. Different providers have different criteria of dealing with this dilemma. Let’s examine them below.
Being arguably the biggest video streaming service on the planet (at the time of writing, in April 2019), YouTube probably have the biggest infrastructure when it comes to giving resources to uploaders and streamers alike. No matter how big or small you are, if you’re starting a live stream on YouTube, your viewers will see all available Quality Options.
No matter at what bandwidth you stream to YouTube, all footage seems to be transcoded before it reaches viewers. For example, streaming at 20Mbps in 1080p 60fps will mean that viewers do not need that much bandwidth to see the stream, as YouTube transcodes this to between 6000 and 9000 Mbps, and further down for lower quality options.
Even though Amazon’s Twitch is big, they do not give every streamer every Quality Option: only Twitch Partners are guaranteed that privilege, and if available, Twitch Affiliates will get transcoding options. Regular non-partnered and non-affiliated Twitch streamers’ content is not transcoded, merely buffered and flipped. All that’s needed for Twitch to relay the signal is bandwidth, not transcoding hardware.
Hence, if you stream at 6000 Mbps in 1080p 60fps, your viewers will only have a single option to watch your feed, at the data rate you’re sending
After Microsoft’s acquisition of Mixer, only Mixer Partners get Quality Options. For example, a 1080p source signal will be made available at 720p, 480p and 240p. Mixer’s transcoding page states that sometimes, non-Partners will receive these options too – but there doesn’t seem to be a pattern behind it. Likewise, a source larger than 1080p may not get guaranteed transcode options, even when the streamer is a Mixer Partner.
Hence, when regular non-Partners stream using the FTL protocol, their own transcoded data (and bandwith) ends up with their viewers. Data is merely flipped and scaled, which makes the FTP Protocol so lightning fast.