summaryrefslogtreecommitdiff
path: root/localvideowebencode
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2014-09-26 12:38:30 +0200
committerJonas Smedegaard <dr@jones.dk>2014-09-26 12:38:30 +0200
commitc5671628ff6abd50152adc5eb97045ee621e993b (patch)
treeea97abdd70a6dea9929e926b879ba7accda27fde /localvideowebencode
parent46ba785c97adfc4e98b7cbb1725adec549acd8e1 (diff)
Fix constant bitrate (CBR) for VP8 and VP9.
Diffstat (limited to 'localvideowebencode')
-rwxr-xr-xlocalvideowebencode8
1 files changed, 4 insertions, 4 deletions
diff --git a/localvideowebencode b/localvideowebencode
index ea2eff1..0b8135e 100755
--- a/localvideowebencode
+++ b/localvideowebencode
@@ -347,9 +347,9 @@ _melt_in="${_melt_in:+$_melt_in }${sample:+in=${samplestart:-0} out=$((${samples
_melt_video="progressive=1${framerate:+ frame_rate_den="$framerate_den" frame_rate_num="$framerate_num"}${size:+ s=${width:+$width}x${height:+$height}}${aspect:+ aspect=$aspect}"
_melt_ogg="$_melt_video f=ogg vcodec=libtheora${bitrate:+ vb=$bitrate}${bitrate_fixed:- qscale=5}"
_melt_h264="$_melt_video f=mp4 vcodec=libx264 vpre=medium vprofile=baseline${x264tune:+ tune=$x264tune}${bitrate_fixed:+ vb=$bitrate} threads=0 movflags=+faststart${bitrate_fixed:- crf=23}"
-_melt_webm="$_melt_video f=webm vcodec=libvpx vpre=libvpx-$webmpreset${bitrate:+ vb=$bitrate}${bitrate_fixed:- crf=10} cpu-used=3"
+_melt_webm="$_melt_video f=webm vcodec=libvpx vpre=libvpx-$webmpreset${bitrate:+ vb=$bitrate}${bitrate_fixed:+ minrate=$bitrate maxrate=$bitrate}{bitrate_fixed:- crf=10} cpu-used=3"
# CRF ignored with libvpx 1.3
-_melt_vp9="$_melt_video f=webm vcodec=libvpx-vp9 vpre=libvpx-$webmpreset${bitrate_vp9:+ vb=$bitrate_vp9}${bitrate_fixed:- crf=10} cpu-used=5"
+_melt_vp9="$_melt_video f=webm vcodec=libvpx-vp9 vpre=libvpx-$webmpreset${bitrate_vp9:+ vb=$bitrate_vp9}${bitrate_fixed:+ minrate=$bitrate_vp9 maxrate=$bitrate_vp9}${bitrate_fixed:- crf=10} cpu-used=5"
_melt_audio="${channels:+ac=$channels}"
# limit (i.e. avoid peaks "clipping")
_melt_postfilters_audio="${limit:+-filter ladspa.1077}"
@@ -358,8 +358,8 @@ _melt_opus="$_melt_audio acodec=libopus ab=$(($channels*$bitrate_opus))k"
_melt_aac="$_melt_audio acodec=aac ab=$(($channels*$bitrate_aac))k"
avconv="avconv -threads auto -y -v warning"
-_avconv_vp8="-c:v libvpx -pre:v libvpx-$webmpreset${bitrate:+ -b:v $bitrate}${bitrate_fixed:- -crf 10} -cpu-used 3"
-_avconv_vp9="-c:v libvpx-vp9 -pre:v libvpx-$webmpreset${bitrate_vp9:+ -b:v $bitrate_vp9}${bitrate_fixed:- -crf 10} -cpu-used 5"
+_avconv_vp8="-c:v libvpx -pre:v libvpx-$webmpreset${bitrate:+ -b:v $bitrate}${bitrate_fixed:+ -minrate $bitrate -maxrate $bitrate}${bitrate_fixed:- -crf 10} -cpu-used 3"
+_avconv_vp9="-c:v libvpx-vp9 -pre:v libvpx-$webmpreset${bitrate_vp9:+ -b:v $bitrate_vp9}${bitrate_fixed:+ -minrate $bitrate_vp9 -maxrate $bitrate_vp9}${bitrate_fixed:- -crf 10} -cpu-used 5"
# resolve EBU R128 audio normalizing
# TODO: normalize each infile separately when xml fed as infile keeps sync