Fraps & VirtualDub: How to save disk space and enjoy good quality, small file size HD video clips

VirtualDub & Fraps settings

The biggest problem most of us face while recording gameplay clips with Fraps is its disk space usage. Fraps records everything uncompressed, continuously (free version is limited to 30 sec.) and sequential. Meaning from start till stop the “whole” clip is split into single 4GB files (For FAT32 filesystem user convenience).

The length of a single 4 GB clip depends on the resolution and the in-game scene you record it in. For example, for me a 4 GB clip has about 90 sec. worth of gameplay in 1920×1200 resolution.

Because of this uncompressed real-time recording your frame-rates drops significantly while playing. There is NO way to keep up 40+fps with Fraps running unless you have one hell of a monster system.

Imagine what happens when you want to capture a 30+ min gameplay clip. Either you buy yourself a Terabyte HDD or you use a very simple trick: recording in half-size, upscaling and sharpening. Read the How-To guide!

This guide is intended for 16:10 and 16:9 resolutions. It should not be used for 4:3 resolutions. One cannot upscale a 4:3 resolution into a 16:9, i.e. true 720p or 1080p, without the end result either having black bars left and right or being over-stretched/-squeezed.

Recording in Half-screen/size

Before we start with VirtualDub transcoding, upscaling and sharpening, we first have to record our gameplay. We do not record our gameplay in full-screen/size mode, as usual, but in half-screen/size:

Fraps: Half-size recording

This means if you have a game running at 1920×1200 resolution, Fraps will record it at 960×600, or if you run it at 1280×1024, Fraps will record 640×512, etc. Which in turn translates into much more gameplay time in each 4 GB file.

Another example: While recording in 1920×1200, I only got about 90 sec. (1:30 min) per 4 GB file, recording in half the resolution (i.e. 960×600) resulted in about 360 sec. (6 min) per 4 GB file. Whole 270 sec. more!

Upscaling and Sharpening

We want HD Quality, so we’re going to upscale and sharpen our recorded clip. Start up VirtualDub, open the uncompressed file, change in “Video” -> “Full Processing Mode” and “Audio” -> “Full Processing Mode”, then set your VirtualDub according to this screenshot:

VirtualDub settingsSave your settings via “File” -> “Save processing settings” or Ctrl+S, so you can simply load them in the future. Saves a lot of time!

Addendum: Regarding “Threads”; QuadCores = 6, DualCores = 3.

You’ll need VirtualDub and the H.264 codec, which you can get here. Get the VFW-version, and pay attention if you’re downloading x86(32bit) or x86_64(64bit).

The settings in the screenshot are the same ones like in “VirtualDub 720p HD settings for YouTube! [Good quality, small file size]“, what differs, however, is that we are also going to use the “sharpen” filter. If you want a very detailed explanation what each option in the x264 codec does, check this out!

We call the method to resize a lower resolution (960×600) to a higher resolution (1280×720, in this case), UPSCALING (sometimes also refereed to as up-converting). For your information, 1280×720 is the Standard HD (720p) resolution. The other is Ultra-HD or Full-HD (1080p, 1920×1080).

However due the upscaling method we lose quality, which is where the filter “sharpen” comes in. Upscaling from lower to higher resolutions causes the image to “blur” (A more detailed explanation).  Sharpen counteract this.

You’ll have to experiment with the slider in preview mode around a bit, until you find the result best to your liking. I found myself settling down between 23-30, depending on each clip.

VirtualDub Filter: sharpen

When everything is set, start transcoding via “File” -> “Save as AVI”.

Now on the other hand, if you UPSCALE from a lower resolution to HD resolution the video is not really HD material anymore, because you lose quality during upscaling. Just saying. It’s at best pseudo HD.

Two important VirtualDub settings you should not forget:

“Options” -> “Preferences” -> “Threading”: Set the “Video Compression Threads” to 1. This is important if you have a multi-core CPU to make use of the multiple cores and in turn speed up the transcoding process.

VirtualDub: Threading enabled

Since VirtualDub Version 1.9.4 there’s an option to use your GPU as part of the transcoding process. Make use of it to additionally speed up your transcoding process. “Options” -> “Preferences” -> “3D accel”, hack in the box.

VirtualDub: 3D acceleration enabled

 

Addendum 16.05.2010:
I’ve been getting mixed messages. Apparently using “3d accel” causes it to render slower than usual on some systems. I can confirm that. With 3d accel turned on, a 10min video takes about 1 hour 10-20 minutes, while turned off it takes about 1 hour max. You’ll have to experiment on your system!

 

Addendum 23.10.2009:
There’s currently a problem causing VirtualDub 1.9.4 – 1.9.9, crashing under Windows 7. The culprit is 3D accel! Turn it off under “Preferences” -> “3D accel” and enjoy VirtualDub once again!

 

Update 27.01.2011:
Updated Setting screenshot

Don Salva

The Don, Don Salva, the master of all the worldly crap, the one and only who dwells in all the craptastic stuff you produce! Glorious, glorious crap, so sayeth, I, Don Salva.

50 thoughts on “Fraps & VirtualDub: How to save disk space and enjoy good quality, small file size HD video clips

  1. Hi,

    I’ve done exactly what you’ve said in this tutorial. But if I upload it to youtube the quality becomes bad. No 720p option whatsoever. Only 380p/480p with bad quality.

    Any ideas?

    1. If you don’t have the option 720p then your video is not at least 1280×720. That the quality suffers AFTER uploading on YouTube is normal:

      On a side note: When you have uploaded your clip on YouTube and YouTube processed it the quality then will be lowered again. There’s nothing you or I can do about that, it’s up to YouTube.

  2. Thanks you so much for this post! Working on a batch / script system to process all the files from Fraps for YouTube instead of sitting on a computer for hours doing it, and these settings worked nicely for the compression part!

    As a note for anyone else who might run into error like with virtualdub:

    Error initializing audio stream compression:
    The audio codec cannot compress the source audio to the desired format.

    Apparently with input from Fraps, AC-3 ACM Codec with 44100 Hz does not work, but 48000 Hz does.

  3. Wow, this hasn’t been posted on for a long time, but anyways OT: I’ve been using a newer version of the H.264 codec with some settings missing, and when I compressed my video, it turned out a lot larger than the original (900mb for original, 8.7gb for compressed) the video looks fine but why would it be so BIG?!

  4. I am using FRAPs and recording at full resolution (1920×1080). I combined the many clips into one single video with VDub and used your x264 settings from this article. Previously I simply chose Xvid MPEG-4 settings at default which is a little over twice the file size (which I was not concerned about). I noticed that upon uploading to YouTube the text in the video (Starcraft 2 in particular) was hard to read at 1080p. Obviously YT did some re-encode on it, because it is more legible on my local copy.

    I found that doing exactly what you did in this guide (except for resizing), while getting a smaller file size, the quality on YouTube looks no better (but certainly not worse). Any ideas on how to fix this?

    My attempt with Xvid: http://www.youtube.com/watch?v=xu9fglEKPqA
    My attempt with x264: http://www.youtube.com/watch?v=a9nxJJbhy6g

    For both videos, my local copy looks much crisper. Thanks!

    1. I don’t see any difference in text quality either in xvid or x264. Looks like it’s a SC2 problem. Your local copy will always looks better. Mine do too. YouTube, like you said, always re-encodes which results in quality loss. There’s no fix for that, except maybe initially encoding it in way, way higher quality, but that’ll make the point of this tutorial moot.

      1. I just uploaded an upscaled video (from half-size 1080p to full 1080p) using your instructions here. The text looks less butchered by YouTube.

        http://www.youtube.com/watch?v=wz2hvck1MSU

        Many other people have perfectly crisp, readable text in their SC2 videos (HD Starcraft, Husky, a few others that do 1080p).

        I just don’t get it. :/

        1. Just wanted to let you know that I heard back from another HD YouTuber. Resizing to 1920×1072 solves everything. Strange, huh?

          Thanks again for this guide and replying to me!

          1. Of course it makes sense. If you scale an object from a smaller to a higher resolution, it is usually blurred. But if you scale down from a higher to a lower resolution, then the result can only be sharper. But that does not solve the initial problem with the reference videos. I have already sent a team of experts to investigate the matter…

  5. Hi.

    This seems a nice guide, I’m trying to follow it but I have a problem just from the beginning. When I try to open the .avi file from fraps, Virtualdb shows the message:

    “Could not locate decompressor for format ‘FPS1′ (unknown)”

    I’m doing anything wrong? :( (I use Win7 x64)

    H.264 codec configuration seems to be fine, with the same values you use.

    Also in the Virtualdb Audio options cant find the AC3 ACM codec (have downloaded and installed it, but still doesn’t appear on the list)

    1. Huh, I have no experience with Win7 64Bit. But the error you get, that’s due Fraps codec not being installed (properly). You should solve it by uninstalling and reinstalling Fraps.

      Don’t know about your AC3 ACM codec, but the one I’m using is this one. I’m also not sure if it runs on 64Bit Win7. But according to the AC3 ACM changelog, it should.

      Otherwise use the Lame MP3 codec.

  6. Pretty nice post. I just stumbled upon your blog and wanted to say that I have really enjoyed browsing your blog posts. In any case I’ll be subscribing to your feed and I hope you write again soon!

  7. So,

    I reinstalled K-Lite back to 6.0.4 version and still getting the same error message after uploading a video on YouTube: "Failed (unable to convert video file)" :(

    Since the video quality after following your instructions is really great, this "Failed" thing is making me sad a bit… ;) Unfortunately I'm not yet very good in video editting, have no idea where could be a problem and so need a help. Will you, please? ;)

  8. I finally managed to upload my video on YouTube.

    I used the newest 6.2.0 version of K-Lite Mega – it has a lot different x264 VFW codec settings window with less options to change but after a playing with them I’m quite sattisfied with the results…

    Thanks again, man, good work (at least, I learned something about processing a raw video ;) )

  9. Bummer… No older versions of K-Lite Mega (except of 6.1.0) are provided any more… Or I cannot find any, at least… :(
    But there’s a new version 6.2.0 with x264 [revision 1666] VFW video codec – do you think it will work?

  10. Yes, I'm guessing you're using the Mega K-Lite Codec Pack 6.1.0? If yes, go back to 6.0.4 if this error still appears try 6.0.0 or even 5.9.0.

    Apparently 6.1.0 has a faulty h264 codec. 6.0.4 works for me, but for some it doesn't.

  11. Hi,

    great tutorial, processed videos are awesome and of small size – really great.

    But I'm having problem to upload them on YouTube – I'm always getting "Failed" error due to unrecognizeable format – any help, please?

    Thank you.

  12. Ok, ok. But you can try the other way. It is like this:

    To select half-size, and disable sound recording. The video will be around

    5 mins. – 800MB. Then you can put in Movie Maker, and add some music. If you

    do not want – you do not need. I just made a proposal! And now I will try with Virtual Dub. I hope it's better!

  13. Where exactly did you get your H.264 Codec? I've installed the K-Lite Mega Codec Pack and I still do not show the codec under my Video Compression settings.

  14. Nope, they are not there. I see Divx, Cinepak, Helix, Xvid, and other, but not the x264 that you are using.

  15. Looks like I got it now. I had to choose “Lots of stuff” in the K-Lite install. There was no “mega” option.

  16. Then you must've a different version because those filters I showed are an integral part of VirtualDub.

    I'm guessing you're using the 64-Bit version of VirtualDub? I'm not, perhaps the 64-Bit version hasn't got the filter because they aren't 64bit compatible?

    Try using the 32Bit VirtualDub. If you ARE using 32Bit VDub, then I'm at loss too.

  17. Also, I do not see the list of codecs in VirtualDub after I have installed and restarted Windows 7 64-bit. I have restarted, and I am getting nothing.

  18. I have just installed VirtualDub, and I am following your directions. I created the resize filter, but there is no sharpen filter, along with other filters in the screenshot that are also not there. I have installed the full K-Lite codec package, which I was already familiar with. I would provide a screenshot for proof, but can't.

  19. Hey Don I'm curious about this, I saw on your youtube page that you cap in Fraps at 29.97 fps. Just wondering why you cap at that framerate instead of just 30fps say. I understand 29.97fps as it relates to NTSC standards but just wondering you are capturing video that won't be played on a tv at that fps?

  20. Hey, great article! You may want to add a note about multi-threading regarding the H264 settings. You show in your H264 settings screenshot "6" in the "threads" field but I assume that's because you have a quad-core. It wasn't until I watched your video on youtube that I realized my threads should be set at 3 because mine is a dual core. Anyway just an FYI, thanks again for sharing this info!

  21. how big are 2-3 minute clips created this way? I'm having trouble getting clips below 200MB, which is way too big for me.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>