Jump to

Video Capture 101


Introduction:
There are a lot of issues with Video Capture that people are not aware of. This article will try to provide you with the information to extract the best video image out of your video capture card.

Some basic information about video capture and operating various software is required.

System Requirement:
You need a strong CPU, I recommend at least a 700mhz system, more if you can get it.

You need hard disk space and a lot of it. I recommend getting a 7200rpm 40gb drive specifically for this purpose. And make sure DMA is enabled on the drive.

You need a decent capture card. The cheapest card that gives the most value is any card based on the bt878 chipset. There are literally hundreds of them around. Hauppage is considered a reliable company with good driver support.

Video Source:
There are four types of video signal you can capture. Most cards only support the first two. Here is a list according to quality (last = best quality):

1: Tuner (RF Connectors):
Most capture cards come with an on-board tuner. I don't recommend using the card's tuner. It's a lot more susceptible to interferences. If possible, use one of the Video-In connections instead.

2: Composite Video (RCA/BNC Connectors):
This is the most common type. It transfers the video signal on one connector.

3: S-Video (S-Video/SCART Connectors):
This type of connection splits the video into two signals, giving better color preservation.

4: RGB ((RCA/BNC)/SCART Connectors):
This type of connection splits the video into three signals, giving the best signal quality.

Make sure you use the best signal-type your card and source support. It is also smart to capture from a digital source such as DSS or Digital Cable if it is available.

Also of note, capturing Live Video yields vastly superior image quality compared to capturing off VHS tapes, keep that in mind.

Preparation:
Clear as much space as possible. I recommend at least 30gb/Hour if you're doing a HuffYUV (see Video Codec) capture and 15gb/Hour if you're doing an MJPEG (see Video Codec) capture. Once you clear the space, run a defrag program to make sure the free space is in one consecutive block. Load the capture program and turn preview mode on to see if you get an image, then off. Make sure both preview and overlay modes are off before starting to capture, since they drain CPU resources and can cause frame-drops (if you have a very fast CPU you can experiment with leaving the overlay enabled).

The capture program:
Most capture programs have a problem with frame rate accuracy (audio going out of synchronization), this is the reason most people prefer to use AVI_IO (this and the fact that AVI_IO has good buffering, which means less frame loss).

Alternately you can try using FreeVCR or IuVCR.

WDM vs. VFW capture programs:
AVI_IO v3.20, VirtualDub v1.47, FreeVCR v1.2b9 are all VFW (Video For Windows) capture programs. Video For Windows is an old standard used for Video Capture even since Windows v3. The problem is, it lacks certain key elements that are required by some of the newer software (such as multi-buffered overlays and standardized TV Channel setting).

At some point Microsoft implemented a new, faster, smarter and all around better capture interface into their WDM driver architecture. Microsoft also wrote a translation layer so older VFW capture programs could still talk to the newer WDM drivers. The problem is, this interface is full of bugs and can't be used properly with most cards.

So the only way to capture properly using a WDM driver, is to use a DirectShow capture program that talks to the driver directly. And here's the problem. At this time there is only one semi-decent DirectShow capture program, IuVCR. The problem with this program is, it can't seem to synchronize the audio and video streams at the specified frame rate. This forces you to either use a non-standard frame rate, or to manually stretch the audio in an audio editing program (such as Sound Forge or CoolEdit). Not really the best solution.

Everyone is still waiting for either VirtualDub or AVI_IO versions that will support DirectShow capture, while maintaining the specified frame rate.

You may ask yourself, why not always use VFW? Well, most hardware vendors only release WDM drivers for Win2k/XP, so you're out of luck there.

The color space:
Most people assume you should capture to a 24bit RGB format. This assumption is wrong. If your card supports it, you should capture to YUY2 format. You can check if your card supports it by opening the Format dialog within the capture program.

The benefit of using YUY2 format is that it takes less space, so you have fewer frame loss and compression is faster. Some people claim that you lose image quality. The fact is, all high compression formats including MPEG, MJPEG and DivX convert the image to YUV before compressing it to save space.

The Video Codec:
This is a very important selection. Basically you have two options:

The first and the best quality is HuffYUV. HuffYUV is similar to ZIP compression, it takes the video and compresses it in real-time using a huffman algorithm, this means that none of the image data is lost during compression. This of course takes quite a bit of disk space...

The second codec you can use is a Motion-JPEG codec (with the PicVideo version being highly recommended). MJPEG is a lossy compression format (image data is lost to a degree during compression). It basically works by compressing each frame in the video into a variant of the JPEG format. It takes less space than HuffYUV, but you lose some image data which means there is some quality loss.

When using the MJPEG codec, try setting the quality to the max, if you get frame loss, try slowly reducing the quality until you get 0 frame loss.

The Audio Codec:
Do NOT try to use a compression codec during capture, keep it RAW PCM. The reasoning behind this is that you will want to make sure you have the CPU doing the video compression which is a lot more intensive. It is recommended that you capture the audio to 44.1khz as some sound cards don't support 48khz properly.

Capture program setup:
If you decide to use VirtualDub, make sure to define a spill drive and enable multi-segment capture, otherwise capture will stop at either 2gb or 4gb on most file systems.

Set the capture resolution to the highest your card support. You can do this by opening the Format dialog within the capture program. bt878 based cards can capture up to 768x576 for PAL and 720x480 for NTSC. This is not the final image size you'll be using as the image will require post-processing. The idea is to start with the biggest canvas you can use in order to maximize the quality.

Set the capture frame rate according to your video source (29.97 for NTSC and 25.00 for PAL). Setting an incorrect frame rate will ruin a video capture, making the video jumpy and irritating.


*** Begin Capture ***





NEXT