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 ##
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="$?"