Why is it called buffering and not loading of videos?



Why is it called buffering and not loading of videos?

In: Technology

Loading is a process where data is processed as a unit, in its entirety. The processing doesn’t begin until the last byte is available. Buffering is a process where data is processed partially, a piece at a time. The entirety of the data need not be, and often is not, entirely present.

It is called buffering because the video is downloading _more_ than it actually needs to start playback. This is so that if there are connection issues going forward, or your download speed is not high enough to play the video in real time, it will wait until it has enough video to allow for stopless playback. The video that is downloaded is called the buffer, so the process of building the buffer is called buffering.

A buffer in computer terminology is a set of data which is stored only for temporary use. By saying a video is buffering it means the data is being collected and stored for your viewing and then it will be discarded shortly afterwards.

To say the video is “loading” in computer terminology means it is being transferred into some sort of data storage medium, typically being copied from a slow medium such as a hard drive into a much faster medium of RAM. When you are downloading a video from the internet it is both being buffered and loaded; the downloaded data is loaded into a region of memory which is a buffer for video data.

Let’s say your running a race at school and there’s a fat kid named Buffer that’s in the race. To be nice you might give Buffer a head start, let him start, count to 30 then start the race for everyone else. By letting Buffer run first you’re giving him a chance to finish the race before you do.

Now Buffer isn’t some normal fat kid, he’s got control of time. If you run behind Buffer time runs normally. But if you catch up and run ahead of Buffer time will freeze until Buffer is able to run past you and the race continues.

“Buffer” is a word that roughly means “place for data waiting to be processed.”

Download rates are uneven, it’s just part of how the Internet works. If you have something like a video / audio stream that’s going to be shown to the user, how do you deal with that?

Use a buffer. Say a video has 500 kb of data per second. The user will download 5,000 kb worth of data, that’s 10 seconds. Every second the user watches 500 kb, that 500kb (one second) worth of content “drains” from the buffer leaving 4500 kb. Then download 500 kb more to the buffer to “refill” back up to 5000 kb or 10 seconds.

If there’s a temporary hiccup that makes the download slow/stop for say 7 seconds, the buffer will “drain” all the way down to say 1500 kb. But no problem, as long as the user’s Internet connection is faster than 500 kb per second, the buffer will start to fill back up as soon as connectivity is restored: It will be able to download say 800 kb per second while the user only watches at a rate of 500 kb per second.