What is Buffering in Video Playback?
Buffering is the state where video playback stops because there is no video available locally on the device. This state is typically reached when a video has partially downloaded, but playback has reached the end of the downloaded video. With no more video to play, there is nothing for the player to do, other than stop the video. Often a spinner (or other symbol indicating 'please wait') is displayed. A common synonym for buffering is stalling.
Buffer: A video buffer is the amount of video that is downloaded and available on the device for playback. This is video that is ahead of the current playback mark.
In many video players, you can see the buffer as a differently colored line:
In the video above, there are 23 colours on the playback bar: red, green and white. The red line marks the 2 seconds of video that has played, the green bar shows the amount of video in the buffer, and the blank space beyond to the end has not yet been downloaded. Typically the color for the buffer is a bit more muted, but they were made more garish for this example.
In HLS video streaming, it is common for the player to have 2 segments of video in the buffer before video playback can begin.
The goal of adaptive bitrate streaming is to ensure there is enough video in the buffer by changing the video quality to adapt to the network speed. When the network slows down, the player begins requesting a lower quality video (smaller in size so will download faster). This prevents the video buffer from emptying - which leads to a stall or buffering state of the video.