diff --git a/mkv2mp4.sh b/mkv2mp4.sh new file mode 100755 index 0000000..68ebc92 --- /dev/null +++ b/mkv2mp4.sh @@ -0,0 +1,16 @@ +#!/bin/bash +if [ -z "$1" ]; then + echo "Syntax: $0 VIDEOFILE" + exit 1 +fi + +while [ -n "$1" ]; do + + # Quality: -crf 18 = almost lossless, -crf 22 = medium, -crf 28 = low + # Deinterlace: -vf yadif=1 -field-dominance 0/1 (0=Top field first, 1=Bottom field first; doubles framerate) + # or -vf yadif=1:0 (or 1:1) + # -vf yadif=0 (calculates 1 frame from both fields; keeps framerate) + # Scale: -vf scale=-1:720 + ffmpeg -i "$1" -c:v h264 -c:a aac -c:s copy -preset fast -movflags +faststart -crf 18 -b:a 160k -ar 44100 -ac 2 "${1}.mp4" + shift +done diff --git a/mkv576i-480p.sh b/mkv576i-480p.sh new file mode 100755 index 0000000..9bbda7b --- /dev/null +++ b/mkv576i-480p.sh @@ -0,0 +1,15 @@ +#!/bin/bash +if [ -z "$1" ]; then + echo "Syntax: $0 VIDEOFILE" + exit 1 +fi + +while [ -n "$1" ]; do + # Quality: -crf 18 = almost lossless, -crf 22 = medium, -crf 28 = low + # Deinterlace: -vf yadif=1 -field-dominance 0/1 (0=Top field first, 1=Bottom field first; doubles framerate) + # or -vf yadif=1:0 (or 1:1) + # -vf yadif=0 (calculates 1 frame from both fields; keeps framerate) + # Scale: -vf scale=-1:720 + ffmpeg -i "$1" -c:v h264 -c:a aac -c:s copy -preset fast -movflags +faststart -vf yadif=1:0,scale=-1:480 -crf 18 -b:a 160k -ar 44100 -ac 2 "${1}_480p.mp4" + shift +done