PDA

View Full Version : Videos too dark, increasing contrast washes out specific areas


Cyber Akuma
26th September 2007, 08:12
I wanted to record some gameplay footage from a Playstation 2 game, so I hooked my PS2 up to a DVD Recorder then ripped the DVD to my PC.

I pretty much only have freeware tools at my disposal.

I used gordian knot just to produce a resulting d2v and avs file.

Thing is, the video had black borders around it (I can easily crop those out) and was very dark, some parts were practically pitch black, even when the dvd itself was played in my PC. But the DVD looks fine when played on my TV.

I tried messing with different birghtness/contrast levels in VirtualDub but the only way I gould get any detail to come out was to practically set to brightness and contrast at such a high level that the whole video looked washed out, and on top of that the biggest problem was white areas like text or 2d images coming out completely terrible, way too bright and colors and detail unviewable because of the brightness.

After talking with some friends they recommended I use the YUV->RGB PC Aspect option in DGindex and recommend I put the lines "ConvertToRGB32(matrix="Pc.601")" and "ConvertToYV12()" under the mpeg2source line in my avs.

It comes out looking MUCH better now, but its still just a little too dark. But now even the slightest brightness/contrast adjustment completely whites out the text and 2D areas.

Any ideas what I can do about this? I highly doubt such a thing is possible but if there somehow was a way to apply the filter to only the darker areas and ignore or dampen the effect on brighter areas it would probably work. Or is there a better way to do this?

DarkZell666
26th September 2007, 13:12
Some screenshots and/or a sample of the vob would be nice to have a more precise idea of how it looks.

Though I'd suggest another solution which "could" work if you're lucky enough : use a PS2 emulator ;) Considering you own a PS2 and the game, there is no legal issue afaik. You could play your demo directly on your PC and record your game directly to avi using fraps for example. You wouldn't have any color-conversion issue at all, but it isn't guaranteed the game actually works in PCSX2, or that your CPU is fast enough to play the game in real-time (especially with fraps running at the same time). Check www.ngemu.com and www.pcsx2.net if you're interested in following that route.

Cyber Akuma
26th September 2007, 15:08
Some screenshots and/or a sample of the vob would be nice to have a more precise idea of how it looks.

Alright, heres some comparisin screenshots. The top row is playing the vob directly in Media Player Classic and the bottom is playing the AVS. For the second and third image in both rows, the text that is in white and the 2D character portraits get discolored and blurred/washed out if I increase the contrast or brightness (fleshtones turn white for example).

http://i12.photobucket.com/albums/a207/Cyber_Akuma/Forum%20Hosted%20Junk/abipricompare001.jpg

Though I'd suggest another solution which "could" work if you're lucky enough : use a PS2 emulator ;)

I am well aware of PCSX2.

First of all, that emulator still isn't advanced enough to run games at full speed yet.

Second, to even reach roughly 40fps or so you need a Pixel Shader 2.0 compatible 3D card and a dual-core setup. I have a Pentium 3 to put it in perspective.

DarkZell666
26th September 2007, 19:29
Looks like a job for YLevelsS() to me !

This thread should enlighten you a bit : http://forum.doom9.org/showthread.php?t=79898&highlight=YLevelsS

I think your footage would look great if the dark areas were boosted more than the light areas (somewhat closer to gamma tweaking rather than contrast or brightness).

First of all, that emulator still isn't advanced enough to run games at full speed yet.

Second, to even reach roughly 40fps or so you need a Pixel Shader 2.0 compatible 3D card and a dual-core setup. I have a Pentium 3 to put it in perspective.Hehe, that's why I said "if you're lucky enough" ;)

Cyber Akuma
28th September 2007, 09:22
Looks like a job for YLevelsS() to me !

This thread should enlighten you a bit : http://forum.doom9.org/showthread.php?t=79898&highlight=YLevelsS

I have to admit, I tried reading it over and i'm completely lost on how to use this, manually writing avs scripts is still a little difficult for me.

I understand that I need to include the command YlevelsS() as well as the code for the function, but where would MaskTools.dll go? In the AVISynth 2.5 plugin directory?

And the latest version seems to be MaskTools version 2 alpha 2, how would I modify the script to use that? And how do I check if my copy of AVISynth is comptible? I didn't see anywhere where I can check it's version number? I doubt its just plain "2.5"

Also, for expirementation purposes with this command I put both the old version (MaskTools.dll) and the new version (mt_masktools.dll) in the AVISynth plugin directory, will this cause conflicts, since they are different filenames? I did not see any command to actually call the plugin DLL in the function code.

And, would I need the "ConvertToRGB32(matrix="Pc.601")" and "ConvertToYV12()" commands if I am using this one? I was trying to put the "YlevelsS()" function call command right under those two.

Lastly, I had no idea what arguments to use in the YlevelsS() to I tried to Google for examples, almost all of them said something like "YlevelsS(0,1.7,255,0255)", but this seems to be missing another two arguments, and VirtualDub could not load the avs because of this. How do I even find out what values I should use for my video?

Thanks, I understand I asked a lot of questions in this one.

Cyber Akuma
6th October 2007, 12:22
Err, anyone?

I got a recommendation of starting with YLevelsS(60,0.5,220,50,540) from a friend and toying with the values.

The problem is, since I don't know what each value stands for and how they effect others other than making random guesses I can't tweak the settings properly.

So can anyone help with this or any of the other questions I asked in the previous post?

neuron2
6th October 2007, 15:11
It apparently has the same syntax as the internal Levels() filter. Refer to the Avisynth documentation.

foxyshadis
7th October 2007, 00:08
You could throw it into avsp, create sliders for each argument, and get a nearly instant visual preview of what effect they have on the video. Avsp will auto-create sliders for regular Levels, which gives you some idea of the effect, but I don't think it will for YLevelS unless you add the definition yourself.

Cyber Akuma
7th October 2007, 01:24
I have never heard of AVP. What is it and would it be hard to do this with it?

neuron2
7th October 2007, 01:29
C'mon guy, the first Google hit for "avsp" will take you to it.

Is it hard? Try it and let us know. We don't know what your competencies are.