OBS Studio - Стриминг на слабом компьютере (Рестриминг) - Radian TOR.ru - Сайт Блог Разработка Эксперимент

OBS Studio - Стриминг на слабом компьютере (Рестриминг)

   Если ваш у Вас дома 2 слабых компьютера. например как у меня (один стоит в кладовке в качестве сервера), то второй компьютер можно использовать для сжатия видео, это разгрузит первый на котором Вы будете записывать стрим.

 

Схема такая:

Слабый ПК №1 - компьютер на котором Вы записываете стрим, он будет с помощью OBS Studio и FFmpeg передавать видео на Слабый ПК №2

Слабый ПК №2 - этот компьютер будет принимать видео с первого компьютера, сжимать его и сразу передавать сжатое видео непосредственно на стриминг сервис, например на youtube.com

 

   В такой схеме основная нагрузка по сжатию видео потока ляжет на ПК №2, а у ПК №1 останется больше ресурсов для записи стрима.

   Естественно оба компьютера должны иметь связь между собой по какому либо каналу с хорошей пропускной способностью (например локальная сеть). Слабый ПК №2 конечно же должен иметь доступ в интернет.

   Для записи стрима на ПК №1 будем использовать OBS Studio (на момент написания свежая версия 1.80)

 

Настройки OBS Studio для передачи видео потока на второй компьютер

Настройки -> Вывод -> Запись:

 

Тип: пользовательский вывод FFmpeg

Тип вывода FFmpeg: На указанный адрес (URL)

Путь к файлу или URL-адрес: tcp://192.168.0.8:22730

Формат контейнера: avi

Видео битрейт: 8000

Кодировщик видео: mpeg4

Кодировщик аудио: aac

Аудио битрейт: 192

 

-остальные настройки можно оставить по умолчанию

-здесь tcp://192.168.0.8 - это IP адрес вашего ПК №2

   Здесь видно что сжатие все таки происходит на ПК №1, но в основном из-за высокого битрейта и быстрого энкодера это сжатие почти не нагружает процессор компьютера. Вы можете поэкспериментировать с битрейтом видео и с другими кодеками подобрав оптимальные для Вас настройки. Помните что битрейт должен быть не слишком высок и зависит от пропускной способности канала который соединяет Ваши ПК №1 и №2 между собой. А кодек должен быть как можно проще чтоб не нагружать процессор компьютера.

 

Настройки Второго компьютера

   На ПК №2 (в моем случае с IP = 192.168.0.8 ) нужно создать listen.bat скрипт для запуска ffmpeg с нуными настройками.

   Содержимое listen.bat файла такое:

ffmpeg -i "tcp://127.0.0.1:22381?listen" -listen 1 -c:v libx264 -maxrate 3000K -b:v 1000k -preset ultrafast -c:a aac -ar 44100 -b:a 48k -f flv rtmp://a.rtmp.youtube.com/live2/myYoutubeKey

Пояснение настроек:

    -i "tcp://127.0.0.1:22730?listen" -listen 1 - означает что ffmpeg будет слушать TCP поток на порту 22730

   -c:v libx264 -maxrate 3000K -b:v 1000k -preset ultrafast  - это настройки пересжатия видео потока кодеком x264 со средним битрейтом 1000к и максимальным 3000k в режиме ultrafast. 

   -c:a aac -ar 44100 -b:a 48k  - это настройки пересжатия аудио потока кодеком AAC в 44100Гц и битрейтом 48к.

   -f flv rtmp://a.rtmp.youtube.com/live2/myYoutubeKey - эти настройки обозначают что пересжатый поток будет упакован в FLV контейнер и отправлен на Ютуб по протоколу RTMP. Тут myYoutubeKey  - это Ваш ключ который Вам выдает youtube когда вы настраиваете прямую трансляцию.

 

   Все.

   Теперь когда все готово, можно приступать к стриму с ретрансляцией.

Запускаем listen.bat на ПК №2. Он будет находиться в ожидании входящего потока.

Запускаем на ПК №1 OBS Studio с нашими настройками и нажимаем Начать запись. (именно эту кнопку а не другую)