avi2mp4 improvements
authorHugo Villeneuve <hugo@hugovil.com>
Fri, 3 Dec 2021 19:04:21 +0000 (14:04 -0500)
committerHugo Villeneuve <hugo@hugovil.com>
Fri, 3 Dec 2021 19:04:21 +0000 (14:04 -0500)
scripts/avi2mp4

index cf69f8b..9c2082f 100755 (executable)
@@ -2,8 +2,6 @@
 
 PROG_NAME=$(basename $0)
 
-VIDEO_OPTS="-c:v libx264 -preset veryslow -crf 15"
-
 print_usage()
 {
     echo "${PROG_NAME} -- Conversion MP4 (x264)"
@@ -11,14 +9,16 @@ print_usage()
     echo
     echo "Options:"
     echo "  -a   Conversion trame audio AAC (défaut=copier)"
-    echo "  -b   Si option a sélectionnée, bitrate (défaut=192k)"
+    echo "  -c   Copie trame vidéo (défaut=conversion)"
+    echo "  -b   Si option \"a\" sélectionnée, bitrate (défaut=192k)"
 }
 
 # Default values
 bitrate=192k
 aac=0
+video_copy=0
 
-while getopts "ab:" flag ;do
+while getopts "ab:ch" flag ; do
     case ${flag} in
        a)
             aac=1
@@ -26,6 +26,9 @@ while getopts "ab:" flag ;do
        b)
             bitrate=${OPTARG}
            ;;
+        c)
+            video_copy=1
+           ;;
        h)
            print_usage
             exit 0
@@ -39,12 +42,6 @@ while getopts "ab:" flag ;do
 done
 shift `expr "${OPTIND}" - 1`
 
-if [ x"${aac}" = x1 ]; then
-    audio_opts="-c:a aac -b:a ${bitrate}"
-else
-    audio_opts="-c:a copy"
-fi
-
 # `$#' now represents the number of arguments after the options.
 # `$1' is the first argument, etc.
 if [ $# -gt 1 ]; then
@@ -59,10 +56,22 @@ if [ ${#} -ne 1 ]; then
     exit 1
 fi
 
+if [ x"${aac}" = x1 ]; then
+    audio_opts="-c:a aac -b:a ${bitrate}"
+else
+    audio_opts="-c:a copy"
+fi
+
+if [ x"${video_copy}" = x1 ]; then
+    video_opts="-c:v copy"
+else
+    video_opts="-c:v libx264  -preset veryslow -crf 15"
+fi
+
 src="${1}"
 
 # Checking if input file exist.
-if [ ! -f $1 ]; then
+if [ ! -f "${src}" ]; then
     echo "$0: File ${src} not found."
     print_usage
     exit 1
@@ -72,4 +81,4 @@ fi
 dest=`echo "${src}" | sed s/\.[^.]*$//`
 dest="${dest}.mp4"
 
-ffmpeg -i "${src}" ${VIDEO_OPTS} ${audio_opts} "${dest}"
+ffmpeg -i "${src}" ${video_opts} ${audio_opts} "${dest}"