All pastes #474109 Raw Edit

Mine

public shellscript v1 · immutable
·published 2007-05-06 16:57 UTC
rendered paste body
#!/bin/bashTHREADS=auto# 2pass or 3pass?PASS=2if [ "$3" == "" ]; then	echo "Usage: $0 {infile} {outfile_prefix} \"{bitrates}\" [optional mencoder options]"	exit 1fiINFILE=$1shiftOUTFILE=$1shiftBITRATES=$1shiftMENCODEROPTS=$*# matrices loopfor cqm in eqm_avc_hr m4g_hrm_v2 m4g_smooth_v1 prestige_cqm; do # deblocking loop for DEBLOCK in "-3,-3" "-6,-6" "-1,-1"; do  # mencoder video filter loop - needs avisynth equivalent filters  # "${CROP},hqdn3d,pp=$PP,${SCALE},format=i420,harddup denoise_and_pp"   # "${CROP},pp=$PP,${SCALE},format=i420,harddup pp_only"   for MENCVF in "harddup no_mencoder_pp"; do  MENCVFOPTS=`echo $MENCVF | cut -d' ' -f1`  MENCVFNAME=`echo $MENCVF | cut -d' ' -f2`   # bitrate loop   for BITRATE in $BITRATES; do      # x264 profile loop    # 1nd loop is insane profile for reference    # 2nd loop is custom profile    for X264ENCOPTS in \"\bitrate=$BITRATE:threads=$THREADS:cqm=$cqm.cfg:frameref=1:bframes=3:deblock=$DEBLOCK:me=umh:subq=1:nodct_decimate:vbv_maxrate=25000:partitions=none:nopsnr:nossim:pass=1 \bitrate=$BITRATE:threads=$THREADS:cqm=$cqm.cfg:frameref=16:mixed_refs:nofast_pskip:bframes=3:b_pyramid:brdo:bime:weight_b:direct_pred=auto:deblock=$DEBLOCK:subq=7:trellis=2:8x8dct:me=umh:vbv_maxrate=25000:nodct_decimate:nopsnr:nossim:pass=$PASS insane" \"\bitrate=$BITRATE:threads=$THREADS:cqm=$cqm.cfg:frameref=1:bframes=5:deblock=$DEBLOCK:me=umh:subq=1:nodct_decimate:partitions=none:nopsnr:nossim:pass=1 \bitrate=$BITRATE:threads=$THREADS:cqm=$cqm.cfg:frameref=5:mixed_refs:bframes=5:b_pyramid:brdo:bime:weight_b:deblock=$DEBLOCK:subq=7:trellis=1:8x8dct:me=umh:nofast_pskip:nopsnr:nossim:direct_pred=auto:pass=$PASS custom"; do nothing     # start the encoding loop     # echo the used commandline first - to a log?     X264NAME=`echo $X264ENCOPTS | cut -d' ' -f3`     X264A=`echo $X264ENCOPTS | cut -d' ' -f1`     X264B=`echo $X264ENCOPTS | cut -d' ' -f2`     # don't run if target file already exists     if [ ! -e "$OUTFILE.$BITRATE.$X264NAME.$cqm.$DEBLOCK.${PASS}pass.$MENCVFNAME.264" ]; then           STATSFILE=`tempfile`      # 1stpass      echo "- 1stpass starting, profile $X264NAME, cqm $cqm, bitrate $BITRATE, deblock $DEBLOCK, videofilter $MENCVFNAME:"      nice -18 mencoder $MENCODEROPTS -vf $MENCVFOPTS -passlogfile $STATSFILE -oac pcm -nosound -x264encopts $X264A -ovc x264 -of rawvideo -o /dev/null $INFILE        # 2ndpass and optional 3rd pass      # if pass=3 then do 3pass, else do 2pass      if [ $PASS -eq 2 ]; then       echo "- 2ndpass starting, profile $X264NAME, cqm $cqm, bitrate $BITRATE, deblock $DEBLOCK, videofilter $MENCVFNAME:"       nice -18 mencoder $MENCODEROPTS -vf $MENCVFOPTS -passlogfile $STATSFILE  -oac pcm -nosound -x264encopts $X264B -ovc x264 -of rawvideo -o "$OUTFILE.$BITRATE.$X264NAME.$cqm.$DEBLOCK.${PASS}pass.$MENCVFNAME.264" $INFILE       else       echo "- 2ndpass out of 3, profile $X264NAME, cqm $cqm, bitrate $BITRATE, deblock $DEBLOCK, videofilter $MENCVFNAME:"       nice -18 mencoder $MENCODEROPTS -vf $MENCVFOPTS -passlogfile $STATSFILE  -oac pcm -nosound -x264encopts $X264B -ovc x264 -of rawvideo -o /dev/null $INFILE        echo "- 3rdpass out of 3, profile $X264NAME, cqm $cqm, bitrate $BITRATE, deblock $DEBLOCK, videofilter $MENCVFNAME:"       nice -18 mencoder $MENCODEROPTS -vf $MENCVFOPTS -passlogfile $STATSFILE  -oac pcm -nosound -x264encopts $X264B -ovc x264 -of rawvideo -o "$OUTFILE.$BITRATE.$X264NAME.$cqm.$DEBLOCK.${PASS}pass.$MENCVFNAME.264" $INFILE       fi            rm $STATSFILE     fi     # remove stats file    done   done  done donedone