summaryrefslogtreecommitdiff
path: root/localvideowebencode
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2014-09-26 22:53:03 +0200
committerJonas Smedegaard <dr@jones.dk>2014-09-26 22:53:03 +0200
commit6a9b4e5de8cded3cb2c2fa66d90ef2ae6051f77f (patch)
treeab0ab61dfff6e921922a323011c115c73699f4b6 /localvideowebencode
parentf9e9dc3c57c66242d70b1939ffd20cf1d39df224 (diff)
Fix resolve fixed-bitrate settings.
Diffstat (limited to 'localvideowebencode')
-rwxr-xr-xlocalvideowebencode15
1 files changed, 8 insertions, 7 deletions
diff --git a/localvideowebencode b/localvideowebencode
index 676c324..40bd272 100755
--- a/localvideowebencode
+++ b/localvideowebencode
@@ -115,6 +115,7 @@ exit1() {
formats=webm,vp9,mp4
samplestart=0
samplelength=150
+bitrate_variable=yes
# parse cmdline options
TEMP="`getopt -s sh -o hp:s:a:r:b:t: -l help,profile:,size:,aspect:,rate:,video:,refbpp:,bitrate:,formats:,audio:,audioprefilter:,loudness,loudness-data:,filter:,stem:,title:,sample,sample-start:,sample-length: -n "$PRG" -- "$@"`" || exit1 "Internal getopt error."
@@ -128,7 +129,7 @@ while true ; do
-r|--rate) framerate="$2"; shift 2;;
--video) video="$2"; shift 2;;
--refbpp) refbpp="$2"; shift 2;;
- -b|--bitrate) bitrate="$2"; bitrate_fixed=yes; shift 2;;
+ -b|--bitrate) bitrate="$2"; bitrate_fixed=yes; bitrate_variable=; shift 2;;
--formats) formats="$2"; shift 2;;
--audio) audio="$2"; shift 2;;
--audioprefilter) audioprefilters="${audioprefilters:+$audioprefilters }-filter $2"; shift 2;;
@@ -329,12 +330,12 @@ esac
melt="melt -progress"
_melt_sample="$infile_first ${sample:+in=${samplestart:-0} out=$((${samplestart:-0} + samplelength))}"
_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:+ minrate=$bitrate maxrate=$bitrate}{bitrate_fixed:- crf=10} cpu-used=3"
+_melt_ogg="$_melt_video f=ogg vcodec=libtheora${bitrate:+ vb=$bitrate}${bitrate_variable:+ 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_variable:+ crf=23}"
+_melt_webm="$_melt_video f=webm vcodec=libvpx vpre=libvpx-$webmpreset${bitrate:+ vb=$bitrate}${bitrate_fixed:+ minrate=$bitrate maxrate=$bitrate}${bitrate_variable:+ crf=10} cpu-used=3"
_melt_img="$_melt_video f=image2"
# 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:+ minrate=$bitrate_vp9 maxrate=$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_variable:+ crf=10} cpu-used=5"
_melt_audio="${channels:+ac=$channels}"
# limit (i.e. avoid peaks "clipping")
_melt_postfilters_audio="${limit:+-filter ladspa.1077}"
@@ -343,8 +344,8 @@ _melt_opus="$_melt_audio acodec=libopus${channels:+ ab=$(($channels*$bitrate_opu
_melt_aac="$_melt_audio acodec=aac${channels:+ 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:+ -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"
+_avconv_vp8="-c:v libvpx -pre:v libvpx-$webmpreset${bitrate:+ -b:v $bitrate}${bitrate_fixed:+ -minrate $bitrate -maxrate $bitrate}${bitrate_variable:+ -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_variable:+ -crf 10} -cpu-used 5"
# resolve EBU R128 audio normalizing
# TODO: normalize each infile separately when xml fed as infile keeps sync