Internet TV Technical Basics: Video Compression

Have you ever heard that Texas expression that goes something like this:

“That”s like trying to stuff 10 pounds of manure into a 5 pound bag”

Let’s consider that expression as an analogy to what one needs to do in order to get a video file delivered from some server in god-knows-where over the public Internet to whatever device you choose to view it on.

So, how exactly DOES one stuff 10lbs of crap into a 5lb bag?

Well, if there are some gaps of air in it, you can compress it somewhat and get more in the bag, right? No, wait, we’re talking about air here, it doesn’t weigh anything. Scratch that.

Well, you physics majors out there realize there’s no way you can get that 10lbs into the 5lb bag. The only thing you can do is leave some of it behind. So what can you leave behind, and still retain the ESSENCE AND INTEGRITY of the dung (OK, this analogy has gone way too far and ends here).

When you watch Internet TV, the pipe that connects the your computer to the server where the video is stored is in a state of constant fluctuation. How much data can get through that pipe changes from moment to moment.

Think of the video as your “10 pounds of manure” and the pipe can only get 5 pounds through at this instant, but maybe in a few seconds it can only take 3, and then a few seconds later it can handle 7. What needs to happen in order for that video to get through that pipe, is for it to get Compressed, which means getting rid of some of the data that makes up the digital video file, while maintaining its ESSENCE AND INTEGRITY.

In video production, we tend to work with very large video files which are either uncompressed (which maintains 100% integrity, meaning the files contain all of the visual information that the camera captured when the video was recorded), or are compressed to an extent that you can’t see any difference from the uncompressed file (this is defined as Lossless Compression).

You simply can’t deliver these huge files we use in production over the public Internet. Nobody in the universe has a connection fast enough. So we need to Compress the video to a Lossy Compression format, which will degrade the integrity of the video to some extent.

Every single video standard that works for Internet TV involves Lossy Compression.

As time goes on, and technical innovation continues, new and better Compression algorithms become available that let you get better quality at a lower Bitrate.

So what’s a Bitrate?

Basically, your internet connection is like that pipe I was talking about earlier — you can only get so much data through at any given time. So let’s say your “average throughput” is 700kbps (kilobits per second). If the video you are watching was Compressed to a Bitrate of 700kbps, you’d have a very good viewing experience, unless your connection started to drop lower. Then maybe the video would pause or stutter.

Every video you watch on Internet TV was Compressed to a specific Bitrate. On Adobe TV, our videos are generally Compressed to about 600kbps.

Many websites offer a choice of several different Bitrates, so if you have a faster Internet connection, you can view higher quality video. Take this one below as an example:

Once you’ve started playing the video, the button that says “360p” contains selections for 3 different Bitrate versions of the video. Each version is encoded to a different Bitrate, but many sites obscure this by defining the versions by their Frame Sizes rather than their Bitrates (as this tends to be a closely-guarded secret for competitive resaons).

If you go to the highest available bitrate, defined as 720p, the video will look much, much, better and the audio will sound better as well (audio is also Compressed, along with the Video, for delivery for Internet TV). If I had to venture a guess, I’d say 360p is a bitrate of 300kbps, 460p is 600kbps, and 720p is 1mbps (megabit, or 1000 kilobits, per second). But that’s only a guess.

Some Internet TV channels, like MLB.TV and HULU, offer Dynamic Bitrate Switching, which means the Video Player will deliver the highest Bitrate that your Internet connetion can handle, at any given moment, and vary the Bitrate that you get depending on how your connection speed expands and contracts.

To see just how much better Compression algorithms have gotten over the years, let’s look at a video that was uploaded to YouTube 3 years ago (I selected the video randomly, I just wanted it to be a few years old to illustrate my point):

Because of the Compression algorithms available at that time, and also because the video had to be Compressed to a much lower Bitrate back then (as the average user’s Internet connection was much slower then than it is today) this looks pretty rough.

Now here’s a random example from Vimeo, who generally uses a higher Bitrate encoding profile, that was posted and encoded today (go fullscreen to see it in all it’s splendor):

Amsterdam Osdorp from The QBF on Vimeo.

This isn’t even close to the best quality Internet TV has to offer today, but man isn’t that a huge difference?

More on this subject to come soon, this is an incredibly deep topic….