X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;f=mkv2mp4;h=2d9d873560b4d83701e6d14ae7cc9351e7c0ea26;hb=HEAD;hp=463c3d3852884b68bbcb1fa80e613bad5993e8a7;hpb=ffe1f69dcb8d98356599086af7e60dbffcf9e018;p=videoscripts%2F.git diff --git a/mkv2mp4 b/mkv2mp4 index 463c3d3..2d9d873 100755 --- a/mkv2mp4 +++ b/mkv2mp4 @@ -1,12 +1,36 @@ #!/bin/bash -# step 1: convert the mkv to mpg ; many mkv files do not directly get converted to mp4 -mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg1video -aid 0 -oac pcm -o delete_me.mpg +INPUT=$1 +OUTPUT_DIR=$2 -# step 2: convert the mpg file to mp4 -mencoder -of lavf -lavfopts format=mp4 -oac lavc -ovc lavc -lavcopts \ -aglobal=1:vglobal=1:acodec=libfaac:vcodec=mpeg4:abitrate=128:vbitrate=640:keyint=250:mbd=1:vqmax=10:lmax=10:turbo -af lavcresample=44100 \ --vf harddup,scale=640:-3 "delete_me.mpg" -o "$1.mp4" +if [ -z "$OUTPUT_DIR" ]; then + OUTPUT_DIR="." +fi -# step 3: delete the temporary huge sized mpg file -rm "delete_me.mpg" +FILENAME=`basename ${INPUT%%.*}` +OUTPUT="$OUTPUT_DIR/$FILENAME.mp4" + +echo "-> Converting $INPUT to $OUTPUT file" + +if [[ -e "$OUTPUT" ]]; then + echo "-E- Output file $OUTPUT already exists. Aborting..." + exit 1 +fi + +# 720p +# HandBrakeCLI -d -b 3000 -q 0.8 -w 1280 -i /naspool/videos/HomeVideos/2011/2011-12-01.000.mkv -o 2011-12-01.mp4 + +ffmpeg -i $INPUT \ + -b:v 3000k \ + -vcodec libx264 \ + -acodec copy \ + -coder 1 \ + -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 \ + -subq 5 \ + -me_range 16 \ + -g 250 \ + -keyint_min 25 \ + -sc_threshold 40 \ + -i_qfactor 0.71 \ + -threads 2 \ + $OUTPUT