stream-scripts/server/stream.sh

34 lines
716 B
Bash
Executable File

#!/bin/bash
ofile="$1-$(date +%Y-%m-%dT%H-%M-%S).mkv"
ffmpeg \
-hide_banner \
-protocol_whitelist rtp,file,udp,crypto,tcp \
-listen 1 \
-i tcp://10.0.1.22:9999?listen,overrun_nonfatal \
-filter_complex '[0:v]split=2[v1][v2];[0:a:0]asplit=2[a1][a2];[v2]scale=w=1280:h=-1[v3]' \
-map '[v1]' \
-map '[a1]' \
-map '0:a:1' \
-map '0:a:2' \
-c:v libx264 -pix_fmt yuv420p -threads 0 \
-c:a libopus -b:a 128k \
-crf 18 \
-tune zerolatency \
-preset slow \
-maxrate 7.5M \
-bufsize 35M \
-max_muxing_queue_size 9999 \
"$ofile" \
-map '[v3]' \
-map '[a2]' \
-c:v libx264 -pix_fmt yuv420p -threads 0 \
-c:a aac -b:a 128k \
-crf 18 \
-tune zerolatency \
-preset slow \
-maxrate 3.5M \
-bufsize 35M \
-f flv \
"$2"
echo "$ofile"