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.

 
Command Line Video Editing
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
Skycryer
Posted: Jul 14 2010, 11:36 AM


Newbie


Group: Members
Posts: 3
Member No.: 28005
Joined: 14-July 10



Hope this is the right category i was not sure, ok ich have some videofiles here and i wish to join them.
They are divx, avi with mpeg4, dix or xvid codec. The one i wish to join are the same picture size, same framerate and same codec. (it was one video but was splitted sometime ago).

Can someone tell me is it possible to append/join this movie files from command line and how?

Please help me thx
 
     Top
Slowly
  Posted: Jul 14 2010, 03:39 PM


Newbie


Group: Members
Posts: 4
Member No.: 25647
Joined: 5-June 09



QUOTE (Skycryer @ Jul 14 2010, 11:36 AM)
Hope this is the right category i was not sure, ok ich have some videofiles here and i wish to join them.
They are divx, avi with mpeg4, dix or xvid codec. The one i wish to join are the same picture size, same framerate and same codec. (it was one video but was splitted sometime ago).

Can someone tell me is it possible to append/join this movie files from command line and how?

Please help me thx


Dunno about the command line, but in the GUI it's trivial:

1. Open up VirtualDub
2. Open first video
3. File | Append AVI Segment...
4. Choose second video
5. Repeat Steps 3 and 4 until all files have been appended
6. Save As AVI...
7. Compress joined video with your favorite compressor if joined video is too big

smile.gif
 
     Top
Skycryer
Posted: Jul 15 2010, 10:33 AM


Newbie


Group: Members
Posts: 3
Member No.: 28005
Joined: 14-July 10



Yes i know it is trivial in the GUI but i need to make it with command line because of scripting, but thx for your help.
 
     Top
phaeron
Posted: Jul 16 2010, 04:55 AM


Virtualdub Developer


Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02



Use VirtualDub.Append(), then do a VirtualDub.subset.Delete() at the end to reset the timeline.
 
    Top
Skycryer
Posted: Jul 16 2010, 07:19 AM


Newbie


Group: Members
Posts: 3
Member No.: 28005
Joined: 14-July 10



QUOTE (phaeron @ Jul 16 2010, 04:55 AM)
Use VirtualDub.Append(), then do a VirtualDub.subset.Delete() at the end to reset the timeline.

Is this a command line order? How to use it? Only goto Virtualdub folder and write virtualdub.append("file1.avi", "file2.avi", "file3.avi") but how can i give an output name for the full movie file?
 
     Top
dloneranger
Posted: Jul 16 2010, 10:07 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



What you need to do is make a virtualdub script
Then in a .bat file you can use vdub.exe to run that script

All the command line options are in the help file
It's in the 'advanced operation' section

For making an example script, the easiest way is to

Load/append videos into virtualdub
File menu -> queue batch operation, save as avi

Then look at the VirtualDub.jobs file in virtualdub's folder

Here's an example one that just joins 2 avi's
CODE
VirtualDub.Open("K:\\NewVideos\\Film a-pt1.avi","",0);
VirtualDub.Append("K:\\NewVideos\\Film a-pt1.avi");
VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
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(15);
VirtualDub.video.SetOutputFormat(0);
VirtualDub.video.SetMode(0);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression();
VirtualDub.video.filters.Clear();
VirtualDub.audio.filters.Clear();
VirtualDub.subset.Delete()
VirtualDub.project.ClearTextInfo();
 // -- $reloadstop --
VirtualDub.SaveAVI("H:\\Film a-joined.avi");
VirtualDub.audio.SetSource(1);
VirtualDub.Close();


The scripting language is on the docs page
http://www.virtualdub.org/virtualdub_docs.html

+ there's a bit hidden around the site somewhere about substituting file names with parameters to make life easier with a .bat file as well

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jul 16 2010, 11:22 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Just to clarify, you would use the /i parameter in a .bat file and add the file names
And in the script file you'd use VirtualDub.params[] to substitute the names

So in the script you'd have
CODE

VirtualDub.Open(VirtualDub.params[1],"",0);
VirtualDub.Append(VirtualDub.params[2]);
....
...any other commands you wanted
....
VirtualDub.SaveAVI(VirtualDub.params[3]);


And the .bat file would look like

vdub /i process.script "c:\part1.avi" "c:\part2.avi" "c:\joined.avi" /x

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
6 replies since Jul 14 2010, 11:36 AM Track this topic | Email this topic | Print this topic

<< Back to VirtualDub Development Forum