AV:VirtualDub2 Lossless Captures

Note from Derf: This page can be polished up and added to the AV wiki since we have a OBS lossless capture page.

This page shows you how to use the VirtualDub2 software to get excellent quality, uncompressed game captures. While most content creators can simply use OBS to get footage of their games, anyone doing video analysis like comparison shots, or dev work needs a way to capture the _exact_ video their console outputs. Unfortunately, capturing with little to no compression and full accuracy can be a bit confusing, so I'll try to walk you through it here (and a big thanks to Extrems for helping me get this set up!).

What's needed:
Any capture card, but one that supports 4:4:4 color space will get you accurate results. I use a Datapath Vision.

VirtualDub2:  https://sourceforge.net/projects/vdfiltermod/files/VirtualDub%20pack/

Codecs:  The FFV1 uncompressed that I recommend is already included with VDub2. If you'd like to use a compressed format, x264 is good. An alternative would be lagorith, but I've been having great luck with FFV1.

Setup:
Make sure your capture card is set up and working. I recommend opening a preview window, just to confirm.

Download and extract VDub2 to a directory on your PC. Then launch whichever version matches your machine;  I assume 'VirtualDub64.exe' will be what most people use.


 * Capture:**

You'll have to set most of the following settings each time you capture. Some things are retained, but most things aren't. Don't worry, after doing it a few times, you'll familiarize yourself with the (terribly labeled/organized) interface and captures will be reasonably easy.

To enable capture mode, go to Capture \\ Capture avi

Select your capture card in the "Device" menu:

Now configure your settings, by going to Video \\ Capture Pin:

Here's where you'll need to set color space and the capture resolution. I'm using the OSSC with an RGB source, so I know my color space is RGB. Also, I referenced my capture card's preview window and confirmed that the video signal I'm capturing is 640x480. You might need to flip the image with top-down - More on this in a moment:

After hitting "OK", it's possible you won't see an image. That's fine, just go to "Video" and select "Preview (system)". As a note, if your video is flipped upside down in the preview window, try switching the "Bottom Up" or "Top Down" bitmap location, as showed in the picture above;  I needed Top-Down for it to work properly on my setup:

Now select the compression you'd like to use, by going to "Video \\ compression":

You can choose anything you'd like here - If you'd just like a quality, yet compressed file (and your PC can handle it), x264 is great. The purpose of this guide is to show you how to get uncompressed captures though, so I'll be selecting the "FFMPEG FFV1 lossless codec". Make sure to hit "configure" and confirm the settings are how you want them. I used these:

Now set the directory you want to save your video, by going to "File \\ Set capture file". Make sure to rename the target file between recordings, otherwise it will overwrite each time:

Now just go to "Capture \\ Capture Video" to start recording. To stop capturing, either hit escape, or go back to the same drop-down and hit "Stop capture":

Verifying Captures:
If your capture card's software allows for uncompressed screenshots (the Datapath's and Epiphan's do), you can verify your video capture settings with a still shot.

First, save a sill picture to a .bmp or .png using your capture software. You'll want a still scene, with something like text, or color bars to do a comparison. Title screen's, or test patterns are really helpful for this.

Next, take a short (few-seconds) video of the exact same screen, using VDub2.

Now use software like MPC, or VLC Player (portable versions are available of both) to save a still .bmp or .png image of the video you just took.

Then, use photo editing software to scale the image 1000% (10x); I used nearest-neighbor, since these are retro game captures. If the still shot from your capture card's software matches the sill pulled from the VDub2 video, then you've successfully set up uncompressed capture!

As you can see here, the direct capture and VDub2 with proper settings look identical, but when I set VDub to the wrong color space, you can see a difference inside the numbers (click for a full-sized png). Alternatively, using the wrong compression settings can cause things like this as well. If you can't see a difference here, you'll likely need to find a test you're used to;  I use Link's face from ALttP as my go-to, but this worked well for me too:

Direct Capture
This method seems to work with direct analog captures as well, provided your capture card supports it.

For Datapath Vision users:  Using the same setup & phase techniques described in the Vision page, I was able to get an uncompressed "240p" capture. Also, since I already configured the capture size and phase in the Vision window (and left it open), VDub2 automatically detected the proper resolution. You might need to restart VDub2, then manually enter the resolution to match what your capture card detects though:

I did run into one last issue when doing direct-capture:  No matter what setting I toggled in the "Capture pin" window, the video stayed flipped. No problem!

When in capture mode, go to "Video \\ Capture Filter":

Then, go to the "Filter Configure" tab and check off "Flip capture vertically":

Other than that, everything else seemed to work well!

Problems / Issues
I've run into an issue where after _many_ successful captures, the audio and video would randomly get out of sync and speed. It wasn't just a matter of moving the audio in the timeline to match, it seemed like the audio was playing much faster than the video (or vice versa). I tried deleting the configuration in the registry at HKEY\_CURRENT\_USER\\Software\\VirtualDub.org, but had mixed results.

I occasionally had to fall back on using Amarec, when I couldn't get this fixed. If I ever find out a permanent fix, I'll update this guide.

Final Thoughts
I really like this method. It's _much_ less buggy than Amarec and less work than trying to get reliable, uncompressed captures through OBS. I _do_ think the settings could be streamlines a lot more though. Maybe someday, someone will fork the VDub project for _just_ a capture version, that strips all unneeded features? Until then, I'm happy enough with this.

If you're here as part of the Video Capture section, feel free to move onto the next step of Scaling Your Captures.