Ich bin ja überhaubt kein Programmier und auch ziemlich unbegabt. Nach einem Gespräch mit einem Freund hat es mich mal wieder gepackt und ich habe mir Python angeschaut und gleich verliebt. Ich habe vor einiger Zeit mal ein Script geschrieben um eine Video DVD zu einem Matroska File um zu kodieren. Das ganze mit OGG Sound und MPEG4 für den Video Stream. Die letzten Tage habe ich dazu genutzt an einer Python Version zu bauen. Sie ist alles andere als gut aber für mich ein Anfang in das Programmieren:
#!/usr/bin/python
###################################################
# VARIABLES
WorkDir = ‘/tmp’###################################################
import os
def audio(lang, track):
# converts a dvd track to a audio wav file
ToWav = ‘mplayer -alang %s -ao pcm:file=audio.wav -vc null -vo null dvd://%s’ % (lang, track)
#print ToWav
os.system(ToWav)# normalize the audio file
os.system(’normalize audio.wav’)# encode the audio to a ogg file
os.system(’oggenc -q3 -oaudio-q3.ogg audio.wav’)def video(bitr, track, crops):
# pass 1 step for video encoding to mpeg4
Pass1 = ‘mencoder -ofps 25 -nosound -vf crop=%s,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=%s:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 dvd://%s -o movie.avi’ % (crops, bitr, track)
#print Pass1
os.system(Pass1)# pass 2 step for video encoding to mpeg4
Pass2 = ‘mencoder -ofps 25 -nosound -vf crop=%s,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=%s:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 dvd://%s -o movie.avi’ % (crops, bitr, track)
#print Pass2
os.system(Pass2)def merge(outputname):
Merge = ‘mkvmerge -o %s.mkv -A movie.avi audio-q3.ogg’ % (outputname)
#print Merge
os.system(Merge)def cropdetect(track):
Crop = ‘mplayer dvd://%s -vf cropdetect -vo null -ao null -frames 1000′ % (track)
#print Crop
os.system(Crop)crop = str(raw_input(’Crop: ‘))
return(crop)def deletefile(file):
CompletePath = WorkDir + ‘/’ + file
#print CompletePath
os.remove(CompletePath)def main():
os.chdir(WorkDir)tracknumber = str(raw_input(’Track: ‘))
crop = cropdetect(tracknumber)bitrate = str(raw_input(’Bitrate: ‘))
language = str(raw_input(’Language: ‘))
moviename = str(raw_input(’Moviename: ‘))audio(language, tracknumber)
video(bitrate, tracknumber, crop)
merge(moviename)# clean up
deletefile(’divx2pass.log’)
deletefile(’movie.avi’)
deletefile(’audio.wav’)
deletefile(’audio-q3.ogg’)main()


