Badaboom 1.1.1 Review

Zertz - 2009-02-05 19:00:10 in Software
Category: Software
Reviewed by: Zertz   
Reviewed on: April 7, 2009
Price: $30


Just a few years ago, digital media, movies and other video content were mostly stored on optical storage, as hard drives we're relatively expensive and the idea of watching video somewhere other than in the living room sounded kind of weird. Nowadays, the concept of always staying online and carrying data with you, whether for entertainment or business, has become widely popular. Not only that, but you can also easily and, more importantly, legally acquire digital content online. Unfortunately, converting digital media from one format to another has always been a lengthy and often painful process. It takes a while on two or even four cores, let alone a single core. That's until the GPGPU, General Purpose Graphical Processing Unit, came into play. Graphic cards have a bunch of smaller cores that are optimized for processing pixels, so why not exploit them to their full extent. Basically, they took the massively parallel video card architecture and designed a way to use it just as if it was a regular processor. What does this mean? Potentially much quicker calculations than if the work was being done on a processor. This chart, which nVidia probably enjoys looking at, really shows how much raw power is available on GPU's. Unfortunately, it's a hard to tame the beast and only appropriate for specific applications.








Cost, energy efficiency and performance per watt are all important considerations in today's computing world and there is a lot of research and development being done in that direction. That's why many huge corporations are busy sinking money into such applications, including the open source OpenCL and AMD's Stream. Microsoft is designing the upcoming DirectX 11 and nVidia has its CUDA, which are both proprietary languages. Since they're all pushing their own software development kits, rate of adoption of the various standards has been rather slow. Developers are also wary about writing their software in either languages since, as of now, CUDA won't run on AMD hardware and vice versa.


Today, I will be looking at a seemingly interesting product from three year old Elemental Technologies that makes use of nVidia's CUDA technology. The software, called Badaboom Media Converter, which sums it up pretty well, is based on its RapiHD technology. That's the same API around which Adobe's latest GPU accelerated Photoshop CS4 is based. While Badaboom cannot play any kind of media, it can convert most of it into various popular video formats. Digital media has now become a part of our lives and we need it available on all our gadgets. Whether it's Apple's "iThings," RIM's BlackBerries or simply that brand new HTPC in the living room, they all play their own format, at their own resolution. That's exactly where Badaboom makes our lives much easier; give it almost any video file and it'll get it to play on many devices.

As you can see from the slide below, Badaboom accepts a rather complete list of input files up to full high definition resolution. It can output the same high resolution in H264 format or scale it down to fit smaller screens, while the sound output is restricted to 2 channel AAC LC. The system requirements are pretty simple; all you need is a CUDA enabled GPU, which means anything from GeForce 8 and up. Since most of the work is off-loaded to the GPU, it only requires a 1.8GHz dual core processor.


Now that you have an idea of what you're looking at, let's see what exactly this application has to offer.


Getting Started


You can try Badaboom for thirty days and if it's good enough to have you convinced, it is sold online through the NVIDIA store for a reasonable $30 plus applicable taxes. Once you have purchased, downloaded and installed Badaboom, you will be greeted with the window pictured below. The interface is nothing short of simple and easy to use, while the black and green color theme reminds you this is an nVidia-related product. The input video file is to be chosen on left side. Badaboom can read from unprotected discs, video files or a VIDEO_TS folder, which is essentially a DVD rip. On the far right, you can choose which device you wish Badaboom to output to. The major difference between them is the resolution, since none of the portable devices use the same screen resolution and aspect ratio. Scrolling down that list will reveal other devices Badaboom can directly output video, ranging from Apple products, the BlackBerry Bold, Sony's PlayStation 3, Microsoft's Xbox 360 and Zune, or you can choose a custom format output. You can choose to transcode directly from this screen, although it only gives you the chance to choose the video's bitrate.








If you feel you are missing on features, you'll want to hit the Advanced button. Once you have chosen the output format that pleases you, you are presented with some more options that, by the way, are the same no matter which output you chose. The first tab, Video Decoder, let's you select how many frames you wish to transcode just in case you don't want the whole video. The Video Encoder tab is where you choose which H.264 profile you wish to use. Main is simply higher quality, but, besides Sony PSP, none of the other portable devices support it. This is also where you get to choose the video bitrate. Every output can be lowered to 500 Kbps, leading to a tiny file of equally tiny quality. Using the custom media player output, the output can be increased to 25 Mbps, more than enough even for high definition content.


The next tab leaves you with the choice of the output resolution, from 320x240 to a whooping 1920x1080. You should also choose "Fill to aspect" on the following drop down menu unless you enjoy distorted images. The final tab, Audio settings, let's you select the bitrate at which the sound should be output, between 16 Kbps and a more respectable 320 Kbps.


Let's see if Badaboom and its graphic card can keep up with a modern processor.




Badaboom is all about digital video content so I chose a 1080p movie, The Lord of the Rings, and, since full HD content isn't quite mainstream yet, I also took Iron Man in 720p and Bourne Ultimatum in standard DVD format. Finally, this latest version of Badaboom can also handle video files produced by FRAPS, so I recorded 30 seconds of gameplay from Call of Duty: World at War. I will transcode the videos using Badaboom and also use Handbrake, a free, open source and multithreaded transcoder for processors. SlySoft's AnyDVD was also used to decrypt and rip movies, so all the transcoding was done directly on the hard drive to eliminate bottlenecks caused by the optical drive. All three movies will be transcoded to H.264 in a mp4 container at their native resolution, as well as a suitable format for the iPhone. Badaboom can only output AAC audio so there's no choice to make here. I cut a ten minute sample out of every movie using mkvmerge, another free and open source application. I used the application's built in timers to measure the time it took to complete the operation and also the number of frames per second processed.


Testing Setup:






Lord of the Rings: Return of the King

Badaboom and the GTX260 are only 18% faster than i7's eight threads combined with Handbrake when transcoding to a small resolution, but things quickly change when the resolution ramps up. Simply transcoding to the same 1080p resolution took the processor nearly three times longer than the video card's 216 smaller cores. This means the processor took over 18 minutes to transcode a 10 minute movie, while the GTX260 took less than 7 minutes.


Iron Man

Moving to a mere 720p resolution, Intel's i7 takes 39% longer to complete the transcode to an iPhone friendly format. For some reason, it both took them less time to complete the task at 1080p. However, transcoding to 720p is a whole lot faster and, once again, the GTX260 completes the job more than twice as fast.


The Bourne Ultimatum

Once again, Badaboom brings a notable improvement; 44% in this case. DVD content, at 480p, is pretty low resolution compared to today's standard so I actually upscaled this one to 720p. Ironically enough, the i7 took 920 seconds to complete the task, well over twice as much as the GTX260. As you can see, upscaling is quite demanding since times are comparable to transcoding 1080p content.


Overall, there are clear gains to be had from transcoding movies on the graphics card instead of the processor. It was, on average, 34% faster to complete the task using Badaboom instead of Handbrake, which is able to fully utilize all eight of i7's threads. The difference was even more impressive when transcoding to same, or higher, resolution, where the GTX260 was, on average, two and a half times faster across the three movie samples. Let's see how much time you could save using your graphics card instead of the processor to transcode movies for the Xbox 360. The difference in actual time shown here may not seem huge, but don't forget these are only 10 minute samples. Multiply those results by about nine to obtain a movie's average length and the usefulness of this application suddenly becomes much greater. You will save a minimum of 50 minutes and as much as two hours, which is nothing to scoff at!


Transcoding the FRAPS clip wasn't nearly as entertaining. Badaboom downscaled the 2.4GB file to 640x360 in 47 seconds, but there's a catch. They don't actually have the code to do the job on the graphics card so the processor was handling the work. The final file weighed in at a mere 34MB and the quality was, to YouTube standards, decent. Let's wrap this up now.


Without a doubt, many graphic cards are much better at handling tasks that scale well with additional cores like transcoding. With the power of nVidia's CUDA language, the Badaboom team was able to come up with an impressively fast tool to complete this otherwise extremely lengthy process. The vast array of input file types should please most people, although it cannot handle protected content so you will have to rely on third party tools to decrypt those DVDs. However, the same thing does not apply to output files. Saying the choice is limited wouldn't be quite exact since there is no choice at all. I can deal with being restricted to an H.264 video output, but having the audio locked to 2 channel AAC isn't too satisfying, especially when the input had much better sound quality. Apparently, multi-channel audio is on their to-do list, but no deadline has been given, which is a major downside for a lot of people.

Aside from the fact that there are only two audio channels, sound quality was good and just what you'd expect from such an output. On the video side, there was no discernible difference between the original input and output produced by either Badaboom or Handbrake. Both also worked well for upscaling a 480p DVD to 720p and had no problems downscaling for smaller devices like the iPhone.

Obviously, the major advantage to Badaboom is speed. There simply is no processor that can come close to the performance shown off by the GTX260's 216 cores. nVidia's card was well over twice as fast as Intel's i7 in this particular task. Another related advantage is that while a processor-dependent transcoding tool like Handbrake gets the job done, it also pretty much locks you out of your computer since it requires all of the eight threads' attention. Badaboom only uses the graphic card so you're free to continue whatever you were up to, as long as it is not 3D related of course.

Considering time is a valuable resource, Badaboom, available for $30, is a worthwhile investment for anyone that has a lot of video content to transcode. However, if multi-channel audio is a must, you will want to be patient and stick to a more conventional tool that can handle more than two channels. Patience is the keyword here. My home theater, if I can call it that, was more than happy with the output produced by Badaboom and my schedule was even happier.