Skip to content

Instantly share code, notes, and snippets.

@pao
Created June 7, 2011 11:49
Show Gist options
  • Save pao/1012080 to your computer and use it in GitHub Desktop.
Save pao/1012080 to your computer and use it in GitHub Desktop.
Parallel convert to Lightworks
VirtualDub.Open(VirtualDub.params[0],"",0);
VirtualDub.audio.SetSource(0);
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(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression(0x3130376d,0,10000,0);
VirtualDub.video.SetCompData(56,"kNlSAgAAAABgfVECAAAAAE15IExpdHRsZSBQb255IEZyaWVuZHNoaXAgaXMgTWFnaWMgMXgwMSA=");
VirtualDub.video.filters.Clear();
VirtualDub.audio.filters.Clear();
VirtualDub.SaveAVI(VirtualDub.params[1]);
VirtualDub.Close();
from multiprocessing import Pool
import os
import shutil
from subprocess import call
AVIDEMUX = 'C:/Program Files (x86)/Avidemux 2.5/avidemux2_cli.exe'
VIRTUALDUB = 'C:/Program Files/VirtualDub/vdub64.exe'
def convert_file(f):
(n, x) = os.path.splitext(f)
favi = ''.join([n, '.avi'])
orig = os.path.join(os.getcwd(), 'orig', f)
inter = os.path.join(os.getcwd(), 'inter', favi)
final = os.path.join(os.getcwd(), 'lightworks', favi)
# from orig to inter, avidemux to change from mkv to avi
call([AVIDEMUX, '--force-alt-h264', '--load', orig, '--save', inter, '--output-format AVI', '--quit'])
# from inter to final, virtualdub to reencode video to m702 (Matrox MPEG-2 I-frame HD)
call([VIRTUALDUB, '/i', 'lightworks_process.vcf', inter, final])
if __name__ == '__main__':
p = Pool()
os.mkdir('inter')
p.map(convert_file, os.listdir('orig'))
shutil.rmtree('inter')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment