A lot of people keep asking me how to use VirtualDub with other files formats besides .avi. Like mkv, flv, mp4 or even .mov.
VirtualDub, as stand-alone, cannot handle mkv, mp4, flv, mov or any other files besides avi. You need a plugin or plugins to load anything else besides avi. Mind you, VirtualDub still only can and will save in avi!
There are a couple plugins that can handle loading different files formats. For me personally only 2 come to mind:
There's my personal favorite: Ffmpeg Input Driver which can handle 31 different file formats according to the plugin developer. Among them are the popular mkv, mp4, flv, mov, rm, rvmb, wmv and ts. The plugin is based, as the name may suggest, of the ffmpeg libraries. And if something doesn't work, remember, this is a plugin still in early development stage as of 03.07.2011.
Then there's fccHandler, which can handle mpeg-2, flv, wmv, fli, flc, mkv. However fccHandler also offers the AC-3 ACM codec, which I use for sound in my videos. Edit: Apparently fccHandler's website is down for some reasons. But there are two mirror with his stuff: Mirror 1, Mirror 2 . Thank's for the eMails pointing that out!
Download whichever plugin you prefer, and unpack it into your VirtualDub plugin folder. Remember however that those plugins only allow you to load said file formats. You cannot save those loaded files in mp4, mov, flv, only in avi.
For redundancy purposes I've decided to host both the AC-3 ACM and AAC ACM codecs and their source code on my blog.
Download AC-3 ACM 2.2 & AAC ACM 1.9:
I've gotten a few eMails complaining that it takes a huge tool on some users computer performance while recording pc game-play. I cannot speak for any other recording software except Fraps because that's all I use.
Fraps records video and audio unencoded, uncompressed, raw. That means the files are huge. 30 minutes of recorded gameplay footage are about 50-70 gigabyte large, and there's absolutely no way around that. Which brings me to my first point of this how-to: get a large HDD/SSD. I'm talking about 1 single HDD/SDD, specifically just for Fraps. 250 Gigabyte ought to do it. Recording video and audio uncompressed also means a huge tool on your computer initially.
Now, the trick is to set up your system in a way that Fraps, while recording, takes as little a tool as possible on your running game.
I have 3 HDDs. 1st HDD is partitioned in C, F, G. 2nd HDD is partitioned in E, H and 3rd HDD is unpartitioned, D. C is my System partition, H is my games partition and D is my Fraps HDD.
You see, 1 HDD for my system, 1 HDD for my games, 1 HDD for Fraps. They are all physically separated, which is imperative. Why am I doing it this way? When a game runs the read/write heads goes back and forth reading the game and deploying the data to your CPU/RAM/GPU. When Fraps records it causes the read/write heads to move around and write data on the HDD.
Now imagine you have a game running and Fraps recording on the same HDD/partition. That means the read/write head has to do double the work namely reading the game and writing the recording (in simplified terms, realistically it's more than double the work) on the HDD which in turn translates into FPS drops and "lags" in the game. And remember, recording uncompressed with Fraps already takes a huge tool on your computer.
So ideally you'd want your game running on one HDD and Fraps recording on another, physically separated, (unpartitioned) HDD. Another important point is the swap/page file. Make absolutely sure your swap/page file is not on the same HDD as Fraps or your games are. I've my swap/page file stowed on C: .
It took me a bit experimenting back then but all this lead to a more stable, even increased, FPS while a massive drop in "lags". It may not work for each and every one of you, but it did for me.
On a side note: Perhaps some of you are using SSDs and can share your experiences? I don't have a SSD, yet, so I can't say how well it works on SSDs.
According to some comments from here, here and in some of the Emails I get people sometime experience asynchronous sound. As I have speculated here, this is most likely due the CPU being overwhelmed with the whole encoding process. Let me try to explain, and bear in mind, this is just speculation based on nothing but my own suspicions.
When you set the threads in the x264 codec to fully utilize your CPU, meaning all cores, and then some, you make sure the CPU is working at its maximum capacity just for video processing.
If you then add audio to the pile, the CPU just hasn't got any resources to spare, and if it does, it does a miserable job, thus resulting in lag which translates in asynchronous sound.
If that is the case, lowering the numbers of threads in the x264 codec should fix it. This way you can have both audio and video encoding in one go. I haven't tried this method, because I employ a different solution.
I made 2 How-to clips way back then, but somehow forgot to include them in my previous tutorials, so here they are:
Me dad was complaining that his Firefox takes ages to start up and didn't want to run yet another application in the background.
So I hit google and came up with UPX, Ultimate Packer for eXecutables. What it does, is very simple: It compresses the .exe and all the DLLs associated with said .exe! Thus reducing its total size and load time.
- Download UPX and unpack the upx.exe into your Firefox folder, usually it's C:\Program Files\Mozilla Firefox.
- Close Firefox, and make sure its not running by checking the task manager
- Start the command prompt, the cmd.exe in ADMIN MODE!
- go to C:\Program Files\Mozilla Firefox in cmd.exe
- enter this command and execute it
for %v in (*.dll *.exe
\*.dll components\*.dll) do upx "C:\Program Files\Mozilla Firefox\%v" -9
Should you, for whatever reason, need to decompress and get the original files back, run this command
for %v in (*.dll *.exe plugins\*.dll components\*.dll) do upx "C:\Program Files\Mozilla Firefox\%v" -d
What does it do?
It compresses all the DLLs and all the *.exe in C:\Program Files\Mozilla Firefox, then it goes to C:\Program Files\Mozilla Firefox\plugins and compresses all the DLLs, lastly it goes to C:\Program Files\Mozilla Firefox\components and compresses the DLLs in there. The -9 is for the best possible compression. The -d is for decompression.
The best bit?
UPX is usable on any other application you have. As long as they have *.exe and DLLs, you can use UPX on it.
There are many folks out there who like to watermark their videos in all possible kind of ways. Some like to use huge introductions and others, like me, are satisfied with small but noninvasive logos.
Before we start, you'll obviously need VirtualDub, and in this case for the watermark to work, the ffdshow codec. Yes, I'm afraid, yet another codec. You need this codec, because it provides filters we need, such as implanting the logo into a video. The ffdshow codec installs a plugin called "ffvdub.vdf" into your VirtualDub plugin directory. This plugin allows the access to ffdshows filters via VirtualDub.
VirtualDub has it's own internal logo filter, but the problem with this filter is it leaves a mess after encoding. The logo is barely readable, it's pixellated and all other sort of issues. Whereas the ffdshow filter leave a clear, readable logo instead.