summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2017-04-06 16:15:04 +0200
committerJonas Smedegaard <dr@jones.dk>2017-04-12 09:47:47 +0200
commit4e90e07993ae8e720a936707f23f82080eced8c9 (patch)
treed1060439756448e65231686eca0c748af9aced3d /bin
parent911c025a73eb30bffcba25add4b2dde1a8778438 (diff)
Compute buffer sizes from bitrate.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/stream.sh7
1 files changed, 3 insertions, 4 deletions
diff --git a/bin/stream.sh b/bin/stream.sh
index 01ef12d..7b8a635 100755
--- a/bin/stream.sh
+++ b/bin/stream.sh
@@ -12,6 +12,7 @@ fi
PORT=${2:-5004}
SIZE=640x360
+BITRATE=500000
MOVIE=../src/omni/show0/earth.mp4
LOGO=../../content/icon_small.png
@@ -19,15 +20,13 @@ LOGO=../../content/icon_small.png
# based on http://video.stackexchange.com/a/16933
# + codec options from http://www.webmproject.org/docs/encoder-parameters/
# example "Real-time CBR Encoding and Streaming"
-# (bufsize = 6000 * 500k / 1000)
-# (rc_init_occupancy = 4000 * 500k / 1000)
# + Drop frames, aggressively treat as static, and use fastest cpu
ffmpeg -threads auto -re \
-f lavfi -i "movie=filename=$MOVIE:loop=0, setpts=N/(FRAME_RATE*TB), scale=$SIZE" \
-i "$LOGO" -filter_complex 'overlay=main_w-overlay_w-20:main_h-overlay_h-20' \
-codec:v vp8 -quality realtime -deadline realtime -cpu-used 15 \
- -b:v 500k -minrate 500k -maxrate 500k \
- -undershoot-pct 95 -bufsize 3M -rc_init_occupancy 2M \
+ -b:v "$BITRATE" -minrate "$BITRATE" -maxrate "$BITRATE" \
+ -undershoot-pct 95 -bufsize $((6000*BITRATE/1000)) -rc_init_occupancy $((4000*BITRATE/1000)) \
-max-intra-rate 0 \
-qmin 4 -qmax 56 \
-static-thresh 500 -skip_threshold 50 \