Macs having the reputation they do for creative endeavors, there are as many (or more) video and audio encoding tools for OS X as their are file formats in which to encode your media. Some of the tools available are free and open-source, but many of it are shareware, donationware, or fully commercial products. How is a Mac user, especially one switching from another platform, to know which of them, if any, to use for encoding video from one format to another? Keep reading for a comparison of the key players.
Foundations: FFmpeg and MEncoder
While there is much overlap between the two, FFmpeg is more extensible because of its modular nature and its reliance on other open-source software to accomplish tasks. For instance, encoding MP3 files with FFmpeg is usually handled by the LAME encoder. On the other hand, mencoder will, at least in theory, support RealMedia files where most other applications fail.
The Safe Choice: QuickTime
QuickTime, and I suppose some of us even love it, but it has limitations — and many there are. It is as ubiquitous as iTunes, but for the full experience, add another $30 USD to Apple’s treasury. Even then, QT does not encode Windows Media (WMV or WMA) files without the Flip4Mac WMV Studio from Telestream: another $49 USD.
QuickTime Pro only supports encoding video in selected QuickTime-flavored formats; non-Pro QuickTime does not support encoding at all. What about Ogg, Theora, XViD, Flash Video, or even, as I mentioned, Windows Media? QuickTime is a big disappointment. Did I mention it’s slow? This is one lousy video encoder.
The Easy Way Out: EasyWMV
Put a face on FFmpeg and reduce the available file formats and options, and you get EasyWMV. In the case of FFmpeg, that can be a good thing; my self-built version of FFmpeg supports 102 container formats (from 3G2 to YUV4MPEG pipe format) and 183 codecs! Sometimes it really is possible to be bombarded with too many options.
The price tag of $15 USD seems reasonable for the value the product adds, provided that all you want to do is convert Windows Media, Flash .flv or .swf, MPEG-1, MPEG-2, MPEG-4, QuickTime .mov, Nullsoft Streaming Video, or DVD .vob‘s to iPod or Apple TV compatible MPEG-4 files. EasyWMV is a simple utility meant to do one thing, but it makes doing it much simpler.
For Deep Pockets: Episode
a powerful desktop media encoding application for the Mac. It offers the highest quality and fastest desktop encoding for content repurposing and distribution to new media channels: Web, DVD, and portable devices including Apple video-enabled iPod®, Sony Playstation Portable®, and mobile phones.
It should be: the price tag for the base model is $395 USD. The top-level product, Episode Pro with an optimized Flash 8 encoder, comes in at $995 USD. The Pro level version unlocks MXF, GXF, IMX, H.264 High Profile, MPEG-2 and MPEG-4 Transport Stream codecs; 5.1- and 7.1-channel surround sound; and a few other features.
The real beauty of Episode is that it allows encoding by workflow: If you want a video playable on an iPhone, drag the “iPhone” task into the workflow. For a minority of users (those with Fortune 500 funding), Episode is definitely something to consider. For everyone else, keep reading.
Award For Ingenuity: MoviePod
On the other end of the spectrum, another tool aimed at users wishing simply to convert movies to iPod-playable format, MoviePod, seems to be a better deal than EasyWMV. Both use FFmpeg under the hood to do the actual encoding, so quality is likely to be equal or nearly equal, depending on the parameters each application may set.
Also, MoviePod is cheaper. Coming in at $10 (compared to EasyWMV’s $15), it appears to be a better value. In contrast to most of the other software I’m reviewing today, MoviePod is also available for Windows.
Another feature of MoviePod is that it doesn’t rely only on FFmpeg for its encoding; it also uses MEncoder. Without seeing the code, I can’t say when which tool is used for what jobs, but that the developers, Nullriver Software, wrote MoviePod with the versatility to use multiple encoders is a huge plus in my book. Also included (if you dig for it) is mp4box, an extremely useful utility which can bring new life to otherwise unplayable m4a (AAC) files in remote iTunes shares — but that’s another topic.
Time-shifting With VideoLAN (VLC)
Wildly popular on Linux, VLC is growing in strength with Mac and Windows users alike. As a video encoder, it can be a bit unfriendly, but what makes it uniquely valuable is its ability to time-shift streaming media, especially those pesky mms:// streams.
My Top Choices: VisualHub and iSquint
Of all the apps surveyed, these are the most humorous, and VisualHub is also my personal choice of encoding tools — that is, when I don’t use FFmpeg directly. Also by Techspansion, iSquint is a slimmed-down, free version of VisualHub, geared primarily to users who wish to convert videos to a format appropriate for iPod. VisualHub, on the other hand, has already released an update with presets tweaked for the iPhone.
Both tools also use FFmpeg as their engine underneath the hood. The current version of iSquint (1.5) is running with FFmpeg revision 6213, and the latest version of VisualHub (1.26) is based on revision 9226.
Like the other tools reviewed here, VisualHub takes a lot of the guesswork out of the settings to pass to FFmpeg. For instance, I am quite comfortable converting WMA audio files to AIFF or WAV at the Terminal, but when it comes to converting Flash Video (flv) files into the format needed to burn to DVD, I’m at a loss. Not only does VisualHub step up to the plate, but it tweaks the settings in such a way to produce an amazing video. The output from one recent run converting a QuickTime mov to a DVD-ready vob shows VisualHub running this command under the hood:
vh124FFmpeg -y -f yuv4mpegpipe -i - -threads 4 -target ntsc-dvd -b 7500k -maxrate 8000k -s 720x480 -aspect 4:3 -r ntsc -g 15 -sc_threshold 1000000000 -flags cgop -flags2 sgop -bf 2 -async 50 -i
/tmp/vhtemp/1185497146/27573.wav -ar 48000 -ab 192k -ac 2 -f dvd '/Users/bsh/Movies/'/'Talk_To_Me.mov'.temp.vob
But perhaps the best thing about VisualHub is its Xgrid encoding support. Nothing else in my survey of video encoding utilities supports distributed encoding tasks across multiple systems using Xgrid. Have an old Mac mini or iMac G4 collecting dust? Not anymore! At the price of $23.32 USD per seat, you could encode on 16 systems — simultaneously — for the cost of one Episode license.
As if all these features weren’t enough, both iSquint and VisualHub claim to be (and are) faster than QuickTime Pro, and they produce higher-quality output.
What about iLife?
Yes, there’s iLife, but at its core (no pun intended), it uses the same frameworks as QuickTime: CoreAudio, CoreVideo, and so forth. The only benefit gained by using the iLife products is that the astute user can emulate most of QT Pro’s features using iMovie HD, but it still suffers the same unbearable speed issues and doesn’t support any formats besides those QuickTime does.
Rolling Your Own: Compiling from SVN
Of course, downloading the source and compiling FFmpeg, MPlayer, or both is always an option, and it’s one that I recommend for anyone who has both the technical know-how and the interest in doing so. I use both VisualHub and self-compiled versions of FFmpeg and MPlayer that are frequently updated from their Subversion repositories.
The ultimate answer is that for some tasks, a GUI-based app such as VisualHub or MoviePod is better suited; and for others, it may make more sense to take command for yourself with FFmpeg or MEncoder.
A note of caution, though, to those who do wish to go the way of the command line: FFmpeg is relatively easy to compile, but it relies on many other modules, as mentioned before, which may not be so easy. Like printing counterfeit money, you may find yourself spending days encoding what seem to be good files only to find that no media player will accept them. MPlayer and MEncoder can be even more finicky; with those especially, the best advice is to leave the
The Bad News: Tackling RealVideo
Because of RealMedia’s largely closed architecture, support for the Real formats (RealAudio and RealVideo) has been all but nonexistent on the Mac. Nonexistent, that is, but for Real Player itself.
The developers behind MPlayer and MEncoder have taken the open-source version of Real Player, Helix DNA, and integrated it within their product. In my research, MPlayer and MEncoder (and products based on them) are the only applications that can encode to or from Real format. Even so, my success with transcoding RealVideo into anything else has flatly failed.