Advertisement
DanilMD

Stream.sh

Jun 23rd, 2022
1,002
174 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. #Стандартные параметры
  3. server='rtmp://hel03.contribute.live-video.net/app' #Сервер вещания Twitch (https://stream.twitch.tv/ingests/)
  4. key='live_545919309_2bxsMn86YbQl8Ycla7xKsK8Bfu7mki' #Ключ вещания
  5. RESOLUTION="1280x720" #Разрешение
  6. FPS="60"
  7. BITRATE="4500k"
  8. PRESET_LIBX264="veryfast" #Скорость обработки libx256
  9.  
  10. #Ключи
  11. while [ -n "$1" ]
  12. do
  13. case "$1" in
  14. --server) server="$2"
  15. shift ;;
  16. --key) key="$2"
  17. shift ;;
  18. --videos) videos="$2"
  19. shift ;;
  20. --fps) FPS="$2"
  21. shift ;;
  22. --bitrate) BITRATE="$2"
  23. shift ;;
  24. --preset) PRESET_LIBX264="$2"
  25. shift ;;
  26. --resolution) RESOLUTION="$2"
  27. shift ;;
  28. --) shift
  29. break ;;
  30. *) echo "$1 is not an option";;
  31. esac
  32. shift
  33. done
  34.  
  35. if [ -n "$videos" ]
  36. then
  37.         IFS=', ' read -r -a videosArr <<< $videos
  38. else
  39.         echo "Не переданы видео (через запятую)"
  40.         exit 0
  41. fi
  42.  
  43.  
  44.  
  45. rtmp="$server/$key"
  46.  
  47. #Функция запуска FFMPEG
  48. function stream() {
  49.         echo "Отправка видео '$1' на RTMP"
  50.         ffmpeg -i $1 -c:v libx264 -preset $PRESET_LIBX264 -b:v $BITRATE -maxrate $BITRATE -bufsize $BITRATE -s $RESOLUTION -r $FPS -pix_fmt yuv420p -f flv $rtmp
  51. }
  52.  
  53.  
  54. #перебор видео
  55. for videoFile in "${videosArr[@]}"
  56. do
  57.         if [ -f $videoFile ]
  58.         then
  59.                  stream $videoFile
  60.         else
  61.                 echo "$videoFile, не найден"
  62.         fi
  63. done
  64.  
  65. #Повтор
  66. #sleep 2
  67. #./$0 --videos $videos --fps $FPS --server $server --key $key --bitrate $BITRATE --resolution $RESOLUTION --preset $PRESET_LIBX264
Advertisement
RAW Paste Data Copied
Advertisement