add rtmp streaming

This commit is contained in:
Alfonso Gamboa
2022-05-25 19:12:31 -07:00
parent 219226c2ea
commit 3ec1d1f822
5 changed files with 73 additions and 2 deletions

View File

@@ -0,0 +1,66 @@
#! /bin/sh
source /opt/wz_mini/wz_mini.conf
if [[ "$RTSP_PASSWORD" == "" ]]; then
RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac)
fi
FFMPEG_BINARY="/opt/wz_mini/bin/ffmpeg"
TWITCH_URL="rtmp://live-ber.twitch.tv/app"
YOUTUBE_URL="rtmp://b.rtmp.youtube.com/live2"
FACEBOOK_URL="rtmps://live-api-s.facebook.com:443/rtmp"
#######################################
######ENTER YOUR STREAM KEYS HERE######
YOUTUBE_KEY=""
TWITCH_KEY=""
FACEBOOK_KEY=""
#######################################
#######################################
#V3: 1080p=video1 360p=video2
#V2: 1080p=video6 360p=video7
RTSP_STREAM="video6_unicast"
VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTSP_STREAM"
if [[ "$1" == "youtube" ]]; then
echo "youtube"
STREAM_PROVIDER="$YOUTUBE_URL"
KEY="$YOUTUBE_KEY"
elif [[ "$1" == "twitch" ]]; then
echo "twitch"
STREAM_PROVIDER="$TWITCH_URL"
KEY="$TWITCH_KEY"
elif [[ "$1" == "facebook" ]]; then
echo "facebook"
STREAM_PROVIDER="$FACEBOOK_URL"
KEY="$FACEBOOK_KEY"
else
echo "Usage:"
echo "rtmp facebook"
echo "rtmp twitch"
echo "rtmp youtube"
echo "Update the script with your stream keys first"
exit 0
fi
sync;echo 3 > /proc/sys/vm/drop_caches
$FFMPEG_BINARY \
-rtsp_transport udp -y \
-i "$VIDEO_SOURCE" \
-c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 0 -b:a 16k -c:a aac -ar 11025 -strict experimental -aspect 16:9 -f flv "$STREAM_PROVIDER/$KEY"
#-re
# -c:v copy -coder 1 -pix_fmt yuv420p -minrate 200k -maxrate 1500k -bufsize 1500k -b:v 1000 -r 30 -g 30 -keyint_min 60 \
# -s 1920x1080 -b:a 16k -c:a aac -ar 8000 -strict experimental -f flv "$YOUTUBE_URL/$KEY"
# -s 640x360 -b:a 16k -c:a aac -ar 8000 -strict experimental -f flv "$YOUTUBE_URL/$KEY"
#-c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 0 -c:a aac -ab 4k -strict experimental -aspect 16:9 -f flv "$YOUTUBE_URL/$KEY"
# -c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 2 -c:a aac -ar 11025 -strict 2 -aspect 16:9 -f flv "$YOUTUBE_URL/$KEY"
#-c:v copy -profile:v high -coder 1 -pix_fmt yuv420p -g 30 -bf 2 -c:a aac -ab 8k -strict experimental -aspect 16:9 -f flv "$YOUTUBE_URL/$KEY"