Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > Advanced Video Processing > Covert A Sequence Of Image To Avi In Command Line


Posted by: samuelps2 Nov 1 2010, 02:13 AM
Does the current version of VirtualDub supports coverting a sequence of image to avi in command line?
If so, How does it work?
If not, could you suggest a way to do the same think once I want to invoke it and automatically generate avi files with the image sequence in a specified directory when I press a button in my programed UI?
Thanks for help!! biggrin.gif

Posted by: phaeron Nov 3 2010, 09:32 PM
There is currently no way to do this from a directory. You can do it from a series of sequentially numbered files (image0001, image0002, etc.) if you open the first image.

Posted by: chchatham Jan 5 2011, 09:16 PM
I have the same problem - have had trouble understanding what is supported via command line and what is not. If anyone could provide a hint in the right direction that would be helpful.

Currently I have:

C:\Users\Chris\Documents\VirtualDub-1.9.11\vdub.exe /capture /max /capfileinc heatmapmovieBYRESP1NoDistList0.png

but it doesn't seem to work...

Posted by: dloneranger Jan 5 2011, 09:25 PM
QUOTE (chchatham @ Jan 5 2011, 10:16 PM)
Currently I have:

C:\Users\Chris\Documents\VirtualDub-1.9.11\vdub.exe /capture /max /capfileinc heatmapmovieBYRESP1NoDistList0.png

but it doesn't seem to work...

Yep, it makes no sense

/capture and its related options are for recording from eg a webcam

Are you trying to load a series of png's, or capture from a camera to a series of png's ?

Posted by: chchatham Jan 6 2011, 01:03 AM
Yep - I am calling virtualdub from within R. I am just trying to make an avi file from a sequence of images (heatmapmovieBYRESP1NoDistList0.png, heatmapmovieBYRESP1NoDistList1.png, heatmapmovieBYRESP1NoDistList2.png, etc). I need to do it from the command line because I have a few hundred different movies to create.

Thank you so much for any help.

Posted by: chchatham Jan 6 2011, 01:22 AM
Well it looks as though this person needed to do something very similar:

http://forums.virtualdub.org/index.php?act=ST&f=5&t=14110&hl=avi,and,sequence+of+images,and,command+line

I have now gotten it to work following those instructions and using the following command:

C:\\Users\\Chris\\Documents\\VirtualDub-1.9.11\\vdub.exe /i compress.vcf heatmapmovie0.png heatmapmovie.avi

Thanks all! Hopefully this post will help others find the solution.


Posted by: dloneranger Jan 6 2011, 01:57 AM
First you'll need to make a script to use
Easiest way to do that is to start virtualdub, and go through the motions of what you want to do
eg set full processing for video, pick a compressor and it's settings, set no audio, load the first .png file of a set
Then in the file menu, go to 'Save processing settings' and save it as c:\MyScript.vcf
Quit virtualdub


Open the MyScript.vcf file in notepad, and you'll see something like this - (not identical though)
CODE

VirtualDub.audio.SetSource(0);
VirtualDub.audio.SetMode(1);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(0);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(1);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression(0x64697678,0,10000,0);
VirtualDub.video.SetCompData(3532,"somestuffhere");
VirtualDub.video.filters.Clear();
VirtualDub.audio.filters.Clear();


Now, you need to add 2 lines to this

First, at the top add
VirtualDub.Open( VirtualDub.params[0] ,"",0);
Then at the bottom, add
VirtualDub.SaveAVI(VirtualDub.params[1]);

Save that, and quit notepad

----------------------------------------------
Now we make a .bat file to run the script
(change all file paths shown here, to what's on your pc)

The .bat file could read like this

CODE

"c:\virtualdub\VDub.exe" /i "c:\MyScript.vcf" "%~1" "%~1.avi" /x
if %errorlevel% == 0  goto ok
:err
echo Error %errorlevel% with %~nx1
goto theend
:ok
echo Ok, done
:theend
pause


Now, if you drop the first .pgn file onto the batch file, it'll join up all the sequentially numbered .png's and save them to the same location with that file's name+'.avi'

So if you saved the .bat as eg c:\myscript.bat then
myscript.bat "c:\pics\img0001.png"
would save an avi to the same location

If you wanted all the avi's to go to a different folder you could use
"c:\virtualdub\VDub.exe" /i "c:\MyScript.vcf" "%~1" "c:\FinishedVideos\%~n1.avi" /x
in the bat file instead

Posted by: brontosaurusrex Jan 13 2011, 08:05 AM
i just wonder, if say one has 5 image sequences in one folder, how non-trivial would be the code to detect sequences and show only 5 clips for the user to select?

Posted by: dloneranger Jan 13 2011, 10:13 AM
Quick answer
Harder than just splitting the 5 sequences into subfolders

Longer answer

Its a question of 'how useful would that be'
There's a long list of suggestions the author already has
He's also got his own list of thing he wants to do
Now, you have to put those things into some kind of order

A fairly decent order is
What's most important
What do I actually want to do
What do I have time for

Now, if it was my list of things to do, right down at the bottom would be
'Things people want me to do, that they can do by themselves in 10 seconds'
Underneath that would be
'Things 1 or 2 people want me to do, that they can do by themselves in 10 seconds'

That may sound harsh smile.gif but it's just a practicality
Even the best idea in the world will be thrown away it only one person would use it

To get features added, the best way is to interest the programmer in doing them wink.gif

Think about the things you'll do for other people when asked
If it's fun, something you like doing, or a challenge, then you'll probably do it
If it boring, time consuming, and they can do it themselves, well....... insert favourite excuse and run away

On the other hand there's always the 'I'm bored' moments, when the author picks an interesting or simple suggestion off the list at random, just for something to do

smile.gif

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