Updated: May 31, 2013
If you have to occasionally edit your multimedia files, be they video or audio, then you have come across VirtualDub, an extremely handy and convenient tool. It's one of the most flexible video processing utilities for the Windows platform. I like it, and I use it a lot.
Now and then though, as you work your way through media files that might need adjustments, you realize that you are missing the necessary codecs to read the source files or recompress the output. In other words, you need various codecs, and they do not show up in the list. What do you do now?
It all begins with an error, something like this:
The text in the popup reads along these lines:
No audio decompressor could be found to decompress the source audio format.
(source format tag: 00ff)
If you Google this, you will come across a wealth of articles that tell you your box might be missing the AC-3 or MP3 codecs, and that without them, you might not be able to do your processing. The same applies to video codecs. All right, without trying to obliterate or overwhelm your mind with links to semi-relevant stuff, let's walk through a typical codec setup. Disclaimer: Codecs are a finicky thing, so be careful wandering about the Web and downloading stuff. Don't blame me if your box goes potty on you.
Let's grab a codec and install it. We will begin with audio decompressors, because that's the problem we have. Moreover, the two types mentioned, AC-3 and MP3 are the most popular items, so let's check those. AC-3 ACM is available yonder.
The downloaded archive will contain a file with the inf extension. Right-click the file, select install. Depending on whether you chose a 32-bit version or the 64-bit version of the codec, it will be installed under SysWOW64 or System32 folder, respectively.
For MP3, you already should have the codec, provided by the Windows Media Player installation, but if you do not, you can grab the GPL-ed LAME. Indeed, repeat the same process for the MP3 (LAME) codecs.
However, when trying to redo the video & audio recompression in VirtualDub, you still encounter an error, and moreover, the installed codec does not show in the available list. So something seems wrong here.
This issue is explained in quite some detail in an official blog thread, in the comments section. On some version of Windows, the registration of codecs might not work well, even though they might be installed and present.
We will indeed demonstrate by fixing the MP3 codec. You will have to perform a manual fix in your registry, with necessary precaution and backups, of course. To fix for 32-bit codecs, navigate to:
In this hive, you will find two directories, so to speak, drivers.desc and Drivers32. Under drivers.desc, take a look at the keys show in the right pane. You will notice that a file C:\Windows\system32\l3codeca.acm is the one that corresponds to MP3 codec, although you may have other codecs installed and in use. Now, what you need to do is change the string value from l3codeca.acm to l3codecp.acm.
Next, open the Drivers32 hive and take a look in the right pane. Here, you will find a key labeledmsacm.l3acm. Again, it will initially point to l3codeca.acm. You need to change the string value to codecp.acm, much like what we did above.
For 64-bit codecs, the path is slightly different. In the registry, instead of navigating to HKLM\Windows\Software, you will have to go to HKLM\Windows\Wow6432Node. After that, the paths are identical, as well as the changes to the codec strings.
Once you complete these changes, restart VirtualDub. The next time you launch the program, depending on your choices, you will now see the option to use MP3 for your audio. In fact, on the 64-bit version of VirtualDub, you may see a double entry, one corresponding to 32-bit codecs and another to 64-bit codecs. Furthermore, your eyes can also see ACM at the top of the list. Mission accomplished.
With LAME, the manifestation of the problem may be similar. You will need to adjust the description and possibly the path to the codec so that VirtualDub can use it. In other words, you may have broken and unusable codecs, and the fix is simple.
What you need to do is just like what you did for the Fraunhofer codec. You will need to edit the path to point to LameACM.acm, either the 32-bit or 64-bit version, depending on what you installed. Last but not least, make sure your VirtualDub version matches the codec installation, or vice versa. Even though we are on Windows, using the file command from the GNU utils pack will be of great use here in identifying the architecture of the codec.
The principle remains the same. If you require additional codecs, find them, install them, then make sure they show up in the available list when you choose the Compression option. If not, registry fixes might be in order. Do not forget the differences between the 32-bit and 64-bit versions of your software. Ultimately, the choice of the version will dictate the rendering speed.
K-Lite Codec Pack works fine, but might be an overkill here
Combined Community Codec Pack is another goodie
And you might be interested in Xvid
VirtualDub & Avisynth tutorial
This is a somewhat geeky tutorial, for those who expected a quick & dirty guide for making videos and whatnot. But if you think about it carefully, it is a geeky topic. Anyhow, this article teaches you how to install Windows codecs, how to perform manual fixes in the registry to make sure the codecs are correctly used, differences between 32-bit and 64-bit versions and some other cute hacks. Reading error message is another useful exercise, and it should help you get around most of your problems.
VirtualDub remains dandy and useful, and now with these extras, you can enjoy it even more, expanding your list of capabilities. Finally, please do be careful downloading codecs round the Web, as their quality and licensing terms may vary significantly, malware notwithstanding. Well, see you around.