system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why do video buffer times lie?

It seems like with just about every video player there is online, the load bar will claim that a certain amount of it is buffered, and yet the video will stop to buffer more when there is still at least half an inch or more of supposedly loaded time on the bar. What gives?
gpt
They're estimates based on a simple calculation that assumes a constant download/streaming rate from the server, with a video file encoded at a constant bitrate with equal size frames. 

However, IRL the data is delivered to your computer at a rate that fluctuates unpredictably, and videos are often encoded at variable bitrates and use encoding techniques that produce a file where not every frame of the video is the same amount of data.

So while the player can know or be told it needs X number of frames of video before it can start playback, it can't accurately predict how large those frames will be or exactly how long they'll take to grab from the server until after they've been downloaded.

A little more info: Video encoding compresses data in a number of ways, but one with a large effect is when frames in a video refer back to frames that have already been rendered.

For example, if you have 30 frames of a ball sitting on a beach, the first frame will include all of the data to render the entire scene, but the next 29 frames will save data by referring back to the first frame. Maybe the waves in the background move but the ball doesn't, so frames 2-30 would have data for how the waves need to be displayed, but could just refer back to frame 1 for the data about the ball.

It can get even more difficult to predict the size of future frames when you consider that the scene of a ball on a beach requires a lot more data than a scene with a single, flat color, like when a frame is only black. And there's really no way for a video player to know in advance if a director chose to fade from the beach to black for frames it hasn't yet downloaded.

This means that frames in a video can vary drastically in size in ways that cannot be predicted, which makes it almost impossible to accurately calculate how long a video will take to buffer.