что такое x264 в обс
Оптимальные настройки OBS для стрима (разные варианты мощности)
Здравствуйте, уважаемые читатели сайта Uspei.com. Пришло время для второй серии «Мамкиного стримера», и сегодня рассмотрим первоначальную настройку OBS. В прошлый раз мы собрали и потестили оптимальное оборудование для стрима в Full HD 60 FPS.
Я постараюсь максимально быстро и информативно рассказать про важные пункты, подобрать оптимальные настройки для разных компьютеров под каждый кодировщик: NVENC, x264, Quick Sync и AVC Encoder для видеокарт AMD.
У некоторых может возникнуть вопрос, почему OBS, а не Xsplit. Во-первых, OBS бесплатна. А во-вторых, менее требовательна к ресурсам ПК. И при одинаковых пресетах OBS будет загружать компьютер намного меньше.
Да, кстати, если в турбо-версии страницы картинки у вас будут сильно размыты, перейдите на оригинальную версию страницы на сайте. Там все изображения в высоком качестве. Давайте уже начнем!
Выбор платформы, поиск ключа потока
Для начала нам потребуется вкладка «Вещание», в которой мы выбираем платформу для стриминга. Можно выбрать Youtube, Twitch, и другие. Для мультитрансляций на несколько платформ можно использовать сервис Restream.io.
У каждого сервиса есть свой уникальный ключ потока, с помощью которого мы подключаем программу для стрима к каналу.
Чтобы его найти для Youtube, заходим в «Творческую студию» и внизу копируем «Ключ трансляции». После чего в OBS вставляем в соответствующую строку.
На Twitch ключ трансляции находится в «Панели управления», подкатегория «Канал». При необходимости его всегда можно сбросить.
Часто бывает, что на выходных серверы перегружены и стрим может подтормаживать. Поэтому предусмотрены дополнительные серверы для приема потока.
У Youtube их всего два. А для Twitch рекомендую подобрать сервер с минимальным пингом. Это можно сделать с помощью сайта Twitch Inspector, на котором можно проверить стабильность тестовой трансляции.
Перейдем к самому главному и интересному пункту настройки – «Вывод». В нем и происходит вся магия, и найти оптимальные значения вам придется на практике самим. Я же дам пару советов, которые помогут создать трансляцию в максимальном качестве при минимальной нагрузке железа.
Стриминг через процессор кодеком x264
Сразу же включаем параметр «Расширенный», чтобы получить доступ к максимуму настроек. Для начала рассмотрим стриминг с помощью процессора через кодек x264.
Оптимальное разрешение для стрима – 1920 на 1080 точек для средних и мощных ПК. Если же у вас слабый ПК или большое разрешение не обязательно, то можно оставить 720p. При меньшем смотреть стрим будет некомфортно.
Настройка битрейтов
Управление битрейтом – рекомендую устанавливать постоянный (CBR). С ним картинка не будет периодически «сыпаться», как это было бы с VBR. Сжатие с помощью ABR позволяет установить минимальное и максимальное значение битрейта, за которые OBS не будет выходить.
Битрейт – это количество информации, которая будет передаваться за единицу времени. Так что именно этот параметр больше всего влияет на качество картинки.
Однако замечу, что битрейт нужно подбирать исходя из вашей скорости интернета и качества трансляции. Учитывать нужно скорость передачи от вас на сервер (картинка speed-теста).
Вот еще одна таблица с форума для стримеров:
Учтите, что эти значения руководствуются критериями качества на youtube. Т.е. эти значения во многом соответствую не игровой тематике, а формату видеороликов, снятых на камеру.
Итого, для стримов на твиче я рекомендую следующий битрейт:
АПДЕЙТ: Твич повысил максимальный битрейт с 3500 до 6000. Так что если у вас мощный комп, можно смело ставить, например, 720 в 60фпс с битрейтом 5к Также важно понимать, что выбор битрейта зависит от конкретной игры. Если вы играете в пиксельную игру вроде Realm of the Mad God, большой битрейт погоды не сделает, т.к. сама игра не блещет графикой. Также высокое качество картинки не важно в статичных играх вроде Hearthstone, где большинство зрителей и так в курсе какая карта что делает.
Регулировка интервала между ключевыми кадрами (например, 8) может улучшить качество картинки и более эффективно использовать выбранный битрейт. Ключевой кадр кодируется полностью, следующий за ним содержит только отличия от ключевого, третий – отличия от второго и так далее до следующего ключевого кадра.
Для не слишком динамичных игр интервал можно повысить, поскольку там картинка кардинально и быстро не меняется. Для динамичных больше одного ключевого кадра в 3 секунды ставить не рекомендую – картинка будет сильно замылена.
Предустановка использования ЦП отвечает за нагрузку процессора и качество картинки. Если процессор мощный, то можно повысить параметр, получив более качественную картинку.
И наоборот, если машина не справляется со стримом и игрой одновременно, то стоит понизить использование ЦП, чтобы видео было плавнее. Рекомендуемое значение для слабых и средних процессоров «Veryfast».
Пункт профиль напрямую зависит от вашего железа. Для более старых комплектующих желательно устанавливать main, для более новых – high. При этом потеря качества будет минимальна.
Настройка стрима через видеокарту и кодек NVENC H.264
Теперь рассмотрим настройки трансляции через NVENC H.264 кодек для видеокарт NVIDIA. Особых отличий здесь нет. Всё та же строчка с битрейтом, пресетами и профилями.
Пресеты здесь уже обозначены по-человечески, и из названия можно понять, как повысить качество картинки и как снизить нагрузку на видеокарту. Однако параметр уровень (чего?) – это уже более точная поднастройка, куда нам, нубам, пока еще лезть рано. Поэтому оставляем его в режиме «авто».
При использовании двухпроходного кодирования качество картинки улучшится, но нагрузка на GPU возрастет. Но это адекватная цена, поэтому ставим галочку.
Если ты мажор и у тебя несколько видеокарт в SLI, то в следующем пункте GPU устанавливай значение «один» для двух видеокарт, значение два – для трех и тд. Если у тебя только одна видеокарта, то оставляй значение «ноль».
Использование B-кадров означает, что данный кадр ссылается на два соседних – предыдущий и следующий. Это ускоряет отрисовку и снижает нагрузку на железо. Оставляем значение в 2.
Стриминг через видеокарты AMD AVC Encoder
Стриминг через видеокарты AMD. Здесь есть тоже свои пресеты, в которых достаточно поменять битрейт на желаемый под ваше разрешение.
Если перейти в режим просмотра «Эксперт», то можно максимально детально настроить кодер под свои нужды. Однако я на этом заострять внимание не буду, так как, во-первых, это растянет обзор на длинную простыню, а во-вторых – мало кто использует видеокарты AMD для стриминга.
Quick Sync
Также есть возможность кодирования трансляции через Quick Sync и встроенного видеоядра в процессоры Intel. Однако качество будет ниже среднего, хоть и снизится основная нагрузка на процессор.
Для включения технологии необходимо зайти в BIOS и изменить пункт мульти-монитора в разделе встроенного видеоядра на Enable. На разных материнских платах название может отличаться. Далее настройка аналогичная как для стриминга через процессор.
Настройки аудио
Следующий пункт – «Аудио». Здесь вы можете подключить несколько аудио устройств для воспроизведения в трансляции, выбрать качество, определить количество каналов, задать задержку включения и выключения микрофона.
Аудио битрейт для стрима должен также отличатся в зависимости от вашего разрешения, иначе звук может лагать. Рекомендую следующие значения аудио битрейта:
При стриминге на низких разрешениях (до 720) можно попробовать и более высокий аудиобитрейт, экспериментируйте.
Дополнительные настройки видео
В разделе «Видео» задается нативное разрешение экрана, выходное разрешение для трансляции и определяется максимальное значение FPS.
Фильтр масштабирования – очень полезная функция. Объясню, чем отличаются методы и какой лучше подобрать под ваш компьютер.
Второй метод – бикубический. Его стримеры используют чаще всего. Оптимальное сочетание нагрузки и качества изображения.
Третий и самый ресурсозатратный метод – Ланцоша. Качество трансляции будет максимальным, как и нагрузка на ПК. Не рекомендую использовать с процессорами слабее Ryzen 5 1400, Intel Сore i5 6400 и видеокартах младше GTX 1060 с 6 GB.
В разделе «Горячих клавиш» можно задать комбинации или отдельные бинды на быстрое включение определенных функции или смены сцен трансляции.
В «Расширенных настройках» советую поставить приоритет процесса на высокий, чтобы фоновые обновления или другой софт не занимали необходимые ресурсы. Цветовой формат, пространство и диапазон лучше не трогать.
Настройка первого стрима
Теперь создадим нашу первую сцену с игрой и нашей веб-камерой. Для начала слева внизу нажимаем на плюс и создаем первую сцену.
Правее находятся источники, которые мы будем постепенно заполнять.
Начнем с добавления игры, которую будем транслировать. Нажимаем в источниках «плюс», выбираем «Захват игры».
В пункте «Режим» ставим «Захват отдельного окна». В будущем при выведении чата на экран это поможет его отобразить на трансляции.
В пункте «Окно» выбираем уже запущенную на фоне игру и нажимаем «ОК».
Далее нам необходимо добавить веб-камеру. В источниках выбираем пункт «Устройства захвата видео» и откроется окно настройки.
Выбираем устройство, выставляем желаемое разрешение и количество FPS для вашей камеры.
В основном окне OBS задаем размер и расположение картинки с веб-камеры. При зажатом ALT можно кадрировать картинку.
Теперь добавим в источники свой микрофон. Там же в плюсике «Источники» выбираем «Захват входного аудиопотока», из выпадающего списка находим микрофон и подтверждаем.
Если сильно фонит и захватывает все посторонние шумы, воспользуйтесь фильтрами и шумоподавлением.
Каждому придется подбирать настройки самостоятельно, поскольку микрофон микрофону рознь. И не забудьте отключить лишние источники аудио, иначе будет неприятное эхо.
Базовые настройки для создания первой трансляции я вам рассказал. В следующий раз я объясню, как подключить донат-систему, отобразить чат и покажу интересные программы для интерактива на ваших стримах.
OBS Studio. Полный гайд по настройкам программы
На данный момент есть две версии OBS:
Для начала работы с OBS скачайте OBS Studio с официального сайта. Скачивание начнется после нажатия на кнопку с Вашей операционной системой. На выбор предоставляется Windows 7, 8, 8.1, 10, mac OS x 10.11+ и Linux. Проверьте название скачиваемого файла и убедитесь, что скачиваете полную версию программы. Установщик должен содержать словосочетание Full-Installer после версии программы. Например, OBS-Studio-22.0.2-Full-Installer.
Главное окно
Открывая OBS, мы видим главное окно, которое состоит из:
Чтобы изменить размер источника, кликните на его название и в превью трансляции появится выделенная красным граница источника. Потяните мышкой за одну из сторон, и вы измените размер.
Кнопки управления источниками и сценами (слева направо):
Основные настройки
Перед запуском онлайн трансляции необходимо настроить программу, выбрать сервер, выставить качество, назначить горячие клавиши и т.д. Для этого нажимаем на «Настройки».
Вкладка «Общие»
Вкладка «Общие» отвечает за язык OBS, тему программы (Acri, Dark, Default, Rachni), общие настройки онлайн трансляции и источников. Пропустим детальный разбор каждой опции, заметим только «Автоматически включать запись во время трансляции». Если вы хотите иметь записи трансляций на физическом носителе, то эта опция будет вам полезна (учтите только то, что это добавит дополнительную нагрузку на ЦП).
Вкладка «Вещание»
В этой вкладке вы можете прикрепить свою трансляцию к платформе, на которой будет она проходить.
Настройка «Тип вещания» предлагает два выбора:
Вкладка «Вывод»
Данная вкладка отвечает за настройку кодирования трансляции и локальную запись. Окно настроек поделено на 2 «Режима вывода»:
Расширенный режим вывода предоставляет больше настроек для трансляции и рекомендуется к использованию. С более детальной настройкой качество изображение на вашей трансляции будет выглядеть лучше.
Разберем более детально два режима вывода, начнем с простого.
Простой режим
Теперь рассмотрим расширенный режим.
«Потоковое вещание» содержит основные настройки кодировщика.
Настройки кодировщика NVENC H.264
Настройки кодировщика NEW NVENC H.264
Настройки кодировщика x264
Настройки для кодировщика QuickSync H.264
Следующий по важности параметр трансляции это битрейт. Для меня с настройкой CBR (постоянный битрейт) оптимальным является 5500. Этот параметр зависит от вашего интернет-провайдера, провайдера трансляций и самой игры. Меняйте, наблюдайте за результатом, выставляйте оптимальный для вашей конфигурации. Кодировщики NVENC и QuickSync требуют больший битрейт, чем программный x264, но выставляя слишком высокий битрейт вы можете ухудшить качество трансляции. В интернете есть обширные статьи по настройке битрейта, но так как я использую только Twitch, Youtube, для оптимального битрейта мне хватает указанного выше показателя.
Настройки для кодировщика H264/AVC Encoder (AMD Advanced Media Framework)
(Статья требует дополнительного описания, если вы знаете и разбираетесь в параметрах H264/AVC Encoder (AMD Advanced Media Framework) свяжитесь с нами через страницу контактов)
«Аудио»
Содержит настройки для отдельных звуковых дорожек если вы используете разные дорожки в микшере.
Включает буфер повтора, нужно настроить горячие клавиши, по нажатию на определённую кнопку запустит повтор выбранного вами отрезка времени, по умолчанию отмотает время на 20 секунд назад и будет повторять этот момент пока не прервёте его горячей клавишей.
Вкладка «Аудио»
Вкладка для настройки аудио устройства для трансляции. Дополнительно можно настроить функцию включать/выключать микрофон по нажатии и функцию push-to-talk (микрофон работает только пока нажата заданная клавиша). Настройки задержки включения и выключения микрофона определяют задержку перед использованием функции в миллисекундах (ms).
Вкладка «Видео»
Вкладка для настройки разрешения вашей трансляции. По умолчанию соотношение сторон выбрано равное соотношениям сторон для мониторов 16:9 это 1280х720, 1680х1050, 1920х1080 и т.д. Лучше отталкиваться от принятых к стандарту разрешений, если у вас монитор 16:10 или более широкий, ориентируйтесь на стандартные разрешения и старайтесь транслировать в 16:9 иначе зрители будут наблюдать чёрные полосы на трансляции снизу, либо вам придётся пожертвовать и обрезать изображение с боков.
Чтобы не нагружать процессор ещё сильнее, лучше не использовать масштабирование и выставлять одинаковое значение в опциях «Базовое разрешение» и «Выходное разрешение».
Вкладка «Горячие клавиши»
Вкладка настройки горячих клавиш для управления трансляцией, настройка функций включить/отключить звук, включить/выключить звук по нажатии. Можно задать горячие клавиши для запуска, остановки трансляции, начала и остановки записи и т.д.
Вкладка «Расширенные»
Вкладка для дополнительных настроек программы. Если вы плохо разбираетесь в программе, то вас заинтересует параметр «Приоритет процесса», формат имени файла записи и задержка потока. Остальные параметры лучше оставить без изменений, и менять только в том случае, если вы знаете, что они означают и это изменение улучшит качество вашей трансляции.
Что такое x264 в обс
Подробная настройка стрима в OBS
По всей видимости, статья получится большая, так что устраивайтесь поудобнее. Мы рассмотрим все стадии и аспекты стриминга, начиная от работы на самой простой «средненькой» станции и до обмазывания стрим ПК, пантографом и хромакеем. Вообще это был увлекательный путь: стриминг на процессоре, стриминг через видеокарту, потом стриминг с двух видеокарт (sic! расскажу подробно) и, в итоге, сборка стрим ПК.
Сегодня я расскажу про стрим с одного ПК. Если статья зайдет — продолжим и про конфиг с двумя машинами. Ну, поехали.
У многих игроков время от времени возникает желание начать самим стримить что-либо. Кто-то очень хорош в игре, кому-то хочется пообщаться с чатом. Я вот из последних. Началось все полтора года назад, осенью 2018 года, когда я решил для собственной коммуночки постримить Stellaris и попутно пообщаться, благо многие люди из моей закрытой конференции проявляли интерес к этой игре. На тот момент я как полгода пересобрал свой ПК и был им достаточно горд. Давайте посмотрим на конфигурацию:
Сразу скажу, что эта конфигурация для стримов сейчас слабовата.
В 2018 году все стримили на процессорах через x264 и были более-менее счастливы. Мой камень под требования к стримингу того времени подходил как нельзя лучше. Первый стрим прошел сразу в 1080р на veryfast пресете OBS и тогда же от меня потребовали веб-камеру. Стоила она мне примерно 2000 рублей и это были первые траты в череде бесконечных расходов на стриминг. Но сейчас не об этом. Поговорим о настройках OBS, потому что мне до сих пор приходится копаться в недрах интернета, чтобы выудить хоть какую-нибудь информацию.
Бесконечная борьба с OBS и как правильно настроить эту программу
Сейчас в OBS есть два основных типа кодировщиков: классический x264 и NVENC (new), выпущенный +\- год назад совместно с командой NVIDIA. Начнем с азов.
Кодировщик x264 работает за счет ресурсов центрального процессора, причем любого производителя, будь то Intel или AMD. Для персональных компьютеров до недавнего времени были доступны пресеты кодирования не ниже Medium:
Предустановки использования CPU программой OBS RageQuit
Теперь давайте проясним раз и навсегда, что значит «(выше = меньше)» на скрине выше. Чем быстрее использование CPU, тем меньшую нагрузку он испытывает при рендере кадра. То есть условный ultrafast запустится почти на чем угодно, но так как ресурсов на рендер было затрачено минимально, то и качество картинки будет соответствующее. Хорошая картинка с минимумом артефактов получается на пресетах Medium и Slow — это пороговые значения для современных персональных компьютеров. Для рендера в Slow вам понадобится, по моим прикидкам, Ryzen 3900X и самая быстрая память к нему, но не факт, что он вытянет 1080р качество. Для стрима в Slower-Placebo нужен полноценный сервер с Threadripper или топовым Xeon, возможно, с двумя такими процессорами. Так что Medium — наш психологический порог.
При этом нужно понимать, что при рендере в Medium в качестве даже 720р потребление вашего CPU из линейки i7-8xxx и выше (или Ryzen 5-7 2xxx) составит не менее 40-45% с высоким приоритетом самого OBS. Любое другое приложение, например, CPU-зависимая игра вида CS:GO, получит либо просадки FPS, либо вызовет потерю кадров при рендеринге в OBS. Но есть и игры, где основную нагрузку испытывает только видеокарта, так что для каждой из них значение этого пресета надо подбирать отдельно.
Битрейт
Теперь поговорим о битрейте.
Вики говорит: Битре́йт (от англ. bitrate) — количество бит, используемых для передачи/обработки данных в единицу времени. Битрейт принято использовать при измерении эффективной скорости передачи потока данных по каналу, то есть минимального размера канала, который сможет пропустить этот поток без задержек.
Но в нашем случае битрейт — это степень сжатия потока. Причем степень эта обратнопропорциональна качеству. Чем ниже битрейт, тем больше сжатие и тем больше потери качества на выходе.
Сейчас пороговые значения Twitch по битрейту для не-партнеров (то есть для ребят без галочки и онлайна 100+) составляют 6000 kbps, а для партнеров — 8000 kbps. На ютубе этот параметр повыше и, вроде как, составляет 8000-10000 kbps для кого угодно.
Битрейт крайне важен, потому что он наравне с пресетом кодировщика определяет качество картинки, которую вы отправляете на стрим. Чем выше битрейт — тем лучше.
Для примера: картинка в пресете Medium с битрейтом 1500 будет намного хуже, чем картинка в Fast с битрейтом 6000, хотя вроде как, мы кодируем с большей нагрузкой на CPU. При этом параметр битрейта дает свою нагрузку на кодировщик, то есть это еще одна обуза для процессора. Таким образом, при подборе параметров кодировки вам нужно найти оптимальный пресет для максимального битрейта выбранной вами площадки.
Панель настроек кодировщика в OBS
При этом выставлять максимальный битрейт, то есть 20000 вместо 6000 бесполезно: на сервера Твича пролезет только 6000, все остальное канет в Лету. Задирать битрейт имеет смысл только при записи VOD-ов или других видео со своего ПК.
В параметр «Управление битрейтом» лучше не лезть. Достаточно знать, что CBR — это значение постоянного битрейта и все площадки дают характеристики своих серверов именно в CBR. Другие виды битрейта стоит изучать, если вы занимаетесь видеопродакшеном, но, в таком случае, вы должны знать в этой теме намного больше меня. А я тут про стриминг рассказываю.
Что такое «Профиль»
Прифили транскодинга OBS
Интуитивно понятно, что лучше использовать параметр «High», но что это значит?
В «Baseline» поддерживается только ограниченное подмножество методов транскодирования, что проще для процессора и требует меньше вычислительной мощности. Следовательно, этот профиль подходит для маломощных устройств или для процессоров с низким энергопотреблением и т.д. и т.п.
Профиль «Main» поддерживает большинство методов транскодинга x264, так что и жрет он больше памяти и вычислительных мощностей процессора. Основной профиль обычно используется средними или специальными устройствами, типа ТВ-приставок и т.п.
А вот профиль «High» поддерживает практически все методы транскодирования x264. Он предназначен для создания HD (720p) и FullHD (1080р) потоков или записей, а также для вещания уровня Blueray и HD Satellite. Именно профиль «High» обычно поддерживается программными декодерами, к которым относится OBS.
Так что если собираетесь стримить в хорошем качестве — выбираем «High».
«Настройка»
Ну и последний, но самый коварный параметр кодировщика x264 — «Настройка». В нем спрятаны те параметры x264, которые не вошли в тройку «Baseline», «Main» и «High».
И тут мы сталкиваемся с мистификацией уровня «Ежик ест яблоки и добрый», хотя на самом деле это жестокий всеядный хищник, который устроит мышам, змеям и другим гадам на вашем участке форменный Вьетнам с гуками и волчьими ямами.
ВО ВСЕХ «МАНУАЛАХ» СОВЕТУЮТ ДЛЯ СТРИМОВ ИСПОЛЬЗОВАТЬ ПАРАМЕТР «Zerolatency» или «Fastdecode». И ЭТО ОШИБКА.
Но что на самом деле они делают, если задуматься? Они оба ограничивают время, которое процессор может рендерить кадр и потом сжимать его для передачи на сервер. А что получается при спешке? Правильно, более простые алгоритмы сжатия и кодирования, что приводит к шакализации изображения на ровном месте.
Вообще, все параметры из «настройки» — скорее про запись видео, чем про стриминг. Поэтому самым правильным является следующая модель поведения: ничего не трогать и оставить это поле пустым. Именно без каких-либо настроек вы получите наиболее чистую картинку.
Стрим в 1080р не всегда хорошо
Из информации выше можно сделать простой вывод: стрим в 1080р не всегда будет выглядеть лучше, чем стрим в 720р.
В настройках OBS есть прекрасная вкладка «Видео», в которой вы выставляете, с какого разрешения вы забираете картинку с экрана и в каком разрешении получите результат вашего транскодирования. Стрим в 1080р — это серьезная нагрузка на CPU, да и в фуллскрине стримы смотрят нечасто. Так что лучшим выбором является либо HD-качество 720р, либо промежуточное 900р.
С фильтром масштабирования все просто: лучший — Метод Ланцоша с 36 выборками. Все остальные будут квадратить изображение в той или иной степени.
Внимательный пользователь заметит, что в настройках OBS нет качества 900р, идет 720, потом 864р и потом сразу 1080р.
А тут есть лайфхацк
На самом деле это поле можно заполнять вручную и указать любое значение, хоть 920р, хоть 777р, главное соблюдать соотношение сторон 16:9, чтобы вашу картинку не растянуло в рандомном направлении:
Стрим менее, чем в 60 FPS в 2020 году — моветон. И, как можно догадаться, высокие значения FPS дают дополнительную нагрузку на процессор. Конечно, некоторые новички настраивают стрим так, что у них идет картинка в 1080p на быстром пресете в 30 FPS, но смотреть это невозможно — нет плавности. Хотя их оборудование позволяет стримить в 720р и 60 FPS с Ланцошем 36. Тут опять надо экспериментировать, так что рекомендую завести фейковый канал и отсматривать, что происходит на экране при тех или иных настройках.
Его величество NVENC
NVENC — это одновременно и кодировщик, и чип на видеокарте NVIDIA. Но не надо путать его с графическим процессором и CUDA-ядрами. NVENC-чип — это отдельная приблуда на текстолите, у которой есть только одна задача. И эта задача — рендеринг.
То есть, покупая современную видеокарту от NVIDIA в комплекте с ней идет и встроенный кодировщик, а с выпуском нового кодека NVENC (new), он еще стал и лучше работать.
Прячется кодировщик вот тут
Зачем нужен был новый NVENC и почему он появился около года назад? Ответ прост: серия RTX.
Серия видеокарт RTX от NVIDIA стали оснащаться чипами NVENC нового поколения, лучше, чем на серии GTX 1xxx. Причем по заверениям производителя, чипы NVENC на всех карточках RTX одинаковы, как на 2060, так и на 2080 Ti Trio.
Вопрос в том, что при всей крутости NVENC, он все равно обращается к CUDA-ядрам видеокарты, но отбор мощности, на самом деле, невелик. Для моей GTX 1060 Xtreme стрим в 720р с ланцошем 36 и битрейтом 5500 создавал нагрузку в 9-11% от всей мощности видеокарты.
На серии RTX чипы NVENC намного мощнее. Фактически, RTX 2080 Ti Trio 11 Gb способна выдавать 1080p стрим в 8000 kbps битрейте на максимальных пресетах видеокарты, что будет очень близко к качеству картинки через процессор на пресете Medium. При этом карта толком этого не почувствует.
При всей самодостаточности NVENC, у него есть несколько слабых мест:
В случае одновременной отрисовки на мониторе, и рендере на NVENC динамических сцен, приоритет, ожидаемо, отдается монитору, так что даже на 2080 Ti картинка в слишком быстрых моментах или при взрывах может начать сыпаться;
специальный параметр «предугадывание», который создает дополнительные бета-кадры, с высокодинамичными сценами не работает, о чем втихаря заявляют и сами разрабы карточки.
В остальном настройки NVENC даже проще, чем у х264:
Только в случае с NVENC разработчики не стали дразнить пользователей и пресет «Макс. качество» доступен любому владельцу более-менее мощной видеокарты, начиная где-то с GTX 1050 и выше. Дальше все зависит исключительно от нагрузки на саму видеокарту.
Про B-кадры отдельно расписывать не буду, их лучше вообще не трогать и оставить настройку автоматической. О типах кадров можно почитать вот тут.
С 1080р и вкладкой «видео» у NVENC примерно такие же отношения, как и у х264. При этом стриминг через карту намного комфортнее и проще. Так что если хотите хорошего качества — берите RTX 2080 Ti Trio 11 Gb и закрывайте этот гайд.
А теперь начинается мякотка.
Приоритет OBS, скорость захвата игры и игровой режим в Windows
В этой подглаве я объединил три популярные проблемы.
Многие, в том числе и я, сталкивался с лаганием стрима, когда с игрой все хорошо. Очень часто в этом виноват недостаточный приоритет процесса OBS, ведь ему надо работать без перебоев в режиме реального времени.
Один из вариантов — повысить приоритет процесса в настройках самого OBS до «высокий». И чаще всего это решает большинство проблем с ресурсовыделением:
Но есть в Windows еще и подводный камень, который должен помогать геймерам, но подбрасывает головную боль. Прячется ОНО вот тут:
Что это такое и чем оно не угодило стримерам? По факту, игровой режим — это полицай, который винтит все процессы кроме процесса запущенной прямо сейчас игры на переднем плане. То есть, когда OBS пытается отобрать хоть сколько-нибудь пусть и простаивающих мощностей, игровой режим начинает ограничивать его. В некоторых случаях эта скотина и вовсе резервирует чуть ли не 99% видеокарты под игру, нагло показывая фиги всем остальным.
Отключение игрового режима выгоняет этого поехавшего из хаты и позволяет OBS спокойно работать. И тут уже все зависит от ваших настроек и конфигурации ПК, будет ли OBS и игра жить вместе, либо нет.
В некоторых случаях рекомендуется вручную внести в Windows высокую производительность графики в OBS, если вы стримите через NVENC:
Еще один момент — параметр скорости захвата изображения самим OBS. Прячется в настройках захвата в сцене:
Эту настройку вообще не рекомендуется трогать, если у вас нет проблем с производительностью. Мне же пришлось с ней познакомиться, так как я стримил крайне прожорливый Apex Legends. Смена скорости захвата на «Быстрейшая» позволила избавиться от лагов на стриме, но немного ухудшила качество картинки.
Если у вас есть такие же проблемы, то есть стрим дергается — советую обратиться к этому параметру.
Далее расскажу еще пару лайфхацков для начинающего стримера.
Как пускать музыку на стрим и самому ее не слышать
А теперь плавно перекатываемся к теме звука. OBS позволяет подключать множество источников медиа к себе, в том числе определенные устройства воспроизведения звука.
Многие хотят, чтобы зрители в фоне слушали музычку, когда на стриме ничего не происходит или стример молчит, но самому автору эта музыка может мешать.
Большинство туториалов и гайдов сводятся к тому, что вам потребуется звуковая карта или voicemeter Banana — ПО, чтобы разобраться в котором надо быть Илоном Маском. Во всяком случае, я не разобрался.
На самом деле со музыкой есть крайне простое и элегантное решение. Нам потребуется:
Дальше все до смешного просто.
Устанавливаем Virtual audio cable и монтируем его в систему. Включаем виртуальный кабель в аудиоустройствах. Выглядит это так:
Вот так должно получиться
А теперь следите за руками. AIMP — очень олдовый плеер и в отличие от зуммерских прилаг с одной кнопкой, там под капотом скрыт целый мир. Например, AIMP умеет выводит звук на конкретное устройство системы, то есть имеет собственный конфигуратор устройств.
Видите все мои устройства уже в AIMP? Тут есть и Line 1 нашего виртуального кабеля. А дальше все элементарно. Пускаем звук из AIMP на этот кабель, а сам Line 1 добавляем как звуковое устройство в OBS:
Вот и все. Вы великолепны. Звук идет по виртуальному кабелю прямиком из AIMP в OBS мимо ваших наушников. При этом сам AIMP — это целый кухонный комбайн. Он умеет выгружать название трека и артиста в файл, который можно потом забирать в OBS в полоску «сейчас играет», и даже подключить в него плейлист из Яндекс.Музыки и, вполне возможно, из Spotify (но я пробовал только с Яндексом), который можно будет слушать онлайн.
Если захотите, могу написать про AIMP и стриминг отдельный туториал, но вот фишка с виртуальным кабелем — основная. И что самое важное, тут соблюден принцип бритвы Оккама: самое простое решение самое правильное. Никаких микшеров и плясок с бубном. Две элементарные софтины и три клика мышкой, справится даже моя мама, если ей подробно объяснить.
Мониторы разных герцовок и просадки FPS
Рано или поздно стример покупает себе второй монитор, чтобы мониторить OBS и не читать чат с мобилки. Чаще всего вторым монитором становится старый на 60 Hz, а на замену ему покупается новенький на 144, 165 или 240 Hz.
И вот тут начинается гребаная мистика.
Сперва драйвер NVIDIA очень любит играть в строительство коммунизма и принудительно сбрасывает герцовку на «общую», то есть на 60 Hz. Тут нам поможет создание кастомного разрешения с нужной герцовкой для нового монитора в панели управления NVIDIA:
Внутри создаем пользовательское разрешение с нужной частотой и применяем к нужному монитору.
Если у вас есть встроенное видео от CPU, то можно перебросить второй монитор на 60 Hz на него, но тут будьте аккуратнее: на работу этого экрана вы задействуете ресурсы CPU, что может повлиять на стриминг в x264.
Второй прикол с системой из разных герцовок: странное поведение OBS, точнее его странное влияние на второй монитор. Некоторые пользователи с разногерцовыми экранами, в том числе и я, сталкивались с тем, что если OBS находится на втором экране 60 Hz, то в игре на первом экране тоже становится 60 Hz. Причины такого поведения — это как вопрос об НЛО, то есть никто точно не знает, что происходит. Единственный фикс, который я нашел в сети и который реально работает — перенести OBS на экран с наибольшей герцовкой, то есть под игру. Тогда никаких просадок не будет.
Второй вариант для буржуев: иметь мониторы с одинаковой герцовкой, тогда OBS работает корректно.
Стрим с двух видеокарт
Если вы в какой-то момент решили обновить свою видеокарту на модель поновее, но ограничены в деньгах и не можете позволить себе RTX 2080 Ti и у вас игровая мать с двумя PCI-e, не спешите выбрасывать старую карточку.
Так получилось, что я обновил свой ПК и купил RTX 2060 Super, но для стрима Apex Legends и одновременной комфортной игре в 144 FPS речи не шло. Так что я пошел извращенным путем и научил OBS жрать ресурсы старой GTX 1060, которую я оставил во втором порте PCI-e.
Сразу говорю, что кейс странный и работает не на 100%, но позволяет снизить нагрузку с основной карты примерно вдвое.
В настройках панели NVIDIA можно задать приоритеты использования CUDA-ядер и устройств для рендеринга в отдельных приложениях. Точно так же, при использовании кодировщика NVENC в OBS можно указать, какую карточку использовать. Значение 0 — первый (верхний) слот, значение 1 — второй (нижний слот) PCI-e.
Да, сразу две карточки разных моделей не могут работать вместе над одним процессом, но они связаны между собой платформой и могут работать над разными процессами, а настройки OBS позволяют выполнить подобное подключение. Так что если вам важен перфоманс системы в играх и есть «лишняя» видеокарта — то это ваш выбор. Фактически, на вторую карту будет переложен весь энкодинг, то есть упаковка картинки, которую будет отдавать ей основная карта, на которой крутится игра, через захват экрана OBS. Это, скажем так, промежуточное решение между стримом на одной видеокарте и полноценным стрим ПК.
Что нужно знать о хромакее
Первое — хромакей это прикольно. Второе — это просто. Третье — это дешево.
Ну, вообще как бы профессиональный хромакей стоит, как маленький паровозик, но при наличии шуруповерта, четырех палок и магазина тканей можно уложиться где-то в 1400-1800 рублей с учетом проезда. Как скрутить хромач в домашних условиях можно нагуглить в сети, там просто рама с упорными уголками и натянутая сложенная в несколько раз зеленая матовая ткань.
А вот с технической точки зрения тут все немного интереснее.
Первое — для хромача подойдет любая HD-вебкамера, то есть буквально любая, что есть сейчас на рынке. Моя вебка Logitech c270 имеет матрицу 1,3 Мп, но отлично справляется. Так что забейте болт на «стримерские» вебкамеры за 100500 рублей, хотя они дают картинку чуть лучше, но своих денег не стоят. Для хромакея намного важнее свет.
Вот со светом все плохо. Если освещенность полотна недостаточна, то вы не сможете выставить цветовой ключ правильно, то есть где-то что-то будет рябить. Я советую использовать два источника света для хромакея: настольную лампу, которая будет светить в стену перед лицом и давать рассеянный свет на вас и хромач, и строительный софит на 15-20 Вт, который вы поставите прямо под хромакеем, у себя за спиной. Также потребуются темные шторы или стримы в ночное время, потому что солнечный свет — злейший враг хромача.
Если вы работаете с Adobe Premier или Sony Vegas и сейчас криво ухмыльнулись, то у меня есть для вас новости: OBS в плане хромача намного приятнее этих программ. Графические редакторы от Sony или Adobe требуют почти идеально ровной поверхности и света, иначе начинают «фонить». Но при этом дают очень хорошую замену фона.
OBS же — программа для работяг. Ему для создания фона хромакея (то есть чтобы убрать его) достаточно кое-какого света, чтобы хромач в целом попадал в полтора-два тона. Потом на глаз выбирается цвет основы и все, вы великолепны и висите в воздухе.