|
|
| schleimboitel |
| Posted: Jul 16 2012, 07:52 AM |
 |
|
Member
 
Group: Members
Posts: 15
Member No.: 17004
Joined: 22-October 05

|
Hi
I occured the following problem: If I have multiple instances / processes of VirtualDub started, and save files as jobs, it comes to conflicts with the VirtualDub.jobs list file.
E.g. If you start a first instance of VDub and save a file as job, it gets stored to the local VirtualDub.jobs-file. If you start a second instance, the jobs-file gets read correctly. If you delete the job in the 2nd instance, and close VirtualDub, the jobs-file gets emptied. But if you open now the jobs list with the first instance, the job is still there - and it's rewritten to the jobs-file.
So the instances of VirtualDub seem to cache the jobs internally, and output them every time the "job control" gets opened or VirtualDub gets closed. I think it would be better to import the local jobs file evertime the jobs window gets opened and to update the jobs file only when a new job gets added, changed or deleted etc.
I know there's the possibility to save job lists manually but as I use VirtualDub with scripts it would be much more comfortable if the local jobs file would be only changed if there are made changes by an instance of VDub...
Checked on VDub 1.10.1 & 1.10.2... |
 |
| dloneranger |
| Posted: Jul 16 2012, 12:57 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Or you could use Virtualdubs master/slave system where you can have multiple pc's or/and instances all sharing one jobs list
From the jobs control dialog, pick use shared list from the file menu Or you can do what I do and automate it completely, as follows
First make a shared jobs list from the jobs control dialog eg c:\Sharedjobs.jobs Then, make 2 shortcuts to virtualdub Rename one of them to something distinct like VirtualDub Master Right click on the shortcut and select properties In the target box move to the end and add /master "c:\SharedJobs.jobs' Now, whenever that shortcut is opened, virtualdub will open in master mode, and use the shared list eg here's mine, that starts it in master mode, loads my default script that has my processing settings etc in (x264 codec, pcm audio, a list of unticked fave filters) and sets the video to direct stream copy (It's a bit weird selecting a codec, and direct stream copy, but all I have to do is pick full processing and the codec's already set up for me)
| CODE | "C:\Program Files (x86)\Common Files\Dlone\VirtualDub\VirtualDub.exe" /cmd "VirtualDub.video.SetMode(0)" /master "F:\Karls DropBox\Dropbox\NewVids.jobs" /s "C:\Users\Public\Documents\X264.vdscript"
|
With the other shortcut, do the same, but in the target box, add this instead /slave "c:\sharedjobs.jobs"
(there's a space before the /)
When the slaves are opened, they will use the shared jobs list, and start encoding right away
What I do, is move the slave shortcut into the startup section of the start menu, so it automatically runs Then all I have on the desktop is the master shortcut With that one, i just load/edit and then queue jobs, letting the slave do the work in the background But you could just open as many slave instances as you like
You can also do this across multiple pc's as long as the shared list and video files are accessible from all the pc's
There's more info in the help file under batch operation->distributed mode
With this, you can also write batch files that load scripts and saves them to the shared jobs list eg here's my batch file that re-encodes any video's dropped onto it using my Lagarigh script that resaves using Lagarith, and pcm audio (and changing the file extension to .avi) - you could use any script you like though
| CODE | @echo off
set vdub="C:\Program Files (x86)\Common Files\Dlone\VirtualDub\VDub.exe" /master "F:\Karls DropBox\Dropbox\NewVids.jobs" /s "C:\Users\Public\Documents\LagsFullProcess.vcf" set dest=H:\Video Output\lags\
set count=0 set failed=0
:loop if .%1.==.. goto ex %vdub% /p %1 "%dest%%~n1.avi" /x >nul: if errorlevel 1 goto fail :ok echo %~n1 set /a count=count+1 goto nxt
:fail echo **FAIL** %~n1 set /a failed=failed+1
:nxt shift goto loop
:ex echo. echo Added %count% files if %failed% EQO 0 goto nofail echo Failed %failed% files :nofail pause
|
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| schleimboitel |
| Posted: Jul 16 2012, 09:24 PM |
 |
|
Member
 
Group: Members
Posts: 15
Member No.: 17004
Joined: 22-October 05

|
Big thanks for the very detailed answer.
I did not knew about the master/slave feature yet, that's great. It works like charm doing it as you explained. Now I can render video sequences in the background and work on with editing without have to wait till the render process gets finished.
Thanks again. |
 |
| dloneranger |
| Posted: Jul 16 2012, 09:44 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
You're welcome
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
|