Софт
Вы читаете
Заметки по стримингу
1

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

Open Broadcaster Software (OBS):
Бесплатная, с открытым кодом, кроссплатформенная(с оговорками), программа для стриминга видео. Поддерживает плагины, широко используется.

https://obsproject.com/ — берется тут. Есть 2 версии. Обычная виндовая и кроссплатформенная. Я использую обычную, разница в том, что кроссплатформенную начали пилить заметно позже и на данный момент она не столь доработанная. Я использую 64 битную версию программы, чего и вам советую.

https://github.com/jp9000/OBS — вот тут есть гитхаб с исходником, который я думаю никому из вас не понадобится, но факт что он есть.

Запускать программу стоит от имени администратора. Она может стримить и без этого, но если какая-то вредная игра не захочет отдавать картинку, то это одно из возможных решений проблемы. Чтобы с ними не сталкиваться, я всегда запускаю ее именно в таком режиме.

По настройкам.

В разделе кодирование — ставим 3000 битрейт видео. больше — могут не справляться сайты вроде твича и мобильные устройства. Если ставить меньше, будет более мыльная картинка. Настройка дискуссионная, каждый настраивает как считает нужным. Для записи видео с последующей обработкой я ставлю 8000 к примеру.
Здесь же ставим галку на CBR (постоянный битрейт). Это требование стрим сервисов.
Настройки аудио, битрейт у меня стоит 128, по умолчанию стоит повыше, но уменьшил по совету. Разницы не замечаю.
На этой же вкладке есть переключатель x264 и Nvidia NVENC (у меня видеокарта от Nvidia). Первая настройка есть у всех — это кодирование на процессоре. Именно ее я и использую в тех играх, которые нормально у меня работают (фпс выше 20, при стриминге нет потерь кадров). Она дает более четкую картинку, но использует больше ресурсов процессора. Кодирование на видеокарте более мыльное, но при этом процессор не задействуется, а именно он часто бывает узким местом при стриминге.

Теперь вкладка видео. Нужно для себя понять, что есть 3 разных разрешения:

  1. Размер того что вы стримите
  2. Базовое разрешение
  3. Масштабированное разрешение.

В общем случае мы получаем картинку с разрешением 1, кладем ее на сцену с разрешением 2 и если нужно — масштабируем ее до разрешения 3.
Вот на этой вкладке у нас указывается базовое разрешение и масштабирование. Лично я сейчас использую базовое разрешение 1600х900, масштабирование не использую. Для того чтобы просто попробовать и понять, тянет ли комп стриминг, стоит начать с базового разрешения 1280х720.

Вторая важная настройка здесь — частота кадров. У меня сейчас стоит 30 фпс, но если стримить динамические игры (например шутеры), стоит ее поднять до 60 кадров. Картинка будет плавнее но более мыльная. Дело в том что у нас есть битрейт видео. Он ограничивает видеопоток, чтобы тот успевал передаваться и декодироваться на устройствах зрителей. И в итоге на тот же объем информации нам надо закодировать вдвое больше картинок. Есть еще вариант использовать промежуточные параметры частоты кадров вроде 40-45-50. Это будет нормально работать при стриминге, мыла будет поменьше, картинка плавнее. Но я боюсь косяков, которые могут возникнуть, если мне вдруг придет в голову использовать запись стрима при монтаже ролика в каком-нибудь редакторе видео. Как минимум одно дополнительное перекодирование при склейке видео с разной частотой кадров обеспечено, потому что большинство доступного видео — 30 fps.

Вкладка расширенные:

Раздел видео.
Предустановка x264 CPU: veryfast — эту настройку я специально не тестировал, поставил по совету. Все довольно просто, чем медленнее мы кодируем, тем качественнее картинка, но при этом больше загруженность процессора.
Профиль кодирования: high — по умолчанию стоит main, причем стримерские сервисы также советуют ставить Main. High дает менее мыльную картинку, потому что снижает требования к скорости декодирования. Вопрос что ставить — дискуссионный. Я сторонник того, чтобы дать картинку лучше для меньшей аудитории, чем давать мыло которое будет работать у всех.

интервал ключевых кадров — 2 секунды. Это требование видеосервисов.
CFR (постоянная частота кадров) — галочка стоит. Тоже требование видеосервисов.
Дополнительные настройки кодировщика x264 — галка стоит, в поле:

aq-mode=3

Поставлено по совету, специально тесты не проводил, aq — Adaptive Quantization — адаптивная квантизация. Конкретно 3 режим борется с такой штукой как бандинг пример. На бандинг накладываются артефакты от сжатия видео (квадратики), которые делают картинку еще хуже с настройками по-умолчанию.

Настройки отвечающие за трансляцию смотрите в следующем посте.

Теперь настраиваем основной экран программы.

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

Далее чуть правее добавляем источник. Для трансляции игры нас интересует один из трех вариантов:

  1. Игра
  2. Окно
  3. Рабочий стол

Причем пробовать их стоит именно в таком порядке. Наиболее предпочтительно использовать режим игра, потому что он меньше всего нагружает машину, он забирает картинки используя directx или opengl интерфейс. Режим окно забирает картинку через интерфейс винды и некоторые игры он тупо не видит, с другой стороны видит некоторые другие, которые не смог захватить режим «игра». Если оба варианта не сработали, то можно использовать вариант с рабочим столом, он точно будет работать, но производительность у него самая низкая, да и появляются дополнительные неудобства вроде того, что надо помнить о стриме, когда что-то гуглишь в процессе игры в браузере или отвечаешь в скайпе.

В общем-то именно в obs больше настраивать ничего не нужно. Теперь нужно переключиться в игру и выставить у нее оконный режим и более-менее подходящее разрешение. Два наиболее удобных 1600х900 и 1280х720. После этого переключаемся в obs и нажимаем кнопку предпросмотр. В окошке мы должны увидеть изображение игры. Если оно не появилось — еще раз переключаемся в игру и обратно. Если все равно не появилось — начинаем танцевать с бубном. Пробуем разные режимы описанные выше. Проверяем, запущена obs от администратора или нет.

Первая реакция
Отлично
0%
Интересно
0%
Ну хз...
0%
Что?
0%
Злость
0%
Грусть
0%
Об авторе
Usernm
Usernm
1 Комментариев

Вам нужно войти чтобы оставить комментарий