Low Resolution Capture with AVI_IO

 

 

If you have completed the preceding sections on tuning, you are finally ready to begin capturing the video to your hard drive.  Remember that right now you will need about 1.25-3.0 GB of free hard disk space with Huffyuv or 350-800 MB with MJPEG per 10 minutes of video that you wish to capture.  You can read my Data Rates and File Sizes article if you want to obtain a more accurate estimation of the required disk space.  Later on in this guide, you will probably need an additional 1.25-3 GB of free space per 10 minutes of video that you wish to process with Huffyuv.

If you want to process your video but don't want to use the extra disk space, read my Frameserving article.  Frameserving enables you to process your video and send it to your desired encoder without creating any intermediate files.  The disadvantage is that your video will have to be re-processed every time you encode.  This will greatly increase the amount of processing time if you like to tweak your encoder settings or encode to multiple formats.

If you have a hardware compression capture card that does not support uncompressed capture, you may not be able to follow all of the parts in this section, if any.  In this case, my suggestion is that you capture your video at the highest quality level (highest data rate) that your capture card supports.  For a card with hardware compression, you usually have to select "No Recompression" in the video compression dialog (instead of Huffyuv or another codec).


AVI_IO Setup

1)  Run avi_io_trial.exe.  It's okay if you receive a message telling you that you need to select your capture device;  just hit the OK button.  You should now see a screen similar to this:

AVI_IO main screen


2)  Now we will verify that your capture device is recognized by AVI_IO.  Click on the Devices menu to ensure that your capture device is recognized.  Here is what it looks like for me:

Capture device selection

If AVI_IO is having trouble detecting your capture device, you may have a system configuration problem.  Make sure you have the latest drivers with Video for Windows (VFW) support installed for your capture device.  You can post a detailed question in the Message Boards if you need assistance.


3)  Go to Video Settings -> Format and select a color mode (image format) of YUY2 or UYVY.  (Note:  If you want to use MJPEG compression, it's best to choose the color mode called RBG24.  Although this option requires a faster computer, it will prevent an MJPEG bug that leads to washed out colors.)  If you can select the exact resolution that you want to capture in, do that as well.  If your desired resolution isn't in the list, just select the next highest resolution.  We will try to manually set the resolution in a moment.  
Here is what the settings look like if you have a WinTV capture card and are trying to capture in 320 x 240 in YUY2:

Video format


4)  Now go to File -> Capture settings and configure the options as shown in the picture below:

Capture settings

Note #1:  If you are using a PAL/SECAM video system, change the Frames per Second to '25.000'.

Note #2:  If you have more than one hard drive, it is always best to capture video to a drive that doesn't hold your operating system.  (Assuming, of course, the hard drive without your operating system isn't full or too slow for video capture.)  To select another drive for capture, click on "C:\capture.avi" to highlight it and hit the button labeled "Modify Disc...".  Then enter the path and file name of the location to where you want to capture your video.  For example, if your secondary hard drive is drive "D:", you would enter "D:\capture.avi".  You can also capture to more than one drive by selecting a drive in the list and pressing the Insert Disc or Append Disc buttons.  (Inserting places the drive before the current drive, Appending places it immediately after.)
Finally, hit OK.

Note #3:  Since AVI_IO is trialware, it is restricted to 3 video segments of the Maximum Filesize.  This means that the largest amount of video you can capture with the trial version is 3 x 4096 MB, or about 12.3 GB.  Depending on your desired resolution, your chosen codec, and the length of the video you wish to capture, the 3 segment limit might prevent you from capturing the entire video at once.  For example, if you are capturing in 320 x 240 with Huffyuv, you might only be able to capture for 50-100 minutes before the limit is reached.  In this case, I'd suggest capturing your video in several capture sessions.  You can try to start and stop your capture during commercial breaks or scene changes.  If this is too much of a hassle, you can either capture your video with more compression (with MJPEG), purchase the registered version of AVI_IO, or Capture with VirtualDub.  However, I've found that AVI_IO is the most reliable video capture program available today.

Note #4:  If you are capturing a short video and you know you aren't going to capture 12 GB of video, you might want to change the Maximum Filesize to a lower value.  This can help you if you are low on disk space because AVI_IO allocates disk space in chunks the size of the Maximum Filesize.  For example, if you have a Maximum Filesize of 2000 MB and you try to capture a 2100 MB movie, AVI_IO temporarily allocates 2 x 2000 MB (4000 MB) of space.  If you do not have 4000 MB of free hard drive space, AVI_IO will stop capturing at 2000 MB.  

Note #5:  You'll need to keep the Maximum Filesize at or below 2000 MB if you are running Windows 95 with the FAT16 file system.


5)  If you were unable to select your exact desired resolution in the Video Format box, you can try to force that resolution in AVI_IO.  To do this, make sure the Capture settings window is open.  Then place a check mark next to Custom Frame Size and enter your desired resolution.  Next, hit the OK button.  If nothing happens when you hit OK, you capture card probably doesn't support custom capture sizes.  In this case, you should uncheck the Custom Frame Size option and hit OK.  Unfortunately, this means you will have to use one of the options provided in the Video Format dialog box.  The disadvantage to this is that you will need more hard drive space to store your captured video.  Also, you'll have to resize your video to your desired resolution after the capture is complete.
Here is an example of what the dialog box looks like after you enter a custom resolution:

Custom Frame Size in AVI_IO


6)  Go to Video Settings -> Source and make sure that the appropriate input type is selected.  (e.g. S-Video, Composite, NTSC, PAL, etc.)  Since you should already have configured the brightness/contrast/etc. settings in VirtualDub (as described in the Video Tuning page), you shouldn't need to adjust them here.  This is what my settings look like, although yours will probably look quite different:

Video source


7)  Go to Video Settings -> Compression and select your desired video compression codec.  If you have plenty of hard disk space and want the best quality, choose Huffyuv 2.1.1.  If you do not see that option listed, you must go to my Software page to obtain Huffyuv.  Once you have selected Huffyuv, click on the Configure button.  Unless your computer is really slow (e.g. below 300 MHz), set the YUY2 compression method to the "Predict median (best)" option.  This will give your captured file the lowest file size while retaining perfect quality.  However, if you have a really slow computer, your CPU might not be able to compress the video fast enough, causing you to drop frames.  If this happens to you, try using the "Predict left (fastest)" option.  If your computer still can't handle the compression, you may want to use the PICVideo MJPEG codec (described below) or another MJPEG codec.  Here is a picture of Huffyuv configured for the highest compression level:

Huffyuv settings


If you are running low on disk space or have a slower computer, you can use the PICVideo MJPEG codec (available at my Software page) instead of Huffyuv.  Using the MJPEG codec will cause a slight loss in quality, so I don't recommend using it unless it's necessary.  But if you must use it, try to configure it to a quality level of 19 (best) or 18.  You can use lower values to decrease the file size of the video, but quality of your video will decrease even further.  (Note:  Setting PICVideo MJPEG to a quality level of 20 will produce a file that is about the same size as a Huffyuv compressed file, so that option is usually pointless.)
After selecting the PICVideo MJPEG codec in the video compression screen, hit the Configure button.  Then hit the Advanced button and configure everything as shown below.  You can select your quality level by adjusting the Compression Quality slider.  Please note that the values for the Luminance Quality and Chrominance Quality will vary based on the quality level you choose:

MJPEG settings

Note:  A video captured with the MJPEG codec at a quality level of 19 will require about 500-800 MB of disk space for each 10 minutes of video.  A video captured at a quality level of 18 will require about 350-600 MB of free disk space per 10 minutes of video.  Please note that later in the guide you will probably need an additional 1.5-3.0 GB of free disk space for each 10 minutes of video that you wish to process with Huffyuv.

 

8)  Next, go to Video Settings -> Audio settings.  If your source is in stereo, you have a choice of two options:  you can capture your audio in mono or in stereo.  If you capture in stereo, the audio will sound better but it will take up more file space.  When it comes time to compress the video to the final encoded format, using stereo sound will increase the file size of the video.  If you are going to encode the video with RealProducer Basic, using stereo sound will decrease the image quality of the video.  This is because the audio will have to take data away from the video to handle both audio channels.  You can increase the bitrate to increase the image quality, but this will lead to a higher file size.

Basically, using stereo sound will give you better audio quality but increase the file size slightly.  I will leave it to your judgment to choose which audio format you want: mono or stereo.  Personally, I prefer to use stereo audio if my source is in stereo.

If you decide to capture in mono, configure the Audio settings panel as seen below in the top image.  If you wish to capture in stereo, use the bottom image found below:

Mono audio

Stereo audio


9)  You have completed the configuration of AVI_IO.  Go to File -> Save settings to save your settings.

10)  Now, click on Video Settings -> Overlay.  If you press play on your video source (perhaps a VCR), you should see the video on your monitor.  If you've already tuned your capture card to the proper contrast/brightness/etc. settings for this video, you may move on to the next step.  If you've never tuned the contrast/brightness/etc. settings for your capture card, be sure to visit the Video Tuning section of my guide.  If you just need to fine-tune the settings for this particular video, follow these steps.  First, watch the video for a few moments while paying attention to the use of the color white.  If the white objects appear darker than they did when you first tuned your capture card, go to the Video Settings -> Source panel and slightly increase the contrast.  If the image looks too bright and has more white in it than it did after you first tuned your capture card, go to the Video Settings -> Source panel and slightly decrease the contrast.  Also, it is possible (but less likely) that you will need to adjust the saturation (color).  If the colors look duller than when you first tuned your capture card, increase the saturation (color) in the Video Settings -> Source panel.  If they look too bright (i.e. almost glowing), decrease the saturation (color) in the Video Settings -> Source panel.


Capturing the Video

Right now, you will need about 1.25-3.0 GB of free hard disk space with Huffyuv or 350-800 MB with MJPEG per 10 minutes of video that you wish to capture.  Later on in this guide, you will probably need an additional 1.5-3.0 GB of free space per 10 minutes of video you want to process with Huffyuv.

1)  You are now ready to capture the video.  Before you begin, make sure that you close all programs (other than AVI_IO) that are running in the background.

2)  If you're using a VCR, rewind the tape so it is positioned about 15-30 seconds before the program you wish to capture starts.  Press stop.  

3)  I recommend turning off the overlay and preview, which may increase capture reliability.  You can do this by unselecting Video Settings -> Overlay and Video Settings -> Preview.  In particular, the preview is poor for capture because it uses lots of CPU power.  (Note: with the overlay/preview turned off, you won't be able to watch the video while it is capturing.  Thus, you will have to start and stop the capture based on the audio.)  However, if you want to try capturing with the overlay on, you are free to do so.  Just remember that if your computer starts dropping frames, you should turn off the overlay for the next capture and see if that helps.

4)  Next you should click on "Start Capture".  A dialog box should appear that tells you to hit okay when you are ready to begin capture.  Do not hit OK yet.

5)  Press play on your VCR, and listen to the audio being played.  When your program is a few seconds away from beginning, hit the OK button to start capturing video.  

6)  Now you will have to wait until your program plays in its entirety.  Do not use your computer during this time.  When the program reaches its end (again, you will know this by listening to the audio), stop the capture.  You can stop the capture by pressing ESC a few seconds after your program has ended.

7)  If all has gone well, your video will be captured and there will 0 drops listed on the bottom of the AVI_IO window.  If you see a number other than 0 next to "Drops:", it means that your computer dropped some frames of video during the capture.  This probably means one of three things:

A)  Your computer could not keep up with the rate of video capture.  This can be caused by several different things:

1)  Your CPU isn't fast enough.  To solve this problem, do one of the following.  If you are using Huffyuv with the " Predict median (best)" option, use the "Predict left (fastest)" option instead.  If you are already using Huffyuv with the " Predict left (fastest)" option, try using the PICVideo MJPEG codec instead.  If you are already using the PICVideo MJPEG codec, try selecting a lower quality level.

2)  Your hard drive isn't fast enough.  There are several possible solutions to this problem.  First, make sure that DMA is enabled for your hard drive (in both your BIOS and in Windows' Device Manager).  Second, try defragmenting your hard drive if you haven't done so recently.  Third, if you have more than one hard drive in your computer, try capturing to another drive.   Forth, use the PICVideo MJPEG codec instead of the Huffyuv codec, or configure the MJPEG codec to a lower quality level.

3)  Background programs are interfering with the capture.  To solve this, try closing all background programs that are running in Windows before capturing.  This includes any virus scanners that you may be using.

If you try all this and are still dropping frames, post a question in the Message Boards.

B)  You are transferring from a poor video cassette and the capture card had trouble interpreting the video data.  This usually shows up in your captured video as a portion with obvious tracking errors and/or video dropouts.  You probably can't do anything to fix this, but a hardware device known as a Time Base Corrector (TBC) might help.

C)  If you are capturing a video longer than a few minutes, your computer might drop a frame every so often to maintain audio/video synchronization.  This can be necessary since sound cards do not record audio with perfect accuracy.  The longer the video, the more likely this is to occur.  You really can't do anything to fix this except try to purchase a more accurate sound card or a capture card with on-board audio.


Testing the Captured Video

1)  Run VirtualDub, go to File - > Open Video File, make sure the "Automatically detect and load additional segments" box is checked, and open the file you just captured in AVI_IO.  (The file name you want to open is usually "capture.00.avi".)  If you captured to multiple drives, you will have to repeatedly use File -> Append AVI segment to open the all of the AVIs that weren't captured to the initial capture directory.  Make sure you follow the correct order (e.g. "capture.00.avi", "capture.01.avi", "capture.02.avi", etc.).

2)  Use the slider near the bottom of the VirtualDub window to scroll through the captured video and make sure everything looks okay.  You can press the Play button with the little "I" to watch your captured video.  Please note that if you have a slower computer, playback of the audio and video may be choppy.  This will not affect your final encoded output.

3)  While still in VirtualDub, scroll back to the beginning of the video.  Then click on Edit -> Move to next dropped frame.  If your capture went well, a "No next dropped frame found" message will appear in the status bar at the bottom of the window.  If your capture card dropped some frames, VirtualDub will scroll to the first dropped frame in your video.  You can continue clicking on Edit -> Move to next dropped frame until the "No next dropped frame found" message appears.  Now return to the points where there are dropped frames.  If there are lots of dropped frames clumped together and the video noticeably stutters when you play through the portions with dropped frames, you should probably recapture your video.  Before you do this, read and follow the suggestions I give in step #7 in the above section, entitled Capturing the Video.  If you do this and are still are dropping frames, post a question in the Message Boards.

 

You should now visit my Audio Overview.