Command-line operation

VirtualDub

VirtualDub help - Command-line operation

It is possible to invoke VirtualDub in the background and control it in a limited fashion from other programs.

VirtualDub command-line options

First, specifying a filename on the command line causes VirtualDub to load it as a video file on startup. This is the same as loading it using File > Open video file..., with the default autodetect-format mode.

virtualdub "My video.avi"

The /s flag runs a script; its one argument is the filename of the script to run. Configuration files (.vcf) are scripts. Note that the order of arguments is significant; some settings, such as the edit list, are reset when a video file is opened.

virtualdub /s mySettings.vcf myVideo.avi

When /x is used, VirtualDub exits when it runs through the whole command line. Its position relative to other options does not matter.

virtualdub myVideo.avi /s reprocess.script /x

The /p flag tells VirtualDub to add a batch job using the current settings and the given source and destination filenames. The /b flag adds jobs to process an entire directory into another.

virtualdub /s mySettings.vcf /p source.avi dest.avi /x

/r causes VirtualDub to process the job queue; /c tells VirtualDub to clear it.

virtualdub /s mySettings.vcf /c /b source dest /r /x

/i invokes a script with arguments. All arguments following the script filename until the next switch are passed to the script in the VirtualDub.params[] array.

virtualdub /i process.script from.avi to.avi /x

Finally, the /queryVersion flag causes VirtualDub to exit with its build number as the return code. This can be used to programmatically adapt to multiple versions.

virtualdub /queryVersion

For the full list of supported command-line switches, run virtualdub /?.

Invoking VirtualDub

The start command can be used to launch VirtualDub with lower priority than usual for background operation.

start /low virtualdub.exe

Because virtualdub.exe and veedub64.exe are GUI programs, the command interpreter in Windows will not wait for them to exit before returning. In addition, its main window will appear as usual. This can be changed by using the vdub.exe or vdub64.exe front ends, which launch the main application in a special command-line mode.

vdub /i GetVideoLength.script foo.avi

When the command line front end is used, VirtualDub automatically starts with its main window minimized (but not hidden), and automatically exits when it has completed processing (implicit /x). In addition, log output is diverted to standard output.

Caveat: Using VirtualDub in unattended processes

If you integrate VirtualDub as part of an unattended process and need to track processes, you should remember that vdub.exe and vdub64.exe are just front ends for VirtualDub.exe and Veedub64.exe. This has implications for monitoring the VirtualDub process or forcibly killing it. If you send a Ctrl+C event to the command-line driver, it will attempt to soft-stop the main process via a WM_QUIT event. However, if you kill the command-line driver process outright, the main process will continue to run. If you need to forcibly kill the VirtualDub process, you must kill the main GUI process; killing the command-line driver process is optional as it will automatically exit anyway whenever the GUI child terminates.