Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
80ed1d3156 | ||
|
9c814327f9 |
1 changed files with 20 additions and 11 deletions
29
ts-to-mkv.sh
29
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"
|
||||
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="$?"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue