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

Обновлено: 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, либо запустите этот батник, либо откройте консоль, и напишите там cd C:\nginx (жамкнуть Enter), nginx.exe (жамкнуть Enter).
Бонус — теперь заканчивать работу nginx можно не через диспетчер задач, а при помощи батника stop в папке nginx (хотя и раньше можно было, ну да ладно).

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

Волшебник


Перед тем как покупать второй компьютер, вы должны понимать, что это добавит огромное количество проводов, дополнительное энергопотребление и, самое критичное, компьютер займет достаточное количество места.
Если Ваше рабочее место не сможет уместить два компа, даже не думайте затевать это. Вы просто умаетесь компоновать и расставлять железно постоянно теряя дополнительные сантиметры. Сейчас когда у почти каждого стримера есть еще и плойка, нужно понимать, что надо будет уместить всё и сразу.
Наобжигаться на столах можно нормально.
Сначала я смотрел в сторону этого стола. И даже приобрел его. Но, скажу Вам сразу — я от него отказался. Дело в том, что конструкция должна быть достаточно прочная. Этот стол предельно неустойчив и мягок. По тумбочкам вопросов нет. Они очень полезные, если его укрепить — он имеет шансы на использование. Но поскольку руки у меня растут из попы, я был не в состоянии модифицировать стол по своим нуждам.

Вот как выглядело это у меня.



core i5 6600k ответ



На вашем стримерском компьютере обязательно должна быть эта фишка. В противном случае, на подобных core i5 процессорах, не ждите возможности стримить на хороших для качества пресетах и ожидайте в пиках нагрузки потерю кадров.
Повторюсь, сейчас хорошим вариантом будет i7 8700к.
Тогда я просто докупил i7 — 7700k потому что на моем игровом и стримерском компьютере он показал себя отлично и до сих пор не вызывает никаких нареканий. Что весьма радует.
Но вернемся к столу. Идеальным для себя вариантом я нашел IKEA FREDDE.


Большой, с регулируемыми областями под мониторами. Снимаемой в случае ненадобности верхней полкой. И с секциями под системные блоки. (Спойлер, системные блоки не должны быть супер высокими, иначе они не влезут)




И с возможностью поставить аж три монитора, если Вы совсем решили возомнить себя оператором из Матрицы.


Но найти его не означало купить. Это целая история, но если очень коротко то, стола в продаже на РФ часто не бывает, но это не означает что его нельзя купить. На сайте его не было, но физически он в икее был. Забавно, что сразу после муторной покупки через знакомых этот стол благополучно появился на сайте Икеи.
Когда я всё собрал, выглядеть начало уже сильно лучше :)


оба системника встали слева и справа соответственно


О мой бог, сколько вариантов я попробовал, и постараюсь расписать о каждом неудачном опыте, но, конечно, хочется просто написать как сделал я, поскольку нашел это бесконечно удобным.
Когда вы берете карту захвата, вы неизбежно, в конечном итоге, будете задавать себе один вопрос — что по звуку?
Когда я подключил все в первый раз, я подумал — ну буду хватать звук как с PS4. Т.е. напрямую с obs\xsplit. В скором времени я понял как же я был не прав.
Дело в том, что любая карта захвата будет делать вам задержку по звуку\видео.


слева игровой компьютер, справа стримерский

слева игровой компьютер, справа стримерский


Но, не беда, есть же еще варианты!


слева игровой компьютер, справа стримерский


Отказываемся от варианта клонирования монитора на игровом PC
Подключаемся через Pass-Through и выходит следующее.

Итоговый вариант, на котором я остановился.

В итоге — мы видим игру без задержек, поскольку на карте захвата есть технология Pass-Through. Остались только проблемы с тем, что звук все равно может прилетать с задержкой (ведь мы все ещё слушаем звук через obs\xsplit). И мы плавно подходим к третьей, самой большой проблеме стрима с двух компьютеров. Именно она и подвела меня к этой статье, которая должна помочь минимизировать ваши дополнительные затраты на звук.
Проблема №3. Звук.


Это Voice Meeter Banana — и он ваш друг (скачать)



Он бесплатный и потрясный, если он вам понравится — вы можете за него заплатить столько, сколько захотите.
На первый взгляд это просто куча разных кнопок и вообще ничего понятно не станет. Какие-то А1-А3 B1, B2 куча ползунков и так далее. Но я постараюсь максимально понятно разжевать что, куда и почему. Поэтому, если вы будете делать по инструкции ниже — у вас все получится.


Вот скрин с моей настройки



Для чего нужен этот Voice Meeter? Он позволяет регулировать уровень звука с разных источников и, что весьма важно, можно сегментировать звук на стрим. Например, мы хотим слышать звук с дискорда, а зрителям его подавать не желаем — легко. Хотим сделать зрителям погромче, а себе потише? — легко.
Итак, давайте настраивать. После установки надо перезагрузиться, это весьма обязательный процесс, поскольку в систему добавляется два виртуальных устройства вывода.


Шаг 1. Добавляем устройства вывода. Тут я указал свою звуковую карту к которой подключены наушники
А1, А2, А3 это ваши аудио выходы Hardware — т.е. физические, могут быть и виртуальные типа Virtual Audio Cable, они тоже будут в списке. Используйте WDM, поскольку если загуглировать — выяснится что WDM побыстрее работает и, вроде как, в принципе лучше.
Предположим у вас есть наушники, блютус наушники и колонки. Указываем их как А1, А2 и А3 соответственно.
Теперь давайте укажем наши приходящие устройства.


VoiceMeeter добавляет вам два виртуальных аудиовыхода. Вы свободно можете ими пользоваться, чем я и занимаюсь. Посылая все системные звуки на VB-Audio VoiceMeeter Aux VAIO
Итак, давайте чтобы всё было понятно:
А1 — слышим мы.
B1 — слышат зрители.


Ползунками регулируем громкость. Нажимаем A1 A2 & A3 смотря куда хотим подать звук.
Как видно, если я захочу сделать себе мониторинг — нажимаю на своем микрофоне А1 — и я слышу себя. Хочу чтобы зрители не слышали звук с игрового компьютера — убираю B1 и зритель ничего слышит. Хотите вырубить микрофон на стриме? Нажимаем Mute и микрофона нет…
И так далее. По-моему это очень удобно. Фактически это аудиомикшер, но у вас в компьютере. Так же можно сделать спокойно хоткеи на всё.
В obs\xsplit указываем микрофон

Так и решилась проблема с задержкой по звуку.
Проблема №4. Два микрофона.


И на сладкое. Вам не нужно два микрофона.


Сейчас я вам покажу особую уличную магию.



Для начала устанавливаем на наш игровой компьютер Voicemeeter Banana.
Мы воспользуемся технологией VBAN и она поможет нам по внутренней сети передать наш микрофон на соседний компьютер, фактически без потерь качества. Я её уже протестил, и не стал бы совать вам то, что не работает.
Итак погнали. У вас уже установлен и настроен Voicemeeter Banana на стримерском компьютере. Давайте откроем этот волшебный VBAN:


Делаем Outgoing Stream на ip адрес нашего стримерского компьютера.



Нас интересует настройка Outgoing stream.
Указываем что будем транспортировать: B2 — указываем On , указываем Ip нашего стримерского компьютера. И вернемся на главное окно Voicemeeter Banana и тыкнем B2 в разделе с нашим микрофоном.


B1 — наш компьютер и вывод для зрителя. B2 — транслируем микрофон на соседний компьютер.
На игровом компьютере указываем Incoming stream и вписываем ip адрес стримерского компьютера, показывая где нам ловить стрим.


качество ставьте Optimal, оно даст лучший звук.

StreamDeck — обязательно рекомендую приобрести данный продукт — это восторг. Он сильно вам поможет контролировать несколько моментов, такие как переключение сцен, или каких-то счетчиков. Но самое главное он добавит интерактива. Он своих денег стоит.
Elgato Green Screen — бомбический хромакей который сэкономит вам много места.


1. Какой максимальный битрейт на твиче без партнерки? 6000?
2. Если собрать 2 комп для стрима (дабы разгрузить 1-й) я так понимаю покупается карта захвата и стримится через нвенк, а можно ли стримить через процессор?
3. Будет ли ок для 2-го компа (для стрима) вот такое жезело?
AMD FX-6300
Asus M5A78L-M LX3 VGA
KINGSTON 8GB PC3-12800 CL11 KVR16S11/8 GW.24
Asus GeForce GTX 1060 DUAL OC 3GB
Elgato HD60 Pro + Splitter HDMI 1x2

Простой 17 комментариев

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


Да без разницы, через что будет идти видеопоток, главное чтобы его мог перехватить второй комп и уже разбираться с ним сам. Ну и чтобы этот видеопоток (управление и кодирование уже уносится на второй) не напрягали первый комп.
дальше не скажу, вдаваться в детали лень :)

nidalee

Плюс второго ПК - можно не использовать видеокарту (NVENC), а использовать процессор, на котором можно поставить preset лучше по качеству, плюс по определению просчет на процессоре дает качество лучше.

nidalee, вот вот, и у меня вопрос как пустить потом ерез проц на втором ПК? в любом случае нужна карта захвата? Или можно без неё?

nidalee

diagram2.jpg

Tim3, у твитча все написано. Да, карта захвата нужна.
Можно без, но качество хуже.

nidalee, вот вот вот!!
И в этом мой вопрос.. как пустить без карты захвата сразу на проц? Что для этого нужно? Вот у меня на этом моменте как черное пятно )) Можно на примере написать?

nidalee

Tim3, на втором компьютере надо поднять веб-сервер и стримить с первого на второй, второй уже кодирует и отправляет на твитч. По ссылке смотрели?

nidalee, Да смотерл вот как раз с картой захвата и стрим через ивенк все понятно, а теперь еще понятней.

т.е. достаточно поднять nguix и усе? Даже карта захвата не нужна?

nidalee, Ну и еще тогда спрошу вот в данном случае какой проц лучше взять из бюджетных, совсем-совсем бюджетных :)
AMD FX6300 или Intel Core i3-4130?

Удалось собрать мало помалу 2-й комп и встал вопрос: можно ли их подключить для стримов между собой без карты видеозахвата?

Сам как раз вчера смотрел как такое можно сделать и да, можно.
С того что выгуглил вроде как 2 варианта есть.

Щяс думаю какой проц взять лучше AMD FX6300 или Intel Core i3-4130. )

Timitest писал(а): ↑ 09 фев 2019, 21:36 Сам как раз вчера смотрел как такое можно сделать и да, можно.
С того что выгуглил вроде как 2 варианта есть.

Щяс думаю какой проц взять лучше AMD FX6300 или Intel Core i3-4130. )

Timitest писал(а): ↑ 09 фев 2019, 21:36 Сам как раз вчера смотрел как такое можно сделать и да, можно.
С того что выгуглил вроде как 2 варианта есть.

Я пытался настроить NDI Plugin. Так и не получилось. Принимающий комп поток видит, но только в виде чёрного экрана. Что не пытался сделать, так и не смог побороть. Как я понял из-за того, что на моём компе не запускается Потоковая передача мультимедиа.

Возникает вполне логичный вопрос: а зачем это всё? На сколько я знаю, большую часть быстродействия будет отъедать собственно сам захват видео на ПК с игрой. Зачем добавлять ещё одно промежуточное звено в процесс трансляции?

Ну вроде как эта "отъедаемая часть быстродействия" будет меньше, чем если это будет делаться на играемом компе + сведение нескольких слоёв в одну картину (вебка, чат, донаты и прочее), кодирование это в потоковое видео и отправка на стриминговый сервис.

Timitest писал(а): ↑ 09 фев 2019, 21:36 Сам как раз вчера смотрел как такое можно сделать и да, можно.
С того что выгуглил вроде как 2 варианта есть.

Щяс думаю какой проц взять лучше AMD FX6300 или Intel Core i3-4130. )

Имхо как по мне 1 вариант норм, в видео все описанно, да и не сильно тут енглишь нужен чтобы понять. Я как раз как определюсь с железом буду его пробовать.

CTAKAHbI4 писал(а): ↑ 11 фев 2019, 11:43 Возникает вполне логичный вопрос: а зачем это всё? На сколько я знаю, большую часть быстродействия будет отъедать собственно сам захват видео на ПК с игрой. Зачем добавлять ещё одно промежуточное звено в процесс трансляции?

Timitest писал(а): ↑ 09 фев 2019, 21:36 Сам как раз вчера смотрел как такое можно сделать и да, можно.
С того что выгуглил вроде как 2 варианта есть.

Я пытался настроить NDI Plugin. Так и не получилось. Принимающий комп поток видит, но только в виде чёрного экрана. Что не пытался сделать, так и не смог побороть. Как я понял из-за того, что на моём компе не запускается Потоковая передача мультимедиа.

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

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