Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > Advanced Video Processing > Compress .avi(s) Using Command Line


Posted by: Raoul Nov 5 2010, 05:59 PM
Hi there,

I have a question:
I am using Fraps to record some gameplay, Fraps uses a really low compression, for example a 15 second video is about 500MB.
I am currently using VirtualDub in combination with the Xvid MPEG-4 Codec to compress the original fraps friles from 500MB to 20MB.
I have a lot of videos so it takes ages to do this manually.
So I started searching google for command line for VirtualDub.

QUOTE
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


I found out that I could make a .vcf file that holds my specific settings (using MPEG-4 codec for Video Compression).

I created the .vcf file, and I started reading a little more and wrote myself a little CMD:
CODE
@echo off
TITLE Compressing video files using VirtualDub
SET WORKDIR=G:\Fraps
SET VD=%WORKDIR%\VD\VirtualDub-1.9.10-AMD64\Veedub64.exe
SET in=%WORKDIR%\Movies
SET out=%WORKDIR%\Done
SET vcf=%WORKDIR%\Movies\process.vcf
echo.
echo Working..
echo.
%VD% /s %vcf% /b %in% %out%
echo.
pause.
EXIT


But the script doesnt work and I cant figure out what I am doing wrong.
When I run the above script, VirtualDub loads and selects the right codec, but it isnt compressing anything, I think there is something missing.

In my workdir\Movies folder I have a file called:
iw4mp 2010-11-05 16-33-00-38.avi

I need the script to select all the .avi in the Movies folder, then compress them and put the compressed output in the workdir\Done folder.

Someone knows what I should do?

Posted by: dloneranger Nov 5 2010, 07:51 PM
With your script, you're adding jobs to the job list, but not processing it

You'll need the /r switch to actually run the batch jobs
It's in the help, just after the part about /b

And probably the /x to exit virtualdub after it's finished as well

Note: you're using virtualdub with a local batch list - this is fine as long as you're only using 1 instance of virtualdub, but it you run 2 at the same time the job list could end up garbled
If you want to ie: add more jobs to the list while it's already running

You can look at the help for batch operation: distributed mode
That lets you use multiple copies of virtualdub with one job list using the /master and /slave switchs


Posted by: Raoul Nov 5 2010, 09:52 PM
QUOTE (dloneranger @ Nov 5 2010, 07:51 PM)
With your script, you're adding jobs to the job list, but not processing it

You'll need the /r switch to actually run the batch jobs
It's in the help, just after the part about /b

And probably the /x to exit virtualdub after it's finished as well

Note: you're using virtualdub with a local batch list - this is fine as long as you're only using 1 instance of virtualdub, but it you run 2 at the same time the job list could end up garbled
If you want to ie: add more jobs to the list while it's already running

You can look at the help for batch operation: distributed mode
That lets you use multiple copies of virtualdub with one job list using the /master and /slave switchs

Thanks!

CODE
@echo off
TITLE Compressing video files using VirtualDub
SET WORKDIR=G:\Fraps
SET VD=%WORKDIR%\VD\VirtualDub-1.9.10-AMD64\Veedub64.exe
SET in=%WORKDIR%\Movies\
SET out=%WORKDIR%\Done\
SET vcf=%WORKDIR%\Movies\process.vcf
echo.
echo Working..
echo.
%VD% /s %vcf% /b %in% %out% /r /x
echo.
EXIT


Works now! cool.gif laugh.gif



edit:
Hmm, it looks like the script never stops, it processes all files and then starts over again.

Posted by: stephanV Nov 6 2010, 08:20 AM
QUOTE (Raoul @ Nov 5 2010, 10:52 PM)
edit:
Hmm, it looks like the script never stops, it processes all files and then starts over again.

Did you clear up the job list? If you ran your first script multiple times than those jobs would be still be present.

You can do this with /c by the way.

Posted by: Raoul Nov 17 2010, 12:31 PM
Thanks! Working great now! smile.gif cool.gif

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)