From 363f4d522d8ef47dd30537371e7d7ebc53730a48 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 17 May 2017 08:44:33 +0200 Subject: Vary x264 speed based on height, and make not on doing same for vpx. --- bin/stream | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'bin/stream') diff --git a/bin/stream b/bin/stream index 71b6713..ac5135f 100755 --- a/bin/stream +++ b/bin/stream @@ -88,17 +88,20 @@ HEIGHT=270 HEIGHTS_WEBM="$HEIGHT" HEIGHTS_MPEG="$HEIGHT" +# TODO: Vary vpx quality based on height SPEED_VPX=15 -SPEED_X264=ultrafast # inspired by Apple HLS recommendations - if [ $HEIGHT -le 234 ]; then VBITRATE=145000; -elif [ $HEIGHT -le 270 ]; then VBITRATE=365000; -elif [ $HEIGHT -le 360 ]; then VBITRATE=730000; -elif [ $HEIGHT -le 432 ]; then VBITRATE=1100000; -elif [ $HEIGHT -le 540 ]; then VBITRATE=2000000; -elif [ $HEIGHT -le 720 ]; then VBITRATE=3000000; +# TODO: Externalize to site-specific configfile + if [ $HEIGHT -le 234 ]; then VBITRATE=145000; SPEED_X264=slow; SPEED_X264_ALONE=fast; +elif [ $HEIGHT -le 270 ]; then VBITRATE=365000; SPEED_X264=faster; SPEED_X264_ALONE=fast; +elif [ $HEIGHT -le 360 ]; then VBITRATE=730000; SPEED_X264=faster; SPEED_X264_ALONE=fast; +elif [ $HEIGHT -le 432 ]; then VBITRATE=1100000; SPEED_X264=veryfast; SPEED_X264_ALONE=fast; +elif [ $HEIGHT -le 540 ]; then VBITRATE=2000000; SPEED_X264=toofast; SPEED_X264_ALONE=veryfast; +elif [ $HEIGHT -le 720 ]; then VBITRATE=3000000; SPEED_X264=toofast; SPEED_X264_ALONE=ultrafast; fi +[ -n "$HEIGHTS_WEBM" ] || SPEED_X264="$SPEED_X264_ALONE" +[ toofast != "$SPEED_X264" ] || exit1 "Not enough CPU - reduce size or streams" # shellcheck disable=SC2048,SC2059 echo_n() { -- cgit v1.2.3