FRAPs Videos Are Too Dark – Fixed

FFMPEG has recently taken out the sameq switch so I’ll update this later. In the meantime, try these switches: -vcodec mpeg4 -acodec ac3 -ab 640k -q:v 0 to get the same results (ac3 sound for finnicky programs).

Ever had your FRAPs video footage come out really dark?

Don’t worry, there is an easy fix / how-to that converts your FRAPs AVI into a common format that won’t have the darkness problem.

High Quality Video Lo-fi Version (caution: updated information in article)

I can tell you what it is right now for Linux and probably Mac. Very easy, open a command line.

Enter this:
ffmpeg -i input.avi -acodec copy -sameq output.avi

Replacing input and output with your own filenames of course. More than one file? Put all the FRAPs AVI files into the same directory, go to it, enter the following:

find -iname ‘*.avi’ -exec ffmpeg -i {} -acodec copy -sameq different-path/{} \;

Or for WinFF, the preset command line should read:

-acodec copy -sameq

If you have a program you’re trying to load the file into and this doesn’t work with it, you could also try:

-acodec ac3 -ab 640k -sameq

This replaces the sound with dolby digital which has higher compatibility. I use this personally because my editor doesn’t like PCM inside AVI.

Some users have been having quality issues, this means either you aren’t encoding to mpeg4 (which you should be since that’s the default for AVI), or you haven’t used the ‘-sameq’ switch.

BonsaiFerret on YouTube suggests instead of -sameq using -qscale 0 -vcodec mpeg4 which is another way of setting video render quality and forcing the codec selection.

If you don’t wish to use mpeg4 and AVI at all, you could also try encoding everything into an mp4 (h264) file. The switches would be:

-pix_fmt yuv420p -crf 0

If you use this, remember to set the file extension to mp4 of course.

The only snag is if your version of FFMPEG is old this won’t work, but it probably won’t be.

Windows is a touch more complex since FFMPEG may not already be on your system, don’t worry, it’s free. The other thing is that you may not be comfortable with the command line. Let’s solve it first, then we’ll talk a little about what is going on, this is doubly helpful if for some reason you want to try a different solution, sometimes it’s helpful just to know what is going wrong for when you want to find a fix for whatever software you already use.

Anyway, I use WinFF with the latest version of FFMPEG. For some reason WinFF comes with a quite old version of FFMPEG so we just download the newest one and use that with WinFF.

Let’s get the latest Windows build of FFMPEG, to get that, we go to http://ffmpeg.zeranoe.com/builds/ and grab the 32-bit build static (latest), just for simplicity’s sake, if you can see a more appropriate build, grab it. Just unzip the thing to the desktop for now, you can change that later if needed.

Let’s download the front-end we need, you can find WinFF at http://winff.org. Install that, and then run it. We need to do a few things before we can use it to convert what we need though, so go into the edit menu and click preferences, it’s the MS Windows tab we’re interested in since we’re in Windows. All you do is hit the … box and then navigate to the FFMPEG executables we downloaded and unzipped to the desktop. The we just need to create a preset. From the edit menu, this time hit presets. We’re going to base the new preset on an existing one using the same extension as the original FRAPs file for simplicities sake. So go ahead and click AVI in the left panel, and then MS Compatible AVI in the right panel, this should populate all the input boxes below. Change the preset name, I choose ‘compat’, because it’s compatible with pretty much all encoders. The preset label is ‘FRAPs to Compatible’. Now for the important bit, here’s what we put for the Command Line Parameters:

-acodec copy -sameq -vcodec mpeg4

That’s it, it means copy the sound exactly (-acodec copy), and keep the same quantization but transcode the video into a different format. The same quantisation in this case means essentially make the video look the same. Click ‘Add / Update’, click ‘Save’, then click ‘Close’. This makes the preset we’ve just made available to the main program. Back in the main window we’re ready to convert something, so either hit the add button or just drag files into the main window. Use the drop-down menus to select Convert to AVI, then the new preset, change the output folder to where you want and then click convert. That’s it, the files it creates can be used with any encoder and your videos will no longer come out too dark.

Now the How to fix is out the way, what about the why?

All of your video’s information is inside the AVI file produced by FRAPs, but some programs aren’t great at recognising and correctly converting the colourspace that FRAPs uses to the more common colourspace that most video uses.

So what’s happening seems to be that because the original file is in the colourspace of yuvj420p, and we’re converting to a different colorspace and the encoder doesn’t realise the source is yuvj420p and assumes it is the more common yuv420p then we get a target file that either discards the darkest and brightest parts of each frame, or it keeps them, but you can’t see this extra data hidden in the brights and darks the video doesn’t display. The difference betwixt the colourspaces is the range of brightness they’re meant for, with the ‘j’ variant storing in the range 0-255 (Motion-JPEG uses the same), and the non-‘j’ variant using the far more typical video range of 16-235. One isn’t really ‘better’ than the other, but it is important to use the right one otherwise we get what’s known as ‘black crush’ where we lose all the detail turning everything below a certain level to just black (there’s also ‘white crush’, but it’s less noticeable with most source material), although it does give a vibrant contrast, or we’ll have the render with very grey-looking blacks and whites with muted colour.

That’s all it is, nothing more than the encoder you were using getting what exact format is inside a FRAPs AVI file a bit wrong. Pre-converting with an encoder that does recognise the odd FRAPs colourspace is just one solution, there are a number of programs that use a newer version of FFMPEG that can manage it. Some encoders come with an option to manually select what range of brightness (Video or TV versus PC levels) a video has, and there’s always the method of simply changing the gamma with the encoder, although this doesn’t always work if the information is already lost, it’s also not very accurate.

Hope this helps, and happy capturing.

Here is a post on Kevblog which tells you how to do the same thing, but using VirtualDub.

3 thoughts on “FRAPs Videos Are Too Dark – Fixed

  1. It still works, but you have to change ‘-sameq’ into ‘-qscale 0’.
    I’m using Windows 7, by the way..

  2. Thank you for that extra change FlamingChickenWings as it worked for me after making that change and updating the preset.

    Windows XP PRO 32 bit

Comments are closed.