diff options
Diffstat (limited to 'roles/stream/templates')
-rwxr-xr-x | roles/stream/templates/restream.sh | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/roles/stream/templates/restream.sh b/roles/stream/templates/restream.sh index 81970c7..4577cde 100755 --- a/roles/stream/templates/restream.sh +++ b/roles/stream/templates/restream.sh @@ -3,17 +3,29 @@ # echo $$ > /tmp/restream-{{ item[1].key }}.pid MOUNT={{ item[0].stream_url }}/{{ item[1].key }} # rtmp://..../stream_key LOGLEVEL="${LOGLEVEL:-24}" -for i in 1 2 3 4 5; do - ffmpeg -re -loglevel $LOGLEVEL -i http://localhost:{{ icecast_port }}/{{ emacsconf_id }}/{{ item[1].source }} \ - -cluster_size_limit 2M \ +while true; do + ffmpeg -re -loglevel $LOGLEVEL \ + -reconnect_at_eof 1 \ + -reconnect_streamed 1 \ + -fflags +genpts -i http://localhost:{{ icecast_port }}/{{ item[1].source }} \ + -cluster_size_limit 2M \ -cluster_time_limit 5100 \ -b:v 1M \ -crf 30 \ -g 125 \ - -deadline re \ -threads 4 \ -vcodec libx264 \ - -acodec libmp3lame \ + -preset:v ultrafast \ + -tune zerolatency \ + -maxrate:v 256k \ + -bufsize:v 512k \ + -acodec libmp3lame \ + -ac 2 \ + -b:a 96k \ + -preset:a ultrafast \ + -maxrate:a 96k \ + -bufsize:a 192k \ + -tune zerolatency \ -f flv $MOUNT sleep 5 # in case of error done |