I'm a GPGPU snob when it comes to video transcoding
Posted on 8th Jul 2009 at 10:08 by Richard Swinburne with 13 comments
If I'm forced to use a CPU, it feeeeeeels painfully slow.
Everyday I get the train into London, and with the luxury of a 16GB iPod touch I usually watch an episode of something on the way in. The downside is that this usually requires transcoding video from a DVD or other source so that it works on the iPod.
Since my PC houses a still very capable GeForce 8800 Ultra, I decided it'd be worth having another look at Badaboom, the CUDA compatible GPGPU video transcoder.
It's come a long way since we first saw it and for the most part it works great - a 30 minute episode of animation or TV takes 3-5 minutes to do in the morning. By the time I'm out the shower it's ready to zip to the iPod and I'm out the door.
After some playing around I've worked out that a bitrate of about 900kbps is a sweet spot for quality and size, and while its simplistic interface opts for flashy over simple usability too much for my liking, it works. Most of the time.
It still lacks a lot of advanced features - due to the way some videos are already encoded, I've found some anime with hardcoded subtitles falls out of sync with the audio and I either put up with it or use another application to offset the audio. Another lacking factor is that, despite the fact it'll take a DVD's TS_VIDEO folder and churn out a whole movie from it - there's no subtitle support for foreign flicks.
And finally, the real laughable kicker is that I've found that - now it's summer - it overheats the graphics card so I get display driver resets causing Badaboom to continually crash.
For some reason, perhaps because it's CUDA and not a game, the drivers don't spin up the fan so the card simply cooks in silence. Admittedly I've also taken to trying some ~90 minute movies that take longer to encode, so I've found within my case environment it takes 6-7 minutes to crash - obviously I wasn't really seeing this beforehand with a 30 minute episode that finished in just four.
So out comes EVGA's Precision Tweaker, and forcing the fan to 100 percent fixed that while it encodes!
Crashes aside, I concede GPGPU makes my life more convenient. Part of me wants to throw more stuff at my graphics card simply because it's sitting there for long stretches of time doing nothing. It's not exactly value for money. I can generate a Windows Aero display on a £60 GeForce 8200 motherboard, and that's all my Ultra is doing all day long between (sadly, rare) bouts of gaming, so adding purchase value by using it as much as possible is something I'm all for.
It's what makes Ion (and products such as the Acer Aspire Revo) mostly useless - while on the workstation level companies are falling over themselves to develop apps for GPGPU, on the consumer end of things it's virtually all CPU still - which means on Atom, you really feel the limitations of the chip.
I just wish there was more open source transcoder development that took up OpenCL extensions, because having also briefly tried other CUDA consumer apps for sh**s and giggles, there's not much worth spending money on: TMPEG Xpress is hardly wonderful, and Cyberlink's MediaShow Express is overly simple and uses ludicrous amounts of unnecessary flashiness to try and mask this.
The bottom line is, if you're one of many who watches video while travelling, and chances are you have a compatible graphics card then give it a whirl, because it does make converting video a whole load more convenient. Just don't take more than four minutes to encode it!