#!/bin/bash # v20071215 # Florin Andrei if [ $# -ne "1" ]; then echo "Usage: $0 dirname" exit fi name=$1 pushd $name # # These are parameters for the mpeg2enc encoder. # Choose one set of parameters. # The default is high-quality high-compatibility. # # general settings flags="-c -q 5 -4 1 -2 1 -s -D 10" #flags="" # #### default matrix #### # faster encoding, slightly unusual MPEG2 (no B frames) #flags="${flags} -R 0" # slower encoding, standard MPEG2 #flags="${flags} -R 2" # # #### tmpgenc matrix #### # faster encoding, slightly unusual MPEG2 (no B frames) #flags="${flags} -K tmpgenc -R 0" # slower encoding, standard MPEG2 flags="${flags} -K tmpgenc -R 2" # # #### kvcd matrix #### # faster encoding, slightly unusual MPEG2 (no B frames) #flags="${flags} -K kvcd -R 0" # slower encoding, standard MPEG2 #flags="${flags} -K kvcd -R 2" # # #### hybrid high-quality matrix #### # faster encoding, slightly unusual MPEG2 (no B frames) #flags="${flags} -K file=matrix.txt -R 0" # slower encoding, standard MPEG2 #flags="${flags} -K file=matrix.txt -R 2" # # #### high-res matrix #### # faster encoding, slightly unusual MPEG2 (no B frames) #flags="${flags} -H -R 0" # slower encoding, standard MPEG2 #flags="${flags} -H -R 2" # multi-threaded for multiple CPUs flags="${flags} -M 2" # Aspect ratio of the original DV tape # 4:3 #asr="--export_asr 2" # 16:9 asr="--export_asr 3" bitr="8000" xmlf="dvdauthor.xml" # Combined HQ matrix by Steven Schultz cat - > matrix.txt << MATRIX # High resolution INTRA table 8,16,18,20,24,25,26,30 16,16,20,23,25,26,30,30 18,20,22,24,26,28,29,31 20,21,23,24,26,28,31,31 21,23,24,25,28,30,30,33 23,24,25,28,30,30,33,36 24,25,26,29,29,31,34,38 25,26,28,29,31,34,38,42 # TMPEGEnc NON-INTRA table 16,17,18,19,20,21,22,23 17,18,19,20,21,22,23,24 18,19,20,21,22,23,24,25 19,20,21,22,23,24,26,27 20,21,22,23,25,26,27,28 21,22,23,24,26,27,28,30 22,23,24,26,27,28,30,31 23,24,25,27,28,30,31,33 MATRIX rm -f $xmlf # dvdauthor XML config head cat - >> $xmlf << XMLHEAD XMLHEAD for inp in `ls dv`; do out=`basename $inp .avi` transcode \ -i dv/$inp -x ffmpeg \ -w $bitr \ --encode_fields b ${asr} \ -F 8,"${flags}" \ -y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 \ -o $out.m2v \ --progress_rate 10 || exit # --print_status 10 || exit ################################################## # stuff to copy/paste in the transcode parameters ################################################## # insert this line between parameters above if # DV sound is not sampled at 48kHz # (it almost ALWAYS is 48kHz!) # -E 48000,16,2 -J resample \ # # AC3 sound # -y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 \ # # MP2 sound # -y mpeg2enc,mp2enc -b 224 -m $out \ ################################################## # use this with MP2 #mplex -f 8 -S 4400 $out.m2v $out.mpa -o $out.vob || exit # use this with AC3 mplex -f 8 -S 4400 $out.m2v $out.ac3 -o $out.vob 2>&1 | tee -a $name-mplex.log echo "" >> $xmlf done # dvdauthor XML config tail cat - >> $xmlf << XMLTAIL XMLTAIL dvdauthor -o $name -x $xmlf chmod -R 0755 $name chmod 0644 $name/*_TS/* sync popd