diff --git a/.scripts/tc-video-generic b/.scripts/tc-video-generic index 28c43e04..fab26d8e 100755 --- a/.scripts/tc-video-generic +++ b/.scripts/tc-video-generic @@ -137,13 +137,12 @@ _audiobitrate() ## default value. ## AWK note: in "(bitrate+0 > 500)", the +0 is required to make sure bitrate is numeric. - if [ -n "$(command -v mediainfo)" ]; then - mediainfo "$1" | awk -v codec="$AUDIO_CODEC" -v bitrate="$AUDIO_DEFAULT_RATE" 'BEGIN {id=0} /^Audio/ { getline; while(getline && ! index($0,"Bit rate ")); if($4) printf "-c:a:" id " " codec " -b:a:" id " " $4 "k " ; else if (bitrate > 0) printf "-c:a:" id " " codec " -b:a:" id " " bitrate "k "; else printf "-c:a:" id " copy "; id++} END {print ""}' + if [ ! -n "$(command -v mediainfo)" ]; then + mediainfo "$1" | awk 'BEGIN {id=0} /^Audio/ { getline; while(getline && ! index($0,"Bit rate ")); if($4) res=$4; else res=0; print id, res; id++}' else - ffmpeg -i "$1" 2>&1 500) bitrate=500; printf "-c:a:" id " " codec " -b:a:" id " " bitrate "k "} else printf "-c:a:" id " copy "; id++} END {print ""}' - fi - - ## TODO: use 2 awk calls. + ffmpeg -i "$1" 2>&1 500) bitrate=500; printf "-c:a:" $1 " " codec " -b:a:" $1 " " bitrate "k "} else printf "-c:a:" $1 " copy "} END {print ""}' } _tc_transcode() @@ -172,6 +171,7 @@ _tc_transcode() ## the case when converting DTS to any other format because DTS has ## embedded channel description which is not available in these formats. # AUDIO_FILTER="-ac 2" + AUDIO_PARAM="$(_audiobitrate "$1") -ac 2" fi