Как стримить с двух компьютеров

Обновлено: 03.07.2024

Четыре года назад я написал гайд, как в OBS стримить на два канала при помощи собственного nginx-сервера. Кому-то он оказался полезным, кто-то его назначение не понял, но суть не в этом.
Шло время, и информация потихоньку устаревала. Гайд всё ещё рабочий, но мне писали люди, которые хотели пользоваться новой версией nginx, а недавно написал человек, у которого были проблемы со стримом на три канала, и попросил найти решение. Он был в таком отчаянии, что даже предлагал мне деньги! денег я не взял Информацию я проверил, и действительно — с тремя каналами начинались проблемы: запускались рандомные два, один раз даже запустились все три, но постоянно лагали и изображение сыпалось. Попробовав разные варианты решения, я пришёл к тому, что проблема из-за старой версии.
Что ж, значит, пришло время обновляться.

Для начала немного оффтопа. Спустя какое-то время после написания того поста до меня дошло, почему на версиях, отличных от 1.5.9.1 ничего не работало — rtmp-модуль для nginx поставляется отдельно, следовательно, его нужно ещё встроить. Никаких проблем, если вы используете *nix — взял nginx, взял rtmp-модуль, скомпилил, и pen pineapple apple pen готово. Другое дело, если вы используете windows — насчёт тонкостей компиляции под эту систему я не в курсе, но они есть, судя по тому, что обновляется nginx с rtmp не часто: актуальная версия nginx под windows на данный момент 1.17.3 (или 1.16.1 стабильная), а актуальная версия nginx с rtmp-модулем — 1.14.1.


Ну, к делу. Весь апдейт сводится к тому, чтобы скачать версию 1.14.1 отсюда (воспользуйтесь зелёной кнопкой Clone or download, и выберите вариант Download ZIP). Затем извлеките файлы из архива на диск C:\, переименуйте папку из nginx-rtmp-win32-dev просто в nginx, или заранее создайте на диске папку nginx, и извлекайте файлы в архиве уже из папки, а ещё можете прямо в архиве переименовать папку в nginx, КОРОЧЕ, сами разберётесь, как удобнее, главное, чтобы в итоге на диске C:\ у вас оказалась папка nginx, в которой будут лежать файлы.

Далее следуйте старому гайду:
идёте по пути C:\nginx\conf, где создаёте файл nginx.conf, и туда помещаете этот код (пришлось сделать ссылкой на pastebin, так как у стопгейма нет возможности нормально вставить код).


Здесь нужно вместо STREAMKEY подставить свой ключ трансляции. Далее, по желанию, меняете, удаляете, добавляете ссылки, в зависимости от того, сколько и какие каналы нужны. Единственное, что нужно помнить — ссылка на каждый канал пишется отдельной строкой, начинается с push, а заканчивается точкой с запятой (в общем, смотрите, как сделано сейчас, и повторяйте синтаксис).

Все ссылки на rtmp-сервера нужных площадок найдёте где-то в настройках этих самых площадок. Ключ потока всегда ставится в конце rtmp-ссылки через слэш (вот эта херня — /).

После этого открываете OBS, в настройках вещания ставите custom (он же «настраиваемый»), и сервер rtmp://localhost/live.

Перед тем, как начинать трансляцию в OBS, либо запустите этот батник, либо откройте консоль, и напишите там cd C:\nginx (жамкнуть Enter), nginx.exe (жамкнуть Enter).
Бонус — теперь заканчивать работу nginx можно не через диспетчер задач, а при помощи батника stop в папке nginx (хотя и раньше можно было, ну да ладно).

Лично всё тестил на новейшей Windows 10 (а то знаете, как сейчас бывает — на 1809 работает, а на 1903 уже нет) несколько часов, качество отличное, задержка огромная (ну ладно, не огромная, секунд 9, но я разбалован миксером с его FTL), ни единого разрыва.

NDI (Network Device Interface) – протокол передачи данных (IP-видео), как, например, SMPTE 2022-6, SMPTE 2110, ASPEN или NMI, анонсированный компанией NewTek в 2015 году, который расширяет возможности взаимодействия периферийных устройств компьютера, позволяя управлять видеосистемами с высоким качеством видео и минимальными задержками.

Уже в 2016 году свет увидел обновленную версию протокола от NewTek – NDI 2.0 (поддержка ARM-кодирования, iOS SDK, а также кросс-подсети). На протяжении 2017, 2018, 2019 годов были представлены версии –3.0 (поддержка NDI HX, многоадресной передачи с технологиями FET, PTZ); 3.5 (улучшение связи на уровне пакетов, увеличение производительности); 4.0 (16-битная поддержка HDR, Multi-TCP, NDI HX2) соответственно.

Назначение плагина NDI

Основное назначение плагина NDI в OBS – рассредоточить нагрузку во время стриминга на несколько компьютеров. Зачастую мощности процессора и видеокарты в компьютере не хватает, чтобы стримить без просадок в FPS. Особенно, если во время стрима у пользователя запущена требовательная к ресурсам игра. Чтобы хоть как-то снять нагрузку со своего игрового компьютера стримеры часто пользуются вторым компьютером, а также плагином NDI. Тогда картинка с игрового компьютера по локальной сети передается на второй, вспомогательный, где запущен стрим. Получается так, что игровой компьютер не озадачен выводом картинки – этим занимается вспомогательный.

Учитывая особенности протокола NDI, картинка передается вспомогательному компьютеру в высоком качестве. Конечно, чтобы не возникало проблем с задержками, нужна правильная коммутация всех устройств.

Установка NDI для OBS Studio

Рассмотрим инструкцию по установке плагина NDI для OBS Studio (устанавливаем на оба компьютера: игровой и стриминговый).

  1. Открываем любой браузер, после чего переходим по ссылке на сайт GitHub.
  2. Там будут представлены все доступные для скачивания версии плагина NDI. Находим любую версию, после чего нажимаем кнопку “Assets”. Раскроется небольшое меню, где нужно выбрать строку “obs-ndi-x.x.x-Windows-Installer.exe”. Здесь“x” – любая цифра, указывающая выбранную версию плагина.
  3. После загрузки файла необходимо запустить его. Выбираем язык, принимаем пользовательское соглашение, устанавливаем плагин. После завершения процесса будет предложено перезагрузить компьютер – соглашаемся.

Настройка плагина

NDI требует настройки, как любая другая система, например, микрофон. Для этого нужно:

  1. После перезагрузки запускаем OBS Studio, а затем переходим на вкладку “Инструменты”. Там должна появиться строка “NDI Output settings”. Нажимаем ее, а в появившемся окне устанавливаем флажок напротив надписи “Enable NDI Output”.
  2. Переходим ко второму компьютеру для установки плагина по инструкции выше;
  3. На втором открываем OBS Studio, раздел “Источники”, добавляем “NDI Source”. Поле этого плагин автоматически определит первый компьютер (если они уже соединены по локальной сети).
Внимание! Если при установке возникли проблемы – удаляем плагины на обоих компьютерах. Затем пробуем установить другую версию NDI с официального сайта.

Добавление Skype в OBS и включение вывода изображения через NDI

Из-за появления новых версий Skype, захватить экран этой программы, пользуясь разделом “Источники” OBS Studio, уже не получится. Рассмотрим другие варианты того, как можно добавить Skype в OBS.

Как вариант, можно попробовать включить захват всего экрана через меню “Источники” . После, выбрав сцену с захватом экрана, открыть раздел “Трансформировать”. Далее выбирать “Изменить отображение”. Выделяем приложению Skype место на экране так, чтобы оно не перекрывалось ничем другим, подгоняем (обрезаем часть экрана) вывод изображения так, чтобы отображался только Skype.

Осторожно! Это не самый удобный способ, но также имеет место быть.

Рассмотрим другой, более удачный способ.

  1. Переходим по ссылке на официальный сайт NDI Tools, чтобы скачать пакет плагинов “NDI Tools for Windows”. После нажатия кнопки “Download” необходимо ввести некоторые личные данные – пройти верификацию (ввести капчу). Реальные сведения указывать необязательно, но почта должна быть своя – туда придет письмо со ссылкой для скачивания нужного пакета инструментов. После скачивания, устанавливаем пакет следуя инструкциям.
  2. Теперь нужно открыть Skype. Потом нажимаем на многоточие возле профиля аккаунта, чтобы перейти к настройкам программы.
  3. Через раздел настроек выбираем вкладку “Звонки”, далее открываем “Дополнительно”, активируем функцию “Разрешить использование NDI”.
  4. Делаем тестовый звонок на любой другой аккаунт через Skype (как вариант, можно взять телефон, позвонив самому себе с другого аккаунта).
  5. Не сбрасывая, переходим к OBS Studio – раздел “Инструменты”. На него нажимаем правой кнопкой мыши, далее выбираем “Добавить”, кликаем по строке “NDI Source” (уже установленный плагин). В появившемся окне необходимо выбрать активный поток (строка “Source name”). Выбираем поток Skype, нажимаем клавишу “OK”.
  6. Теперь фиксируем потоки, которые выводятся в OBS (чтобы при проблемах с интернетом не прыгала картинка). Выбираем в источниках нужный нам поток, открываем меню трансформации и нажимаем “Изменить отображение”. Задаем тип ограничителя, а также выбираем нужный вариант масштабирования. Теперь картинка будет строго закреплена – она не будет “прыгать” (при необходимости здесь же можно регулировать ширину и высоту, для удобства).

Вывод видео на второй ПК через NDI

Рассмотрим инструкцию вывода видео на второй компьютер после подключения и настройки программного обеспечения.

фото-1

Процесс занимает несколько минут, так как благодаря технологии NewTek NDI необязательно иметь карту захвата и соединять с ее помощью компьютеры. Достаточно, чтобы устройства были подключены к одной локальной сети.

фото-1

  1. Устанавливаем и настраиваем плагин NewTek NDI с помощью инструкций выше.
  2. Открываем OBS Studio на втором компьютере и переходим в настройки. При необходимости, изменяем стандартные параметры во вкладках “Видео”, “Звук” и других. Например, здесь можно самостоятельно настраивать звук (выбирать битрейт и пр.), изменять разрешение холста и другое.
  3. На главном экране во вкладке “Источники” нажимаем кнопку “+” и добавляем новый источник “NDI Source”. Нажимаем “OK” и в новом окне необходимо выбрать поток рабочего компьютера в разделе “Source name” (должно определится автоматически). Через пару секунд появится картинка.

Преимущества использования плагина для OBS Studio

  • Необязательно иметь карту захвата, чтобы стримить с двух компьютеров;
  • Возможность разгрузить основной компьютер и таким образом оптимизировать сам процесс потоковой передачи, убрав возможные лаги и тормоза;
  • Настройка в OBS NDI plugin не занимает много времени;
  • Некоторые пользователи могут неправильно соединить компьютеры с помощью карты захвата. Что касается NDI все проще – достаточно установить программное обеспечение;
  • Не нужно тратить денег на карту захвата, а сам плагин абсолютно бесплатный.

Заключение

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

Настройка потоковой передачи видео между компьютерами (или компьютером и ноутбуком – нет разницы) не занимает много времени, учитывая большое количество инструкций на эту тему. А сам способ с приобретением недорогого стриминг-компьютера может оказаться еще дешевле, так как начинка не обязана быть игровой, компьютер будет заниматься лишь выводом картинки. На нем достаточно иметь хороший процессор и видеокарту среднего уровня. Если правильно подобрать комплектующие, то на этом факторе можно неплохо сэкономить.

Полезное видео

Дополнительный материал по теме:

Стрим с двух компьютеров, как стримить с 2-х ПК. Один компьютер для игр, другой для стрима

Большинство топовых стримеров используют два компьютера для стрима. На одном играют, а при помощи второго подают видеопоток на сервер, к примеру, Твича.

Совсем недавно я решил прикупить себе второй ПК для стримов. Взял Intel i3-7100, ОЗУ 8Gb и остальное по мелочи. По цене системник вышел на 19к рублей (05.06.2017) и это без видеокарты.

Также потребуется карта видеозахвата, у меня это AverMedia Live Gamer Portable Lite. При помощи неё я периодически стримлю игры с PS4 Slim.

Как стримить при помощи 2-х компьютеров

Вам необходимо правильно подключить вашу карту видеозахвата, чтобы захватить картинку и звук с игрового ПК. На рисунке схематично все расписано.

На втором ПК у вас должен быть установлен OBS Studio и весь необходимый софт (включая драйвера): карты захвата, микрофона, веб-камеры и прочих девайсов, которые вы используете для стрима.

Моя схема подключения двух компьютеров для стрима. Рисовал на скорую руку, но вроде все понятно :D

Схема подключения двух компьютеров для стрима

После успешного захвата картинки и звука в ОБС необходимо проверить нет ли рассинхрона. Такое возможно будет и у вас, тут все зависит от карты видеозахвата.

У меня был рассинхрон вебкамеры и микрофона на 500 мс, так как они были подключены ко второму ПК (Streaming PC) напрямую.

Асинхронность (задержка) в с веб-камерой настраивается в фильтре источника OBS Studio.

Асинхронность веб-камеры в ОБС Студио

Смещение синхронизации микрофона настраивается в "Расширенных настройках звука" в верхнем меню.

Смещение синхронизации микрофона OBS Studio

Настройки OBS Studio для двух ПК

Кодек, разумеется, программный x264 с битрейт 3800. Разрешение видео 720p (1280 x 720) на 60 FPS. По сравнению с кодеком Quick Sync на 5000 битрейта картинка трансляции намного лучше.

Настройки OBS Studio для двух ПК

Характеристики этих двух компьютеров описаны здесь. Если будут вопросы, то пишите их в комментарии.

Вообщем гуглил и нифига грамотного решения или обзора так и не нашёл, кто шарит как стримят с двух машин?

Знаю что на одном играют, а на второй через карту видеозахвата отправляют поток где его кодирует и отправляет в сеть второй комп. Как происходит подключение? В нете есть инфа что вообще можно без карты захвата через HDMI подключить карты друг к другу и стримить. Кто в теме, раскажите детально как происходит процесс в обоих случаях?

img

Вообщем гуглил и нифига грамотного решения или обзора так и не нашёл, кто шарит как стримят с двух машин?

Знаю что на одном играют, а на второй через карту видеозахвата отправляют поток где его кодирует и отправляет в сеть второй комп. Как происходит подключение? В нете есть инфа что вообще можно без карты захвата через HDMI подключить карты друг к другу и стримить. Кто в теме, раскажите детально как происходит процесс в обоих случаях?

Я не шарю, но не понимаю, зачем это нужно. Купить хороший процессор, по-моему, дешевле, при сборке пк офк.

Я не шарю, но не понимаю, зачем это нужно. Купить хороший процессор, по-моему, дешевле, при сборке пк офк.

У меня i7-6700k при стриме в 720 на битрейте 3к фпс в доте с 260 на 120, я хочу играть при фпс от 200 в ммо и в шутерах от 90 хотя бы и как раз стрим с двух машин даёт это сделать, одна стоит на игре и не потеет, а вторая машина кодирует поток видео и отправляет его на твич. Тем более могу позволить себе купить вторую машину.

Как стримят арабы:

Игровой ПК - Avermedia (ну или аналог) - Выход на монитор (картинка) - через usb цепляем ко второму системному блоку.

Ну там ещё по мелочи звук и.т.д

В итоге мы разгружаем свой игровой ПК

А второй системник будет загружен.

img

У меня i7-6700k при стриме в 720 на битрейте 3к фпс в доте с 260 на 120, я хочу играть при фпс от 200 в ммо и в шутерах от 90 хотя бы и как раз стрим с двух машин даёт это сделать, одна стоит на игре и не потеет, а вторая машина кодирует поток видео и отправляет его на твич. Тем более могу позволить себе купить вторую машину.

Нуу, я не понимаю особого смысла в 144+ фпс. А какой у тебя бюджет на второй пк?

Нуу, я не понимаю особого смысла в 144+ фпс. А какой у тебя бюджет на второй пк?

Да нет особых ограничений.

Как стримят арабы:

Игровой ПК - Avermedia (ну или аналог) - Выход на монитор (картинка) - через usb цепляем ко второму системному блоку.

Ну там ещё по мелочи звук и.т.д

В итоге мы разгружаем свой игровой ПК

А второй системник будет загружен.

Я так понимаю , на первом игровом ПК мы устанавливаем карту видео захвата, от неё по входу USB или HDMI подключаемся к видео карте второго компа и уже на нём в обс устанавливаем захват отдельного окна и там( после конечно овердох настроек и установки нужного софта) уже выбираем картинку которая идёт через кабель с карты захвата игрового компа на втором и настраиваем присет, битрейт и т.д. правильно понял?

Вообщем гуглил и нифига грамотного решения или обзора так и не нашёл, кто шарит как стримят с двух машин?

Знаю что на одном играют, а на второй через карту видеозахвата отправляют поток где его кодирует и отправляет в сеть второй комп. Как происходит подключение? В нете есть инфа что вообще можно без карты захвата через HDMI подключить карты друг к другу и стримить. Кто в теме, раскажите детально как происходит процесс в обоих случаях?

В карте захвата есть HDMI (DVI, DP) IN и HDMI (или другие порты) - out.
Кабель от видеокарты, который в монитор - в карту захвата - вход.
Кабель от карты захвата выход - в монитор.
Надеюсь понял? Все очень просто.

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

Наркомания с 2мя машинами тебе не нужна.
Если бюджет не ограничен - купи 2011 платформу и 6900к. Он спокойно вывезет и стрим и игру ,и фпс будет на уровне.
(Тсс. щас набегут адепты райзена, но райзен не даст тебе фпс сравнимого с 6700к).

В карте захвата есть HDMI (DVI, DP) IN и HDMI (или другие порты) - out.
Кабель от видеокарты, который в монитор - в карту захвата - вход.
Кабель от карты захвата выход - в монитор.
Надеюсь понял? Все очень просто.

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

Наркомания с 2мя машинами тебе не нужна.
Если бюджет не ограничен - купи 2011 платформу и 6900к. Он спокойно вывезет и стрим и игру ,и фпс будет на уровне.
(Тсс. щас набегут адепты райзена, но райзен не даст тебе фпс сравнимого с 6700к).

Спасибо, теперь догнал, правда с подключением ты немного как то обьяснил замудренно

В карте захвата есть HDMI (DVI, DP) IN и HDMI (или другие порты) - out.
Кабель от видеокарты, который в монитор - в карту захвата - вход.
Кабель от карты захвата выход - в монитор.
Надеюсь понял? Все очень просто.

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

Наркомания с 2мя машинами тебе не нужна.
Если бюджет не ограничен - купи 2011 платформу и 6900к. Он спокойно вывезет и стрим и игру ,и фпс будет на уровне.
(Тсс. щас набегут адепты райзена, но райзен не даст тебе фпс сравнимого с 6700к).

Кстати видал на али карту видео захвата с PRO-RECORDER H264 около 10к стоит, оценка пятибальная и пишут что он уже пережимает так же как и проц ибо платформа h264(я так понимаю там и есть свой проц типо i5 какого нить) . Как думаешь стоит попробовать заморочиться заказать? В инете пока нет обзоров на них, они недавно появились!

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