Compare commits

..

2 commits

Author SHA1 Message Date
Cody Cook
80ed1d3156 fix variables for loglevel
dryrun doesn't work, doesn't like /dev/null or null... the examples use -f but this command doesn't... have to reconsider
2019-05-31 16:49:17 -07:00
Cody Cook
9c814327f9 Update ts-to-mkv.sh 2019-05-31 15:53:21 -07:00

View file

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