====== dvdmaker ====== //dvdmaker// is a command line utility to generate DVD ISO images. it's a simple shell script that invokes mencoder, dvdauthor and mkisofs or growisofs to convert *any* given video file to dvd-mpeg and write it as single-title without a menu on a DVD. ===== shell script ===== #!/bin/sh TMP=/tmp INTERFILE=$TMP/dvd-movie.mpg OUTPUTISO=$TMP/dvd-project.iso DVDTMPDIR=/tmp/dvd-project ## case sensitive folder! (no VFAT here) function bailout { echo "Error." ; exit ; } function cleanup { rm -f $INTERFILE rm -rf $DVDTMPDIR } if [ "$1" == "-c" ]; then echo " cleaning up." cleanup; rm -f $OUTPUTISO exit; elif [ "$1" == "-r" ]; then cleanup; INPUTFILE=$2; elif [ "$1" == "-h" -o "$1" == "--help" ]; then INPUTFILE="" else INPUTFILE=$@ fi if [ -z "$INPUTFILE" ]; then echo "usage: $0 [-c|-r] " echo " -c: remove prev. result and temp files, then exit." echo " -r: remove intermediate files before processing.." bailout; fi if [ -e $INTERFILE ]; then echo -e " intermediate video file exists - use '-r' to override\n - move '$INTERFILE' out of the way!"; exit; fi if [ ! -d $TMP ]; then echo "TEMP dir does not exist!"; exit; fi if [ -d $DVDTMPDIR ]; then echo " Project dir already exists - move '$DVDTMPDIR' out of the way!"; exit; fi if [ -e $OUTPUTISO ]; then echo " Output file already exists - move '$OUTPUTISO' out of the way!"; exit; fi echo echo " Encoding Video" echo mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -fps 25 -ofps 25 -vf harddup -lavcopts vcodec=mpeg2video:vrc_maxrate=7500:vrc_buf_size=1835:vbitrate=5000:keyint=15:acodec=ac3:abitrate=224:aspect=4/3 -o $INTERFILE $INPUTFILE || bailout echo echo " Creating DVD Structure" echo dvddirdel -o $DVDTMPDIR || bailout dvdauthor -o $DVDTMPDIR -t $INTERFILE || bailout dvdauthor -o $DVDTMPDIR -T || bailout echo echo " Writing .iso" echo mkisofs -dvd-video -v -o $OUTPUTISO $DVDTMPDIR || bailout echo echo "done." echo echo "#write to DVD with:" echo "# growisofs -dvd-compat -Z /dev/dvd=$OUTPUTISO" echo ===== example command lines ===== # combine audio/video ffmpeg -i ~/ext/wicked/rushes/wicked_VT001.mov -i /tmp/vt001-stereo.wav -map 0:0 -map 1:0 -target pal-dvd -b 5000k -acodec ac3 -aspect 4:3 /tmp/newmovie1.mpg # merge multiple video files and transcode to DVD-mpeg2 into file /tmp/dvd-movie.mpg cutting at 2:1 aspect and adding a letterbox to PAL. mencoder -vf crop=720:360:0:108,expand=0:-216:0:108 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -fps 25 -ofps 25 -lavcopts vcodec=mpeg2video:vrc_maxrate=7500:vrc_buf_size=1835:vbitrate=5000:keyint=15:acodec=ac3:abitrate=224:aspect=4/3 -o /tmp/dvd-movie.mpg /tmp/newmovie1.mpg /tmp/newmovie2.mpg # master DVD (create VOBs using /tmp/dvd-movie.mpg) dvdauthor -o /tmp/dvd-project/ -x /tmp/dvd-projext.xml #create DVD image mkisofs -dvd-video -p "RSS" -publisher "RSS" -V "TITLE" -v -o /tmp/master.iso tmp/dvd-project/ # write to DVD growisofs -dvd-compat -Z /dev/dvd=/tmp/master.iso the ''/tmp/dvd-project.xml'' file reads: {{tag>FLOSS Video}}