Video Compression for the Web – Part 2: Your Settings

Yesterday I covered a brief history about online web video. Today I want to talk about settings. Tomorrow in Part 3 we’ll address the pros and cons of various online sharing resources.

It happens every week, sometime multiple times a week. I stare at my computer screen and think to myself, “What settings do I want to use?” I’m talking of course about the settings I will use for the videos I compress for online playback.

As you recall, yesterday I shared how back in the day, I used to export Windows Media Player (.wmv) videos. Then I upgraded to Flash (.flv). Now, with the onset of HTML5, I choose a format that yields the best combination of quality and compression. (I’ll get to the specifics in a minute).

Like yesterday, I feel a disclaimer is needed. Remember, I’m only a quasi-expert at this stuff. There are people like Jan Ozer who are a gajillion times more experienced than me (well, maybe not a gajillion. But at least 2-3 times. :) ) In fact, I wouldn’t be offended at all if you bounced from my site and just hopped on over and read all of his articles. I promise. You won’t hurt my feelings.

Okay, for those of you who stayed, let me say that I promise the information I give you will be relatively simple to understand, and it will be rooted in my real-world practices. What I’m sharing is how I do it. It’s not necessarily the right way. It’s just A  way. Some of you I’m sure have better ways. If so, please share in the comments.

Okay. Here we go.

Resolution

First, let’s cover a basic decision. What resolution to choose. Chances are, the majority of you are editing high definition (HD) videos. I’m talking 1920×1080 or 1280×720. This is what I’m working with. But it wasn’t always this way. If I may reminisce again, I remember when the videos I’d output were 320×240 (or 400×300 if I was being daring). This was back in the Standard Definition (SD) days. It’s just so funny to even think about that now. I look at some of my old video exports and think, “How in the world did people ever accept such teeny-tiny video).

Then, when I  started shooting in a 16×9 aspect ratio, I stared exporting videos at 400×225 or 500×281. This was still an SD resolution.

resolutionchart

Image from Wikipedia. Creative Commons license.

Now my resolution of choice for videos I post online are 1280×720. In some rare instances I will export a video at full HD resolution of 1920×1080. But most video sharing sites default to a much lower resolution (960×540 or 640×360). As long as you upload a larger video, viewers will still have the option to choose a higher resolution if their monitors can handle it.

Of Bits and Bytes

Once you know what resolution you want, the next decision (and perhaps the most important) is what data rate to set. This is where it may get a tad more technical, but I’ll try to keep it simple.

There are bits and bytes. Approximately 8 bits make up one 1 byte. Most of the data rate figures you see will be in megabits per second (often written mbps). The capitalization is important. Because if you write MBps, this traditionally stands for mega-bytes per second, not -bits. But don’t be surprised if you ever come across an article using MBps, but meaning mbps. You’ll know by the size of the number. Here are some common numbers to give you perspective.

  • The .MOV files in popular Canon DSLRs are compressed at approximately 45 mbps.
  • The .MOV files in some of the most popular Nikon DSLRs range from about 14 mbps to 24 mbps (depending on the quality setting)
  • The popular Apple codec ProRes 422 is about 145 Mbps; ProRes LT is about 100 mbps; ProRes Proxy is about 45 mbps
  • SD DVDs range from 4 to 8 mbps

If you want to convert mbps to MBpbs, divide by 8. So those Canon DSLR files I mentioned above are just over 5 MBps.

So, what data rate should you choose. Vimeo suggests 2 – 5 Mbps for SD, 5-10 mbps for 720p HD and 10-20 mbps (fyi: kbps is kilobits per second. Approximately 1,000 kbps equals 1 mpbs. This is not to be confused with KB, kilobytes. And yes, there are about 8 kb for every 1 KB.)

vimeo-settings

Vimeo’s suggested data rate settings.

Personally, I typically choose a compression rate of 4 to 7 mbps for my 720p videos. Partly this is because I think the quality you get is really good and I don’t want any playback issues for my viewers. But I also admit that part of it was because I use Compressor and choose the AppleTV format. This setting only had a range of 1500 to 5000 kbps (i.e. 1.5 to 5 mbps). If you have an amazing looking video with tons of detail or motion, you may want to opt for the higher rate. It pays to experiment.

vimeo-compression-tutorials

As of this writing, Vimeo has about 40 video tutorials for just about every kind of program that can export video. Click image to access page.

Video compression is not the only compression to consider. There’s also audio. I typically keep the default 128 kbps setting. Vimeo suggests 320 kpbs. Wow! That seems high. But like I said. I’m only a quasi expert. But frankly, I’ve always used 128 kbps, and have yet to hear any issues.

Two more notes about compression. First, the video sharing sites you use will have their own video compression when converting your video to a web-based version. It’s worth looking into their information to find out what that is.

Second, most compression programs will give you the option to do constant bitrate (CBR) vs. variable bitrate (VBR) compression. CBR will compress the entire video at the same rate, say 4 mbps. If you’re not concerned about file size, this may be a good option as it’s faster and takes less processing power. VBR is a system whereby the computer will compress different parts of the video at different rates (you will enter some target or average rate). So high motion parts of the video will get a higher rate than say sections where there’s no motion at all. That way you can better optimize the video. Furthermore, there are two kinds of VBR: one-pass and two-pass. In one pass, the computer looks at the subsequent frames of the video and makes a prediction of the optimal rate. With 2-pass, the computer will look at the whole video once, then based on that first analysis, go through it again to make the best compression decisions. Two-pass VBR will yield the best combination of quality and file size.

Codecs and Formats

There are many different codecs to consider when exporting for the web. Codec is short for “compression-decompression.” It’s the algorithms used by the computer to compress large video files into something more manageable.

Video format are the wrappers used to hold those compressed videos.

As I mentioned yesterday, all major video sharing sites will accept all the popular codecs. So whether you’re a Mac or a Windows person, the format you export can yield a video people will be able to watch, regardless of operating system or browser. Here’s a run-down on some popular codecs:

  • H.264: the popular codec used by most DSLRs and one of the top codecs used in compression for the web. It’s also the format used for Blu-ray disc compression. (Note: H.265 is on the horizon.)
  • MPEG-4: another popular standard for the web. Most mpeg-4 videos have the suffix .mp4. But .m4v is also an mpeg-4 format (specifically it’s a video mpeg-4 format. .m4a is an audio mpeg-4 format).
  • MPEG-2: format used for creating standard definition DVDs.

It should be noted that .MOV is not a codec. It’s the suffix for a QuickTime video, but that video could be any number of codecs. You can have an h.264 .mov file, a ProRes .mov file, an MPEG-2 .mov file, etc. Popular video formats on Windows systems include .AVI and WMV files.

As I also mentioned above, I export using Apple’s AppleTV preset (a .m4v, h.264 codec). I like it because it yields a high quality video with optimal settings for smooth playback. It’s also a format that is playable on popular mobile devices.

One of the nice features of FCPX export menu, is the ability to see which devices will be compatible with the settings you choose.

One of the nice features of FCPX export menu, is the ability to see which devices will be compatible with the settings you choose. This only applies to the file itself. Once uploaded and converted, it’ll be viewable by a majority of devices.

The Best Combination

compressor-settingsYou’re probably wondering: okay, what’s the best combination of resolution, data rate and format? C’mon. You know better than to ask that question. There is no “best” combination. It all depends.

  • Who’s your audience?
  • What are they most likely to be using to view your videos?
  • What kind of video is it? (I would use a different set of settings for a guy talking on stage vs. a cinematic film shot in the Rockies.)
  • How long is the video?
  • Does the video sharing site I use have upload size limits?
  • Are there bandwidth issues I have to consider (e.g. if you upload to a site that limits how much monthly bandwidth you get)
  • Do you want people to have the option to download the original file?
  • What formats does your video sharing site accept?
  • Will your video sharing site automatically create multiple sizes and data rate for the video for playback on different internet connection speeds?

As you can see, there’s a lot that goes into picking the perfect recipe for your web-based video content. Here’s my usual recipe:

  • Video:
    • AppleTV codec, h.264
    • 1280×720
    • 4-7 mbps (depending on the video)
    • Frame rate (source, which is usually 23.976, aka 24 fps)
  • Audio:
    • AAC
    • 128 kbps
    • 44.1khz

What’s your favorite web compression combo?

Learn More

If you’re serious about improving your craft as a filmmaker, I invite you to join my email list. I’ll be sharing various opportunities and resources for filmmakers and videographers to grow their craft and their business (many of which will be absolutely free). As a thank-you for joining the list, I’ve been given permission to share with my list joiners a copy of theKre8Insights eBook, The 6-figure Videographer (a $90 value). OR, if listening rather than reading is more your thing, you can choose to get my 75-minute mp3 “Power Pricing”. This is a coaching call I did with a client where I walked him through the process of pricing his services. Sign up now.

About these ads

11 Responses to “Video Compression for the Web – Part 2: Your Settings”

  1. Thank you Ron for an outstanding article, simple but well explained. I am on your email list for quite some time now, am I eligible to get your 75-minute mp3 “Power Pricing?’

  2. Greetings from California! I’m bored to death at work so I decided to browse your site on my iphone during lunch break. I enjoy the information you provide here and can’t
    wait to take a look when I get home. I’m shocked at how quick your blog loaded on my mobile .. I’m not even using WIFI, just 3G .
    . Anyhow, superb blog!

  3. Ron:

    As usual, your post is very useful. For many of my projects, I don’t need to stream my videos on the web. My goal is to share them with families and businesses that have commissioned my personal history productions. I shoot and edit in ProRes 422, so I want to make sure the high quality flows through to the final files. I also want my clients to be able to play the files on a Mac, PC, TV’s etc. So, I use the following Compressor setting:

    The “container” is Mpeg-4 (mp4), the codec is H.264 main profile and a 10,000 kbps bit rate.
    Audio is at 44.1, 128 kbps.

    The resulting files are very large, but I give them to clients on 16GB USB 3.0 drives. VLC plays the files with no problem.

    The question, then: Is is an all-around acceptable compression setting for my use? Given my audience, is there a hidden flaw in these settings?

    Thanks,

    Jim

    • Thanks for the kind words. For what you’re doing, this seems totally fine. I assume if you’re using that high a data rate you’re giving them a full 1080p file?

      • Yes, I used a high data rate since the files will be viewed locally, and storage is cheap. The files, hopefully, will be saved by the families for many years. If they are converted to new formats, and viewed on future devices, I figured more is better. But certainly no guarantee of compatibility in the future.

  4. I strongly suggest that you do some testing before making recommendations. I’ve yet to see so called HD uploads really live up to their HD specs. Most HD material I upload at their native res or exactly half res. Interpolation of resolution at other than even divisions results in loss. You can test this yourself. Upload a source 1920 x 1080 video at 960 x 540 then @ 1280 x 720. See which turns out better both in temporal and spatial resolution.

    • Thanks for your comment Larry. As I state in the blog post, first I’m a quasi-expert. Go to Jan Ozer’s site if you want more detailed analysis to satisfy the internal pixel peeper. :) Second, these are just my real world specs. If they don’t work for you, that’s cool. That’s why I also offered what Vimeo specifically suggests. I think between what I do in my real-world client situations and what Vimeo suggests, a person can feel comfortable with that range of options. But I know for a fact that none of my clients or THEIR audiences are having any issues with the specs I’m uploading.

Trackbacks/Pingbacks

  1. Video Compression for the Web – Part 2: Your Settings | planet5D pinterest news - March 6, 2013

    [...] Video Compression for the Web – Part 2: Your Settings Mar 6th, 2013 @ 07:00 am › planetMitch ↓ Leave a comment [...]

  2. Video Compression for the Web – Part 1: A Brief History | Dare Dreamer Magazine - March 7, 2013

    [...] 1 will deal with the online video landscape. Where it was and where it’s come. Part 2 looks at the specifics of choosing compression settings and formats. Part 3 looks at the pros and [...]

  3. Video Compression for the Web Part 3 – The Host | Dare Dreamer Magazine - March 7, 2013

    [...] part 1 I covered a brief history of video on the web. Yesterday in part 2 I got down to the nitty-gritty of what settings to use for web compression. Today I’m going [...]

Follow

Get every new post delivered to your Inbox.

Join 5,911 other followers

%d bloggers like this: