In their memorable hit single from 2000, the Baha Men asked, “Who Let the Dogs Out?” Their lesser-known follow-up album, “We’re Pretty Sure Dauger Research Let the Dogs Out,” focused less on woofing and more on Message-Passing Interfaces (MPIs). It was panned by audiences and critics alike as “too cerebral,” “confusing,” and â€” most injurious to the Baha Men â€” “dorky.”
What so inspired the Bahamian pop group was a parallel computing application called Pooch, which allows for the formation of ad hoc computer clusters over Ethernet. Each cluster is composed of “nodes,” individual Macs running the Pooch application, which communicate through the aforementioned Message-Passing Interface. Pooch takes a given input, separates it into smaller chunks, then farms out the job to all available nodes in the network. In terms of video compression, this means partitioning the render along the timeline, giving segments of it to three or more CPUs to compress, then reassembling the finished product at a user-specified destination. In other words, you give Pooch a minute-long video and 10 identical CPUs, and Pooch assigns each CPU 6 seconds of the video to encode. Then it drops the finished file on your hard drive. Pretty straightforward.
Particularly useful for our Clip Capture purposes is the Pooch QuickTime Exporter Component, which parallelizes the video export function without the need for any coding on the user’s part. It’s compatible with QuickTime-based Apple programs like iMovie and Final Cut Studio, and has a pretty simple interface. It also provides surprising increases in speed.
I took a one-minute DV clip from an episode of Planet Earth and exported it to H.264 using 0 nodes (in other words, no Pooch), 2 nodes, then 3 nodes. Here are the results:
Using the 0-node compression as a benchmark, it’s clear that Pooch provides a pretty substantial boost in processing speed.
In terms of quality, the Pooch x264 output was pretty similar to a regular x264 compression (see still frames of the original DV file, the regular compression, and the Pooch compression). As usual, the x264 codec made everything a little bit darker, an effect that was exacerbated in the Pooch version. Also, the Pooch compression seems a little . . . compressed. As in squished. There’s a tiny strip of black on the left side of the video that isn’t there in the original or the 0-node compression. Maybe not jaw-droppingly, gut-wrenchingly awful â€” but definitely something to be aware of.
In terms of system requirements, Pooch is pretty low-maintenance. It can manage clusters of computers with different processor speeds, different RAM, even different versions of Mac OS. One thing that I did discover, and this is very important: all nodes must have the same video codecs installed. You can’t expect a computer without the x264 codec to do an x264 compression.
|Faster video compression at no added expense||“Best quality” (e.g., two-pass) encodes not possible|
|User-friendly interface||Additional MPI scripting needed for applications other than QuickTime|
|Queuing capability||Possible inconsistencies in compressions|
|Multiple file destinations from a single compression job||Difficult to implement when nodes are receiving regular use|
|Annoying woofing sound (though not as annoying as that of the Baha Men) pooch-woof|
Pooch is used by such prestigious organizations as NASA’s Jet Propulsion Lab, the MGM hotels in Las Vegas, the Biological Engineering Division at MIT, and William Shatner.
It is available for free download at the Dauger Research Pooch page.