Как запустить круглосуточную трансляцию YouTube на Linux

Как можно легко запустить круглосуточную трансляцию YouTube на linux транслируя свои видео? Почему linux? Почему нельзя просто установить OBS studio и с помощью неё запускать трансляцию? Одна з причин, это то, что при работе OBS studio требуется больше мощностей для запуска и трансляции, при этом, стабильной и плавной прямой трансляции может и не быть. Если получится запустить, то не на само слабом сервер и при этом, FPS может быть не более 20 кадров/с. По этом нам потребуется сервер с OS Linux.

Что потребуется: Сервер с системой Linux. Сегодня рассмотрим установку на сервере с ОС CentOS 7.Также установленный python. В большинство современных образов, python 2 установлен в систему из коробки.

Установка:

1. Подключаемся к серверу по SSH.

2. Устанавливаем дополнительно ПО для запуска трансляции. Для этого подключаем дополнительный репозиторий чтобы можно установить ПО для работы трансляции. Для этого пропишем следующую команду в консоли

yum install epel-release -y

yum localinstall —nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y

3. Производим установку ffmpeg. Для установки пишем в консоли команду:

yum install ffmpeg ffmpeg-devel -y

4. Чтобы проверить, установился ли ffmpeg, пишем команду

ffmpeg -version

Если ffmpeg установлен, будет следующий результат как на рисунке ниже.

Как запустить круглосуточную трансляцию YouTube на Linux

5. После установки ffmpeg создаём директорию в которой у нас будут храниться видео. В нашем случаю директория которая будет хранить видео, имеет расположение /root/YouTube/video. Чтобы создать данную директорию, напишем следующую команду:

mkdir -p /root/YouTube/video

После того как директория была создана, загружаем видео с расширением mp4 в данную директорию. После загрузки видео в указанную директорию, можем приступить к следящему действию.

6. Следующим шагом будет создания и редактирование файла/скрипта, который будет отвечать за работу прямой трансляции на YouTube. Напишем команду

vim /root/YouTube/YouTube.py

После написаний откроется файл YouTube.py в который нужно написать следующий код:

import os

dirname = «/root/YouTube/video/»

key = ‘rtmp://a.rtmp.youtube.com/live2/0xx0-xxxx-x000-x0x0-xxxx’

while True:
files = os.listdir(dirname)
for f in files:
if «.mp4» in f:
cmd = «ffmpeg -threads 3 -re -i » + dirname + f + » -c:v libx264 -preset ultrafast -crf 24 -g 3 -f flv » + key
os.system(cmd)

Параметр dirname имеет путь к директории с видео, который будут транслироваться в прямой трансляции. Если нужно установить свою директорию, в которой находятся видео, замените «/root/YouTube/video/» на свой полный путь.

Чтобы установить свой ключ трансляции, меняете «rtmp://a.rtmp.youtube.com/live2/0xx0-xxxx-x000-x0x0-xxxx» на значение своего ключа.

Параметры:

-threads — количество потоков, которые может обрабатывать ffmpeg-preset — насколько сильно будет нагружен CPU

Есть следующие параметры:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium
  • slow
  • slower
  • veryslow

В зависимости, от мощности CPU устанавливаем нужный параметр. Для наилучшего результата, проверим каждый параметр, как с ним производится трансляция и в зависимости от скорости работы устанавливаем тот или иной параметр.

-crf — коэффициент, который отвечает за качество картинки. По умолчанию установлен 23. Данный коэффициент может иметь значения от 0 до 51. Чем значение больше, тем качество лучше. Значение 0 — качество равно качеству самого видео. Значение 51 — самое хуже качество.

-g — коэффициент, который указывает явное количество ключевых кадров.

-re — указывает, что файл необходимо конвертировать в поток.

-i — указывает, что файл нужно воспроизвести.

-f — указывает, в какой формат должен быть конвертирован файл. Для YouTube нужен формат «flv»

Если все нужные настройки были завершены, можно приступить к запуску скрипта.

7. Чтобы запустить скрипт в фоновом режиме, нужно установить дополнительный пакет screen. Для этого прописывает следующую команду:

yum install screen -y

После установки данного пакета переходим в режим «скрина». Для этого прописываем следующую команду:

screen

После написания данной команды, Вам нужно запустить данный скрипт. Для этого прописываем следующее:

python /root/YouTube/YouTube.py

Можем увидеть, что запустился скрипт. Пример можете увидеть на следующем скриншоте.

Чтобы отключится от сервера безопасно, при этом, оставить работать прямую трансляцию, требуется нажать на CTRL+A, после чего на клавишу D. Работа скрипта перейдёт в фоновый режим, а трансляцию продолжить свою работу. После этого можете отключиться от сервера. Или можно закрыть окно ssh-клиента — через кнопку закрытия окна (крестик), сессия не прервется. Если требуется остановить работу скрипта или проверить его работу, нужно в консоли сервера прописать следующую команду

screen -r

После ввода данной команды открыться наш скрипт. Остановить его можно используя комбинации клавиш CTRL+Z

 

Источник

Читайте также