If you are Broadcasting to Twitch with a recent version of XSplit or OBS, you may have noticed the option to select between VBR (variable bitrate) and CBR (constant bitrate). Twitch suggests that all Broadcasters use CBR for several reasons, all of which relate to the final quality of service (QoS) that your viewers will experience.
The main problem with VBR is during lulls in the action: paused games, hero selection screens, even famous talking heads. During these sections of video, VBR streams produce a significantly lower bitrate, which can cause issues on pretty much any end-user connection when the bitrate spikes back up during the action (team fights, Protoss vs. Protoss battles, 2GD petting Victory Cat). This is due to interactions between multiple RTMP, other TCP streams, routers, buffers, and a whole complex morass of tech buzzwords.
VBR also leads to issues when sending data to the Twitch network over many ISPs. When connecting to Twitch, the route your ISP takes may not be stable enough to handle sudden increases in bandwidth, leading to “broadcast starvation.”
Broadcaster starvation (instability) is when video data is not arriving on time, or completely missing to twitch servers. This happens when there are network problems between you and twitch, when you attempt to stream at a bitrate that is too high for your network/isp, or have problems with your router causing frames to be dropped before entering the Twitch network. This leads to lag for everyone including people watching on your lower resolutions, buffering, and stream disconnections.