Making MP4 H.264 Videos in Apple Compressor

UPDATE June 2013: This method will work but it’s likely to cause playback problems with Android devices. Android officially only supports up to Baseline profile and it’s hard to control the profile of videos encoded with Compressor. If you’re concerned about Android compatibility, I highly recommend Handbrake.

Unless there’s a specific need for something else, I almost exclusively encode web video using H.264 in an MP4 container. It looks great, and is the most widely compatible format I know. I started doing it mostly because Flash Video players support it without having to re-encode as FLV. Here are the settings I use in Compressor:

Do this on a full-quality “Current Settings” QuickTime movie already exported from Final Cut Pro. Don’t export directly to Compressor from FCP. This is a lot cleaner.

Start with the “QuickTime H.264” preset in the Apple/Formats/QuickTime folder. It might seem wrong, but we’re not going to use the MPEG-4 “File Format” setting. We’ll be working in QuickTime Movie format since we get the most control over compression settings that way.

Drag the preset onto your video to apply it.

Change the Extension setting to mp4. Yes, it’s really that easy. You have to change it here though. You can’t just change your .mov filename to .mp4 after it’s encoded.

UPDATE  August 2012: I used to get invalid public atom errors when I renamed .mov H.264/AAC files to .mp4, but I just had a whole bunch of .mov files otherwise encoded with these settings that I needed to play in a Flash player. Sound played, but no picture. I didn’t have time to re-encode, so I tried just renaming the file and changing the extension to mp4. Picture now plays fine in the Flash player in Firefox, and QuickTime Player can open the files locally with no problem. The .mov extension wasn’t even an issue for the HTML5 player in Chrome.

Next, click on the Video “Settings…” button and use these settings:

You might need to change these based on your needs. I find the sweet spot for quality and file size lives between that Medium and High setting. Some streaming may require you to restrict the data rate. Multi-pass encoding hardly adds any time to the process (the 2nd pass is very quick) so I always leave it on.

Click OK, and move on to the Audio “Settings…” button. Switch the Format over to AAC and you should be fine.

If you have to be stingy with your bits, you can fiddle by going down to Mono or reducing the Target Bit Rate. I’m generally of the opinion that we shouldn’t be too stingy with our bits, so I don’t do that.

Hit OK and move on to Streaming. Change it to “Fast Start”

This lets your video start playing before the file finishes downloading. It’s not streaming, but progressive download; like YouTube. Don’t choose Fast Start – Compressed Header because that will prevent Flash players from taking advantage of the progressive download and won’t really help your file size much.

Frame Controls. Use them if you have the time. It really makes a difference in quality but definitely increases encode time. I usually just switch it on and leave it at the default settings unless I need to deinterlace or change the framerate. In this case I’m only really using the Better Resize Filter.

Finally, do whatever you need to in the Geometry tab to output the resolution you need. Keep the height an even number. Odd numbers freak out the H.264 codec. In this case 720×405 is closer to 16:9, but change it to 404 and everyone will be happier.

Save your custom preset and then submit. Make sure you set up a QuickCluster if you have more than two cores and you’ll get a real speed boost.

Files encoded this way work perfectly with my Video Embed & Thumbnail Generator WordPress Plugin.

The Thunderbolt Logo Looks Like Electricity

Apple just announced the Thunderbolt port on its new Macbook Pros. Thunderbolt is a dumb name, but so is Firewire if you think about it, which I never had before. And it’s better than its old Intel code name Light Peak, which was no longer accurate because the first generation of Thunderbolt cables don’t use optical technology.

This seems like a good thing. Firewire is slow. USB is slow. USB 3 hasn’t caught on, and nobody ever adopted the higher speed Firewire protocols. We needed something really fast to replace the ExpressCard slot we lost in 2009 when 15″ MacBook Pros switched to SD Card slots. And if this could replace expensive things like fiber and SAS and open up high speed data transfers to inexpensive peripherals I am all for it. I’m not sure it can, but why not try?

But seriously. This?

That is the standard symbol for electricity, or an electrical hazard. If I saw that on a computer I would think that’s where the power cord goes, and I would be sure not to stick my finger in it. And personally I would be confused because it looks like a DisplayPort (which it is too). Here is what you get when you search for “Electricity Sign” in Google Images:

Looks like electricity. Why use the exact same graphic for Thunderbolt rather than inventing a new graphic like USB & Firewire have? It’s unnecessarily confusing.