Log in

View Full Version : Is there any way to force AVISynth to deliver the exact input on output?


OldGuru
23rd April 2007, 05:22
The question may seem trivial, but I am new to AVISynth. I want to read an RGB24 file and frameserve it to SUPER encoder to convert to flv format without any conversion or degradation. I used the following script:

AviFileSource("E:\Videos\Capture\Captured Football\test.avi")

where test.avi is in RGB24 format.

The problem is that when I open the file directly in SUPER, the resulting flv file's quality is good but, when I use AVISynth, the output quality degrades noticeably indicating that the encoder receives a "different" input when it is fed by AVISynth.

The reason for this test is that I do my editing in VirtualDubMod and SUPER does not work with VirtualDubMod's frame server, but it works with AVISynth. If I resolve this problem I'll pump the frames from Vdubmod to AviSynth, and then to the encoder.

So, is there any way to pump the frames through AVISynth without them being altered in any way? Every help will be appreciated.

P.S.: I've already tried some variations of that script and have read all FAQ, but couldn't find a solution.

[P]ako
23rd April 2007, 06:19
With something like:

AviSource("file.avi", pixel_type="RGB24")

OldGuru
23rd April 2007, 13:55
ako;992502']With something like:

AviSource("file.avi", pixel_type="RGB24")

I've already tried that. It doesn't make any difference, because when the source is uncompressed pixel_type parameter is ignored.

foxyshadis
23rd April 2007, 16:51
It's possible that SUPER is adding noise-reduction filters when opening; since those make it easier to encode, it would look higher quality. I don't know, and I don't have a VM handy to test SUPER. (Not going to put it on my main system again if I can help it.) In what way is quality degraded between one and the other? Black levels? Noise? Blocks?

Avisynth will output exactly what you put in, as long as you output to the same colorspace as the input. SUPER must be changing the setup somehow, and it's hard to tell with closed systems.

OldGuru
23rd April 2007, 17:27
It's the kind of degradation that you may see if you add one extra lossy compression/decompression step to the process; the quality is just poorer.

I think if Super wanted to add any filters on input, it would do the same when it opened a file from disk. But, it is possible that SUPER does something extra when it is fed by AVISynth (It recognizes the .avs extension and may do something differently).

So, is there any other flv encoder that can connect to AVISynth that I can try?

Blue_MiSfit
23rd April 2007, 18:45
The Flash video encoder accepts AviSynth input, you just have to select 'all files', not any specific file type.

I think it's possible with mencoder as well.

I've been meaning to ask about this.. I want to do a proper 2 pass VBR encode at (for example) 1000kbit using vp6, and mux this with a 128kbps CBR MP3 into an FLV. Is this do-able? Is there a VBV setting in VP6 that will let me limit my bitrate for streaming?

~MiSfit

OldGuru
24th April 2007, 00:32
Thanks for the tip, Blue_Misfit.

BTW, by "The Flash video encoder" do you mean the "Adobe" Flash encoder? If so, its price is a bit rich for my blood! :D

I am now trying to find a GUI version of mencoder that can output flv file.