Log in

View Full Version : virtualdub and x264


fenomeno83
26th August 2010, 13:42
is it possibile with virtualdub or virtualdubmod encode in x264 with crf 18?
I don't know how use x64 with virtualdub (if I apply some filter I must before compress in uncompressed rgb and after encode in x264).

Sharktooth
27th August 2010, 00:36
yes and no. yes, it's possible and no you cant use official x264 with vdub.

poisondeathray
27th August 2010, 00:56
you can use unofficial x264vfw through vdub , it now supports other containers than only AVI

or you can use vdub "external encoder" feature, and use official x264.exe
http://forums.virtualdub.org/index.php?act=ST&f=5&t=18789&

or export lossless intermediate from vdub for import into x264 (or GUI for x264)

Sharktooth
27th August 2010, 03:58
or you can use one of the GUIs available with avisynth and hundreds of hi-quality filters or AVIDemux...

fenomeno83
27th August 2010, 10:20
you can use unofficial x264vfw through vdub , it now supports other containers than only AVI

thanks..I will try...I got perfect quality encoding with x264 crf 18...Will I have the same perfect quality?


or you can use vdub "external encoder" feature, and use official x264.exe
http://forums.virtualdub.org/index.php?act=ST&f=5&t=18789&

in virtualdub and virtualdubmod I don't see external codec option :)


or export lossless intermediate from vdub for import into x264 (or GUI for x264)

yes, I already make this..I save in uncompressed \rgb with virtualdub and encode in x264 with crf 18 using ripbot264, but I prefer make every operation with virtualdub



another thing: can I mux without recompression an aac audio?because if I choose directstreamcopy audio is converted in pcm

fenomeno83
27th August 2010, 10:24
or you can use one of the GUIs available with avisynth and hundreds of hi-quality filters or AVIDemux...

I need to use neativideo, so I must use virtualdub :)

LoRd_MuldeR
27th August 2010, 10:35
If "neativideo" is a available as a VirtualDub Plugin only, you can use it in your Avisynth script via LoadVirtualdubPlugin().

Not that we have a lack of "native" denoise scripts for Avisynth ;)

Also, if you want to avoid Avisynth, you could do the processing in VirtualDub, save to some lossless format (e.g. HuffYUV) and do the final encode with x264.

fenomeno83
27th August 2010, 10:56
If "neativideo" is a available as a VirtualDub Plugin only, you can use it in your Avisynth script via LoadVirtualdubPlugin().

Not that we have a lack of "native" denoise scripts for Avisynth ;)

Also, if you want to avoid Avisynthm you could do the processing in VirtualDub, save to some lossless format (e.g. HuffYUV) and do the final encode with x264.

Can you make an example of LoadVirtualdubPlugin()?
my filter is on
"C:\Program Files (x86)\GordianKnot\VirtualDubMod\plugins\NeatVideo.vdf"

my file is "C:\2 original.mp4"

so, I think that I open this avs script with ripbot264 for example, and automatically will open neativideo(I will set something on it);at last I will set from ripbot264 encoder paramethers(example crf = 18)



edit: I use this

LoadVirtualdubPlugin("C:\NeatVideo.vdf","DirectShowSource",1)
DirectShowSource ("C:\2 original.mp4")

I load with ripbot264 but I can't open neativideo GUI to set some paramethers

LoRd_MuldeR
27th August 2010, 11:08
Try like this:

LoadVirtualdubPlugin("C:\Program Files (x86)\GordianKnot\VirtualDubMod\plugins\NeatVideo.vdf", "NeatVideo")
FFMpegSource2("C:\2 original.mp4")
ConvertToRGB32()
NeatVideo()

fenomeno83
27th August 2010, 11:23
Try like this:

LoadVirtualdubPlugin("C:\Program Files (x86)\GordianKnot\VirtualDubMod\plugins\NeatVideo.vdf", "NeatVideo")
FFMpegSource2("C:\2 original.mp4")
ConvertToRGB32()
NeatVideo()

doesn't work..neatvideo gui doesn't appear

LoRd_MuldeR
27th August 2010, 11:28
doesn't work..neatvideo gui doesn't appear

It isn't supposed to!

Would be kind of annoying if you wanted to do an automated/batch processing with Avisynth, but the popup window blocks the process ;)

Doesn't Neat Video "remember" the settings you have set up in the GUI (from inside VirtualDub) ???

fenomeno83
27th August 2010, 11:36
It isn't supposed to!

Would be kind of annoying if you'd wanted to do automated/batch processing with Avisynth, but the popup window blocks the process ;)

Doesn't Neat Video "remember" the settings you have set up in the GUI (from inside VirtualDub) ???

problem is that in neativideo I set manually a uniform region(so is different in every video)...so I prefer that I set manually that region because without it, results are not good the same.
your script works(use the last main settings used in neativideo), but to set region a must make a square manually in frame, and I need GUI showed
So, no chance to appear neativideo gui? :)

LoRd_MuldeR
27th August 2010, 11:41
problem is that in neativideo I set manually a uniform region...so I prefer that I set manually that region because without it, results are not good the same.
your script works(use the last main settings used in neativideo), but to set region a must make a square manually in frame.
So, no chance to appear neativideo gui? :)

Not this way, unfortunately.

The proper solution would be to use Neat Video as a "native" Avisynth Plugin, which is fully configurable from the AVS file with parameters.

But I guess Neat Video isn't available as Avisynth Plugin...

fenomeno83
27th August 2010, 11:45
Not this way, unfortunately.

The proper solution would be to use Neat Video as a "native" Avisynth Plugin, which is fully configurable from the AVS file with parameters.

ok..I tried also x264vfw solution in virtualdub..
my problem is: can I mux aac audio without recompress?because virtualdub show aac audio as pcm and if I choose directstreamcopy is saved as pcm

LoRd_MuldeR
27th August 2010, 11:46
I don't think AAC streams in an AVI container is a good idea, which disqualifies VirtualDub for that task...

fenomeno83
27th August 2010, 12:15
I don't think AAC streams in an AVI container is a good idea, which disqualifies VirtualDub for that task...

using x264vfw as compressor I can have mkv or mp4 container

LoRd_MuldeR
27th August 2010, 12:21
using x264vfw as compressor I can have mkv or mp4 container

Nope, you can't. Independent of what VFW Codec is used, VirtualDub always writes the output to an AVI file. That's an inherent limitation of VirtualDub.

(I know that the latest x264 VFW can be configured to write the video stream directly to an MP4/MKV file, bypassing VirtualDub completely. But this file won't contain any audio - for obvious reasons)

detmek
7th September 2010, 09:27
There is a VirtualDub test build at forums.virtualdub.org that supports external CLI encoders, x264, FFMPEG, Nero AAC, mp4box, mkvmerge...
If audio should stay untouched, it can be muxed later with mp4box (YAMB) or Mkvmerge GUI.

Maccara
7th September 2010, 21:53
problem is that in neativideo I set manually a uniform region(so is different in every video)...so I prefer that I set manually that region because without it, results are not good the same.
your script works(use the last main settings used in neativideo), but to set region a must make a square manually in frame, and I need GUI showed
So, no chance to appear neativideo gui? :)

If you want to use neatvideo in avisynth, you first prepare the profiles etc in virtualdub and then use those in avisynth. Simple.

There are instructions in neatvideo docs how to call it. Here, for your convenience, I mucked up a helper function for you:

Function VD_NeatVideo( clip c, string "profilepath", string "presetpath", float "temporalthreshold", int "temporalradius", bool "adaptivefiltration", bool "interlaced") {
LoadVirtualDubPlugin("F:\Utils\VirtualDub\plugins\NeatVideo.vdf", "NeatVideo", default(temporalradius, 1))
return c.NeatVideo(profilepath, presetpath, default(String(temporalthreshold), "1.0"), default(String(temporalradius), "1"),
\ default(adaptivefiltration, true)?"1":"0", default(interlaced, false)?"1":"0")
}


To use that make an avs script which has everything upto where you want to include NV, open in virtualdub and make profile/preset (as usual) and save. Then back to avisynth and call that function with the path to the just created profile/preset and add the rest of your wanted filtering etc.