rtmp-stream.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #! /bin/sh
  2. source /opt/wz_mini/wz_mini.conf
  3. if [[ "$RTSP_PASSWORD" == "" ]]; then
  4. RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac)
  5. fi
  6. FFMPEG_BINARY="/opt/wz_mini/bin/ffmpeg"
  7. TWITCH_URL="rtmp://live-ber.twitch.tv/app"
  8. YOUTUBE_URL="rtmp://b.rtmp.youtube.com/live2"
  9. FACEBOOK_URL="rtmps://live-api-s.facebook.com:443/rtmp"
  10. #######################################
  11. ######ENTER YOUR STREAM KEYS HERE######
  12. YOUTUBE_KEY=""
  13. TWITCH_KEY=""
  14. FACEBOOK_KEY=""
  15. #######################################
  16. #######################################
  17. #V3: 1080p=video1 360p=video2
  18. #V2: 1080p=video6 360p=video7
  19. RTSP_STREAM="video1_unicast"
  20. VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTSP_STREAM"
  21. AUDIO="-c:a libfdk_aac -afterburner 1 -channels 1 -b:a 256k -profile:a aac_he -ar 16000 -strict experimental"
  22. if [[ "$2" == "no_audio" ]]; then
  23. echo NOAUDIO
  24. AUDIO="-an"
  25. fi
  26. if [[ "$1" == "youtube" ]]; then
  27. echo "youtube"
  28. STREAM_PROVIDER="$YOUTUBE_URL"
  29. KEY="$YOUTUBE_KEY"
  30. elif [[ "$1" == "twitch" ]]; then
  31. echo "twitch"
  32. STREAM_PROVIDER="$TWITCH_URL"
  33. KEY="$TWITCH_KEY"
  34. elif [[ "$1" == "facebook" ]]; then
  35. echo "facebook"
  36. STREAM_PROVIDER="$FACEBOOK_URL"
  37. KEY="$FACEBOOK_KEY"
  38. else
  39. echo "Usage:"
  40. echo "rtmp facebook"
  41. echo "rtmp twitch"
  42. echo "rtmp youtube"
  43. echo "Update the script with your stream keys first"
  44. exit 0
  45. fi
  46. sync;echo 3 > /proc/sys/vm/drop_caches
  47. $FFMPEG_BINARY \
  48. -rtsp_transport udp -y \
  49. -i "$VIDEO_SOURCE" \
  50. -c:v copy -coder 1 -pix_fmt yuv420p -g 30 -bf 0 $AUDIO -aspect 16:9 -f flv "$STREAM_PROVIDER/$KEY"