rtmp-stream.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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="video6_unicast"
  20. VIDEO_SOURCE="rtsp://"$RTSP_LOGIN":"$RTSP_PASSWORD"@0.0.0.0:"$RTSP_PORT"/$RTSP_STREAM"
  21. if [[ "$1" == "youtube" ]]; then
  22. echo "youtube"
  23. STREAM_PROVIDER="$YOUTUBE_URL"
  24. KEY="$YOUTUBE_KEY"
  25. elif [[ "$1" == "twitch" ]]; then
  26. echo "twitch"
  27. STREAM_PROVIDER="$TWITCH_URL"
  28. KEY="$TWITCH_KEY"
  29. elif [[ "$1" == "facebook" ]]; then
  30. echo "facebook"
  31. STREAM_PROVIDER="$FACEBOOK_URL"
  32. KEY="$FACEBOOK_KEY"
  33. else
  34. echo "Usage:"
  35. echo "rtmp facebook"
  36. echo "rtmp twitch"
  37. echo "rtmp youtube"
  38. echo "Update the script with your stream keys first"
  39. exit 0
  40. fi
  41. sync;echo 3 > /proc/sys/vm/drop_caches
  42. $FFMPEG_BINARY \
  43. -rtsp_transport udp -y \
  44. -i "$VIDEO_SOURCE" \
  45. -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"
  46. #-re
  47. # -c:v copy -coder 1 -pix_fmt yuv420p -minrate 200k -maxrate 1500k -bufsize 1500k -b:v 1000 -r 30 -g 30 -keyint_min 60 \
  48. # -s 1920x1080 -b:a 16k -c:a aac -ar 8000 -strict experimental -f flv "$YOUTUBE_URL/$KEY"
  49. # -s 640x360 -b:a 16k -c:a aac -ar 8000 -strict experimental -f flv "$YOUTUBE_URL/$KEY"
  50. #-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"
  51. # -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"
  52. #-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"