summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2021-01-30 18:23:35 +0100
committerJonas Smedegaard <dr@jones.dk>2021-02-03 18:37:07 +0100
commit2f3cc866687d4b5ce70ed07e6f6a1cf791c7a835 (patch)
tree7e77b7935a91242f5679648de515f42d72b42c92
parentf2801517810189d9bebb8d89e0f2edeb4295f258 (diff)
tidy: generalize variables $bandwidth_*
-rwxr-xr-xlocalvideowebencode12
1 files changed, 7 insertions, 5 deletions
diff --git a/localvideowebencode b/localvideowebencode
index 16d8081..4605535 100755
--- a/localvideowebencode
+++ b/localvideowebencode
@@ -373,10 +373,11 @@ fi
# compute average bitrate from reference data and "power of .75" rule
if [ -n "$_pixels" ] && [ -n "$_frames" ]; then
- bitrate=$(perl -E '$refsize=640*360;' \
+ bitrate_h264=$(perl -E '$refsize=640*360;' \
-E "say int( +(($_pixels/\$refsize)**0.75*\$refsize*$_frames*$refbpp) )")
- bitrate_vp8=$(perl -E "say int( +($bitrate*$factor_vp8) )") #"
- bitrate_vp9=$(perl -E "say int( +($bitrate*$factor_vp9) )") #"
+ bitrate_theora=$bitrate_h264 # FIXME
+ bitrate_vp8=$(perl -E "say int( +($bitrate_h264*$factor_vp8) )") #"
+ bitrate_vp9=$(perl -E "say int( +($bitrate_h264*$factor_vp9) )") #"
fi
# default per-codec-channel bitrates
@@ -451,6 +452,7 @@ for vformat in vp8 vp9 h264; do
# melt supports dual-pass mode only for h.264
[ h264 = "$vformat" ] || [ -n "$vpxenc" ] || [ -z "$multipass" ] || eval "use_ffmpeg_$vformat=yes"
+ eval "[ -n \"\$bandwidth_$vformat\" ] || no_bandwidth_$vformat=yes"
eval "[ -n \"\$crf_$vformat\" ] || no_crf_$vformat=yes"
done
if [ -n "$use_ffmpeg_vp8$use_ffmpeg_vp9$use_vpxenc" ]; then
@@ -482,7 +484,7 @@ _opusenc_downmix="${downmix_opusenc:+${stereo:+--downmix-stereo}${mono:+--downmi
_melt_postfilters_audio="${limit:+-filter ladspa.1077}"
# codec options
-_melt_theora="vcodec=libtheora${bitrate:+ vb=$bitrate} qscale=$qscale_theora"
+_melt_theora="vcodec=libtheora${bitrate_theora:+ vb=$bitrate_theora} qscale=$qscale_theora"
_melt_vp8="vcodec=$encoder_vp8${pre_vp8:+ vpreset=$pre_vp8}${preset_vp8:+ preset=$preset_vp8}${bitrate_vp8:+ vb=$bitrate_vp8 minrate=$((bitrate_vp8/20)) maxrate=$((bitrate_vp8*12))}${crf_vp8:+ crf=$crf_vp8} cpu-used=$cpu_vp8"
_ffmpeg_vp8="-c:v $encoder_vp8${pre_vp8:+ -vpre $pre_vp8}${preset_vp8:+ preset $preset_vp8}${bitrate_vp8:+ -b:v $bitrate_vp8 -minrate $((bitrate_vp8/20)) -maxrate $((bitrate_vp8*12))}${crf_vp8:+ -crf $crf_vp8} -cpu-used $cpu_vp8"
_vpxenc_vpx="--min-q=$webm_qmin --max-q=$webm_qmax${multipass:+ --minsection-pct=5 --maxsection-pct=1200} --kf-max-dist=120 --auto-alt-ref=1 --lag-in-frames=$webm_lag --arnr-maxframes=7 --arnr-strength=5 --arnr-type=3"
@@ -490,7 +492,7 @@ _vpxenc_vp8="--codec=vp8${bitrate_vp8:+ --target-bitrate=$((bitrate_vp8/1000))}
_melt_vp9="vcodec=$encoder_vp9${pre_vp9:+ vpreset=$pre_vp9}${preset_vp9:+ preset=$preset_vp9}${bitrate_vp9:+ vb=$bitrate_vp9 minrate=$((bitrate_vp9/20)) maxrate=$((bitrate_vp9*12))}${crf_vp9:+ crf=$crf_vp9} cpu-used=$cpu_vp9"
_ffmpeg_vp9="-c:v $encoder_vp9${pre_vp9:+ -vpre $pre_vp9}${preset_vp9:+ -preset $preset_vp9}${bitrate_vp9:+ -b:v $bitrate_vp9 -minrate $((bitrate_vp9/20)) -maxrate $((bitrate_vp9*12))}${crf_vp9:+ -crf $crf_vp9} -cpu-used $cpu_vp9"
_vpxenc_vp9="--codec=vp9${bitrate_vp9:+ --target-bitrate=$((bitrate_vp9/1000))} --good --end-usage=${no_crf_vp9:+vbr}${crf_vp9:+cq --cq-level=$crf_vp9} --cpu-used=$cpu_vp9 $_vpxenc_vpx --tile-columns=$webm_tokenparts_log2 --tile-rows=$webm_tokenparts_log2"
-_melt_h264="vcodec=$encoder_h264${preset_h264:+ vpreset=$preset_h264}${profile_h264:+ vprofile=$profile_h264}${x264tune:+ tune=$x264tune} maxrate=${bitrate} bufsize=$((bitrate*2)) threads=0 movflags=+faststart crf=$crf_h264"
+_melt_h264="vcodec=$encoder_h264${preset_h264:+ vpreset=$preset_h264}${profile_h264:+ vprofile=$profile_h264}${x264tune:+ tune=$x264tune} maxrate=${bitrate_h264} bufsize=$((bitrate_h264*2)) threads=0 movflags=+faststart crf=$crf_h264"
_melt_pcm="$_melt_downmix acodec=pcm_s16le"
_melt_vorbis="$_melt_downmix acodec=libvorbis aq=$quality_vorbis"
_ffmpeg_vorbis="$_ffmpeg_downmix -c:a libvorbis -aq $quality_vorbis"