For a platform that’s used for a lot of media production, I’ve found OS X to be quite lacking for converting between different video formats. Recently, I’ve had to convert some H.264 to H.263 (crazy video coding requirements). After trying out several tools here are a couple I’ve found. These get the job done in a pinch but there are some pretty unfortunate annoyances to all of these that I’ll also try to cover.
Quicktime 7 Pro
For some reason, Quicktime 7 has decided to crash on startup on my MBP running 10.6.8. This could be my fault, or Apple’s, but regardless, QT7 hasn’t been updated in forever. Mind you, the standard QT7 won’t do transcoding unless you pay extra money for the Pro version. I’m a little reluctant to pay money for a tool from 3 years ago that currently won’t start on my computer.
ffmpegX
ffmpegX is a front-end to the very powerful ffmpeg command line tools. I think the biggest strength of ffmpegX is that it’s (sort of) a download and run application. One doesn’t need to build ffmpeg (the main reason I didn’t just go with the command line tool). The external tools (mencode, mplayer, mpeg2enc) that need to be downloaded and separately added into ffmpegx take away from the polish of the system as well. The sketchiest part of the install is the box where you need to enter your admin password into the program (rather than using the Mac’s standard privilege escalation box), which I bit the bullet and used even though it made me apprehensive and uncomfortable.
For a quick and dirty conversion using the presets, I think ffmpegX works fine. The annoyances start when one tries to tweak various settings for conversion. When I tried to convert to a 640×480 H.263 3GP file (not possible due to H.263 limitations, I later learned) ffmpegX just died silently without error checking. The only hint that things were amiss were that it was suspiciously speedy and the output file was 0KB. More details were only available through a result console hidden via an icon. Another limitation I found was that ffmpeg really doesn’t support container formats (Quicktime, especially) very well. Unfortunately, a lot of tools that take video as input want things in the standard AVI and MOV containers.
One thing I think all command line frontends can benefit from is a direct entry area that translates the textual commands one would normally type and shows how they map to the GUI frontend. There are many tutorials and instructions about how to accomplish a given task but translating the command line options to the GUI is pretty painful. Moreover, it would make the frontend that much more powerful (and expose advanced functionality) if there was a way to add or modify the actual options that eventually get passed down to the tool.
VLC
I like VLC because it lets me play WMVs and whatnot that I’ve saved from my years working in Windows. I recently discovered that VLC can do transcoding as well. I think the main advantage of VLC is that it’s a clean install and there is minimal fussing with having to deal with managing codecs, etc.. One of the strengths of VLC is that it’s the kitchen sink of video players; it’ll play nearly everything. The wizard interface is also really streamlined. The main problem is that I am still confused why certain container formats work or do not work with the codec choices I selected.
MPEG StreamClip
MPEG StreamClip is a free tool I found after combing through the forums of video annotation/coding tools. Functionality-wise, I was actually successful in using it to convert my video the the desired H.263 MOV file. I was really happy that it exposed the Quicktime codec interface that one sees in iMovie’s video export dialogs. The rest of the interface for the program needs a little bit of work, however. I am still a bit confused about what the thing that looks like the 5 dot side of a die is.