tc-video-generic: audio bitrate is now fully dynamic!
parent
bbfcc7633d
commit
f677bbf5ce
|
@ -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 </dev/null | awk -v codec="$AUDIO_CODEC" -v bitrate="$AUDIO_DEFAULT_RATE" 'BEGIN {id=0} /^ *Stream.*Audio/ {match($0, / [^ ]+ kb\/s/); res=substr($0, RSTART+1, RLENGTH-6); if(res || bitrate) {if(res) bitrate=res; if(bitrate+0 > 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 </dev/null | awk 'BEGIN {id=0} /^ *Stream.*Audio/ {match($0, / [^ ]+ kb\/s/); res=substr($0, RSTART+1, RLENGTH-6); print id, res; id++}'
|
||||
fi | awk -v codec="$AUDIO_CODEC" -v bitrate="$AUDIO_DEFAULT_RATE" \
|
||||
'{if($2 || bitrate) {if($2) bitrate=$2; if(bitrate+0 > 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
|
||||
|
||||
|
|
Loading…
Reference in New Issue