Updated for Ubuntu 22.04. Also fixed merge videos cmin check
[videoscripts/.git] / mkv2mp4
diff --git a/mkv2mp4 b/mkv2mp4
index 463c3d3852884b68bbcb1fa80e613bad5993e8a7..2d9d873560b4d83701e6d14ae7cc9351e7c0ea26 100755 (executable)
--- 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