Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

 
How To Do 2-pass Batch?, for Deshaker
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
johnyradio
Posted: Oct 19 2012, 08:59 PM


Newbie


Group: Members
Posts: 8
Member No.: 33608
Joined: 17-November 11



hi

i found two recipes for doing a 2-pass batch virtual dub, on multiple files.

http://forum.videohelp.com/threads/347807-...l=1#post2175473

http://www.thecandidforum.com/equipment-sh...html#post492153

can anyone recommend the best approach for deshaker?

using version 1.9.11

thanks
 
    Top
websmrf
Posted: Oct 25 2012, 09:27 AM


Newbie


Group: Members
Posts: 3
Member No.: 35610
Joined: 25-October 12



Didn't check your links, but what I do is the following.

I would go via scripting; you can create a sample script from the virtualdub file menu, after having loaded a sample video file into the GUI and set all filters and video/audio conversions and compressor options as desired. For 2 passes, you will have to add two jobs to the script: in the first job you'll configure the video compressor to perform the 1st pass, and in the second job for the second (or any subsequent) pass(es).

The script will be saved into VD's program folder under the name of VirtualDub.jobs and follows the syntax explained here.

With a text editor, you can then simplify the generated script file by removing irrelevant comments or control information only used when executing the script from within the GUI. Also, identify where within the script you have values that might change across several invocations (input filename, output filename, filter parameters etc.). Replace the identified values with the string VirtualDub.params[0], VirtualDub.params[1] and so forth as many as you may need. Attention: for numerical values within the script you must apply a string-to-int conversion on top as explained here. Example: Sylia.Atoi(VirtualDub.params[2])

You'll also find statements
QUOTE
VirtualDub.subset.AddRange(0,xxxxx);
VirtualDub.video.SetRange();

which you may want to remove since you don't know beforehand how long your different video clips will be.

Save the script under another name and somewhere else.

At last, invoke virtualdub with the /i <scriptname> command line option, followed by the paramaters you'd like to supply to the script. Take care to follow the same sequence of parameters as used within the script. Take care to correctly apply quotes around filenames.

Let me know how that goes for you,

w.
 
     Top
evropej
Posted: Oct 25 2012, 02:56 PM


Advanced Member


Group: Members
Posts: 514
Member No.: 26523
Joined: 28-November 09



I use a mouse recorder to load all the videos in vdub job control. I record myself loading one file into the job control, then I also include myself removing the file from the directory and moving it else where so when the code repeats, it processes all the video files. Much easier than batch process hacking. Just another option.

Then process the job when the script is done.

I have tried multiple times to get the developer to change this aspect in the code where pass 1 and 2 can occur one after another by selecting an option but he has refused to do it. He states that the code works for him and rightfully so.

I have seen some versions of his code which I am not sure if it is copied or legacy which does do both phases in single pass.
Either way, you have a way of doing what you want and I would encourage sending him an email. He does answer questions.
 
     Top
websmrf
Posted: Oct 25 2012, 04:43 PM


Newbie


Group: Members
Posts: 3
Member No.: 35610
Joined: 25-October 12



Well, scripting in virtualdub is an intended and well-developped (and documented) feature, not a hack. If you can do VBS, VD's Sylia won't hold any miracles for you. Just my opinion.

The reason of "refusing" the developpement you mention is probably the way how 2-pass encoding is implemented (or not) through the different codecs: there is just no uniform way for 2-pass implementation across AVI-compatible codecs IMHO.

The xvid codec I'm using for AVI's for example simply requires you to configure it twice: first for pass one (which only genererate a video.pass index file, but no visible output inside the AVI) and then a second time for the subsequent passes. And then, if you don't run step 1 properly before step 2, xvid will crash. And again, if you prefer 1-pass recording, it's again another configuration for xvid.

I know some programs do that kind of stuff somehow, but I rather prefer VD remaining independent from and pure of codec-specific hacks.

w.

PS: Back to the topic, I just checked the two links mentioned in the first post. They're recommending to save the settings into a settings file, which is nice when you want to prefetch some default settings into the GUI. For scripted batch processing however, a separate settings file is irrelevant since all needed parameterization is contained inside the script itself already.
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
3 replies since Oct 19 2012, 08:59 PM Track this topic | Email this topic | Print this topic

<< Back to Advanced Video Processing