rtmp-stream.sh 2.0 KB

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