diff --git a/ts-to-mkv.sh b/ts-to-mkv.sh index d7d39ae..b597bc7 100644 --- a/ts-to-mkv.sh +++ b/ts-to-mkv.sh @@ -42,11 +42,17 @@ ffmpegcheck(){ ## Env ## SAVEIFS=$IFS IFS=$(echo -en "\n\b") -loglevel="level+info" +loglevel="-loglevel level+info" FFMPEG="/data/sourcecode/ffmpeg/ffmpeg-4.1.3-amd64-static/ffmpeg" if [[ ! -f "$FFMPEG" ]]; then FFMPEG=$(/usr/bin/env which ffmpeg) fi + +ffmpegcheck +if [[ "$?" == "2" ]]; then + echo "[error] ffmpeg version too low, need to use version 4.0.0 or newer." + exit 1 +fi WORKPATH="./" keepsource="0" version="2" @@ -54,7 +60,7 @@ version="2" ## Start ## echo "[info] $0 -- v$version" -while getopts d:p:fnhkq OPT; do +while getopts d:p:fnXhkq OPT; do case "$OPT" in d) if [[ -e "$OPTARG" ]]; then @@ -73,6 +79,7 @@ while getopts d:p:fnhkq OPT; do echo "[help] -k, keep the original ts file" echo "[help] -q, disable output from ffmpeg (default: info)" echo "[help] -p, custom path to scan recursively (default: $WORKPATH)" + echo "[help] -X, dry run" exit 0 ;; k) echo "[debug] keeping the original file" @@ -88,17 +95,14 @@ while getopts d:p:fnhkq OPT; do echo "[debug] no custom pathing; using $WORKPATH" fi ;; q) - loglevel="quiet" + loglevel="-loglevel quiet" echo "[debug] disabling ffmpeg output" ;; + X) + dryrun="1" + echo "[debug] dry run enabled";; esac done -ffmpegcheck -if [[ "$?" == "2" ]]; then - echo "[error] ffmpeg version too low, need to use version 4.0.0 or newer." - exit 1 -fi - shift $((OPTIND-1)) echo "[info] finding files" filelist="$(find "$WORKPATH" -name "*.ts")" @@ -108,7 +112,12 @@ if [[ "$filelist" ]]; then echo "[info] working on $i" INFILE="$i" echo "[debug] Infile: $INFILE" - OUTFILE="${i//.ts/.mkv}" + if [[ "$dryrun" == "1" ]]; then + OUTFILE="/dev/null" + echo "[debug] overriding OUTFILE to $OUTFILE" + else + OUTFILE="${i//.ts/.mkv}" + fi echo "[debug] Outfile: $OUTFILE" sleep 2 INFILE2="${INFILE//\'/\'\\\\\\\'\'}" @@ -121,7 +130,7 @@ if [[ "$filelist" ]]; then -codec:s srt \ -metadata:s:s:0 language=eng \ $force \ - -loglevel "$loglevel" \ + $loglevel \ "${OUTFILE}" exitcode="$?"