expand and improve rtmp streaming

This commit is contained in:
Alfonso Gamboa
2022-06-04 04:25:37 -07:00
parent 7a108fc734
commit 80df3561e9
4 changed files with 67 additions and 39 deletions

View File

@@ -14,22 +14,9 @@ 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=""
#######################################
#######################################
VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTMP_STREAM_FEED"
#V3: 1080p=video1 360p=video2
#V2: 1080p=video6 360p=video7
RTSP_STREAM="video1_unicast"
VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTSP_STREAM"
AUDIO_OPTIONS="-c:a libfdk_aac -afterburner 1 -channels 1 -b:a 256k -profile:a aac_he -ar 16000 -strict experimental"
AUDIO_OPTIONS="-c:a libfdk_aac -afterburner 1 -channels 1 -b:a 128k -profile:a aac_he -ar 16000 -strict experimental"
VIDEO_OPTIONS="-c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 0"
if [[ "$2" == "no_audio" ]]; then
@@ -40,15 +27,15 @@ fi
if [[ "$1" == "youtube" ]]; then
echo "RTMP Streaming to: YouTube"
STREAM_PROVIDER="$YOUTUBE_URL"
KEY="$YOUTUBE_KEY"
KEY="$RTMP_STREAM_YOUTUBE_KEY"
elif [[ "$1" == "twitch" ]]; then
echo "RTMP Streaming to: twitch"
STREAM_PROVIDER="$TWITCH_URL"
KEY="$TWITCH_KEY"
KEY="$RTMP_STREAM_TWITCH_KEY"
elif [[ "$1" == "facebook" ]]; then
echo "RTMP Streaming to: facebook"
STREAM_PROVIDER="$FACEBOOK_URL"
KEY="$FACEBOOK_KEY"
KEY="$RTMP_STREAM_FACEBOOK_KEY"
else
echo "Usage: rtmp-stream.sh <service> <no_audio>"
echo ""

View File

@@ -33,7 +33,7 @@ hostname_set() {
}
first_run_check() {
if [[ -e /opt/wz_mini/tmp/.run_mmc_firstrun ]]; then
if [[ -e /opt/wz_mini/tmp/.wz_user_firstrun ]]; then
echo "run_mmc.sh already run once, exit."
exit 0
fi
@@ -537,11 +537,22 @@ if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
fi
if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] || [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
echo "wait for iCamera"
sleep 5
LD_LIBRARY_PATH=/media/mmc/wz_mini/lib /media/mmc/wz_mini/bin/v4l2rtspserver $AUDIO_CH $AUDIO_FMT -U $RTSP_LOGIN:$RTSP_PASSWORD -P $RTSP_PORT $DEVICE1 $DEVICE2 &
fi
if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] || [[ "$RTSP_HI_RES_ENABLED" == "true" ]] && [[ "$RTMP_STREAM_ENABLED" == "true" ]] && [[ "$RTSP_LOW_RES_ENABLE_AUDIO" == "true" ]] || [[ "$RTSP_HI_RES_ENABLE_AUDIO" == "true" ]]; then
if [[ "$RTMP_STREAM_DISABLE_AUDIO" == "true" ]]; then
RMTP_AUDIO="no_audio"
fi
echo "wait for RTSP server"
sleep 5
/opt/wz_mini/bin/rtmp-stream.sh $RMTP_STREAM_SERVICE $RTMP_AUDIO
fi
hostname_set
touch /opt/wz_mini/tmp/.run_mmc_firstrun
touch /opt/wz_mini/tmp/.wz_user_firstrun
pkill -f dumpload #Kill dumpload so it won't waste cpu or ram gathering cores when something crashes
sysctl -w kernel.core_pattern='|/bin/false'
dmesg_log

View File

@@ -55,7 +55,16 @@ RTSP_LOW_RES_MAX_BITRATE=""
RTSP_LOW_RES_TARGET_BITRATE=""
RTSP_LOW_RES_ENC_PARAMETER=""
ENABLE_MP4_WRITE="false"
#####RTMP STREAMING#####
#### REQUIRES RTSP ####
### AND RTSP AUDIO ###
RTMP_STREAM_ENABLED="false"
RTMP_STREAM_FEED="video1_unicast"
RMTP_STREAM_SERVICE="youtube"
RTMP_STREAM_DISABLE_AUDIO="false"
RTMP_STREAM_YOUTUBE_KEY=""
RTMP_STREAM_TWITCH_KEY=""
RTMP_STREAM_FACEBOOK_KEY=""
#####GENERAL#####
ENABLE_SWAP="true"
@@ -63,7 +72,8 @@ ENABLE_USB_STORAGE="false"
ENABLE_EXT4="false"
ENABLE_CIFS="false"
DISABLE_FW_UPGRADE="false"
SILENT_PROMPTS="false"
AUDIO_PROMPT_VOLUME="50"
ENABLE_MP4_WRITE="false"
#####DEBUG#####
#drops you to a shell via serial, doesn't load app_init.sh