Настройка кодировщика NVENC в OBS для трансляции на Twitch. Стриминга видеокартой Nvidia GeForce GTX или RTX.

Привет! Мы «Съели собаку» на настройке кодировщика NVENC в OBS и хотим поделиться своим, самым удачным пресетом настроек кодировщика потокового видео.

Настройки кодировщика будут оптимизированы для стриминговой платформы Твич. Стримить можно как при помощи StreamLabs OBS, так и OBS Studio, это по сути одно и тоже.

Тестируем канал с помощью Twitch Bandwidth Test

Для начала рекомендую скачать утилиту Twitch Bandwidth Test и протестировать пропускную способность вашего интернет-канала, а также выбрать наиболее удачный сервер для стрима на него. Для этого вам понадобиться «Основной ключ трансляции», найти его можно в настройках вашего профиля на Твитче в разделе «Канал и видеоматериалы».

1. Далее его необходимо скопировать и вставить основной ключ трансляции в Twitch Bandwidth Test.

2. Затем нужно выбрать интересующий вас регион, в котором расположены серверы, в нашем случае это «Europe» и нажать кнопку «Start».

3. После окончания теста пропускной способности до серверов Твитча, можно понять, какой сервер для стрима лучше принудительно указать в настройках OBS. В нашем случае это «Poland, Warsaw» и «Austria, Vienna», так как пропускная способность до серверов 10Мб/с+ и пинг до них минимальный. Запоминаем подходящие серверы и едем дальше.

Переходим к настройке OBS

1. Запускаем StreamLabs OBS (SLOBS) или OBS Studio (OBS) и идём в настройки. В SLOBS нас будет интересовать пункт «Трансляция», а в OBS — «Вещание».

2. Выставляем наилучший сервер, сохраняем и переходим к вкладке «Вывод» и настраиваем кодировщик NVENC.

  • Режим вывода: Расширенный
  • Кодировщик: Nvidia NVENC H.264 (new)
  • Галочку НЕ ставить => Принудительно использовать настройки кодировщика потоковой службы
  • Управление битрейтом: CBR
  • Битрейт: 8000 Kbps
  • Интервал ключевых кадров (сек): 2
  • Пресет: Макс. качество
  • Profile: High
  • Галочку НЕ ставить => Предугадывание
  • Галочку СТАВИТЬ => Психовизуальная корректировка
  • GPU: 0
  • Макс. кол-во B-кадров: 4

Далее переходи во вкладку «Видео» и настраиваем всё как ниже.

  • Базовое (основа) разрешение: 1920×1080
  • Выходное (масштабированное) разрешение: 1280×720
  • Фильтр масштабирования: Метод Ланцоша (Чёткое масштабирование, 32 или 36 выборок)
  • Общие значения FPS: 60

На этом основная настройка кодировщика NVENC, в нашем случае NVENC (new) завершена и вы можете свободно стримить на Твитч с битрейтом в 8000 с очень приличным качеством, не будучи при этом Twitch Partner. Любой, даже новичок на Твитче может использовать этот битрейт, если ему позволяет скорость собственного подключения к Интернет.

Для кого подойдут данные настройки кодировщика?

Данные настройки кодировщика NVENC (new), подойдут владельцам видеокарт серий GTX и RTX, на обоих поколениях карт, при использовании кодировщика NVENC (new) картинка заметно лучше и меньше «разваливается на пиксели» ем при использовании старого кодировщика NVENC в играх с очень динамичным контентом, например в Escape From Tarkov и других шутерах.

За потоковое кодирование в GPU от Nvidia отвечает отдельный чип, который минимизирует нагрузку на железо и практически «не режет FPS», в отличии от софтового кодировщика x264, который использует центральный процессор для кодирования потокового видео.

В данном случае, выходное разрешение масштабируется до 720p, что в совокупности с битрейтом 8000 даёт очень приличное качество картинки на выходе. Если вы стримите не слишком динамичные игры, тогда ты можешь получить очень качественное изображение на выходном разрешении в 900p (1600×900) или даже в 1080p (1920×1080).

Во вкладке «Видео» вместо в параметре «Выходное (масштабированное) разрешение» нужно установить вручную 1600×900 или 1920×1080.

  • Выходное (масштабированное) разрешение: 1600×900
  • Фильтр масштабирования: Метод Ланцоша (Чёткое масштабирование, 32 или 36 выборок)

или

  • Выходное (масштабированное) разрешение: 1920×1080
  • Фильтр масштабирования: Бикубический (чёткое масштабирование, 16 выборок)

Также при таком пресете, можно получить отличное качество картинки на разрешениях 900p и 1080p и в высоко динамичных играх, но в которых отсутствует, либо минимизировано количество мелких элементов на локациях, текстурах: трава, деревья, дождь, снег и прочие мелкие частицы, каждая из которых требует обработки кодировщиком и в итоге перегружают битрейт, в связи с чем появляются «кубики», «блоки» или «пиксели» которые искажают и замыливают изображение (обычно при резком изменении плана изображения, например при беге с резкими поворотами по траве в лесу).

Вывод

В качестве вывода можно смело заявить, что данный пресет является отличной альтернативой хорошо настроенному кодировщику x264 с пресетом veryfast и профилем high (с настройкой доп. параметров кодировщика x264) и лишь немного уступает ему в качестве кодирования высоко динамичного контента с большим количеством мелких частиц, но значительно экономит ресурсы и производительность ПК, что в итоге крайне положительно сказывается на FPS.

Для сравнения можете попробовать настроить себе в OBS кодировщик x264 с пресетом veryfast, профилем high и одной из приведенных ниже строк с дополнительными параметрами кодировщика x264.

Первый вариант

Проще, но легче для ЦП. Первый вариант подойдёт владельцам процессоров уровня Intel Core i7-4790k с 4-ю ядрами и 8-ю потоками с тактовой частотой не ниже 4 Ghz (с включенным Hyper Treading)

  • Кодировщик: x264
  • Галочку НЕ ставить => Принудительно использовать настройки кодировщика потоковой службы
  • Управление битрейтом: CBR
  • Битрейт: 8000 Kbps
  • Галочку НЕ ставить => Использовать пользовательский размер буфера
  • Интервал ключевых кадров (сек): 2
  • Предустановка использования ЦП: veryfast
  • Профиль: high
  • Настройка: (Нет)
  • Настройки x264 (разделённые пробелом): partitions=all direct=auto aq-mode=2 aq-strength=0.9 ipratio=1.1 rc_lookahead=60 fast_pskip=0 bframes=1 b_pyramid=0 b_adapt=2 weightp=2 deadzone-inter=4 deadzone-intra=2 qpstep=8 subme=1

Второй вариант

Качественнее, но тяжелее для ЦП. Второй вариант подойдёт владельцам процессоров уровня Intel Core i7-6800k или Intel Core i7-8700k с 6-ю ядрами и 12-ю потоками с тактовой частотой не ниже 4.3 Ghz (с включенным Hyper Treading)

  • Кодировщик: x264
  • Галочку НЕ ставить => Принудительно использовать настройки кодировщика потоковой службы
  • Управление битрейтом: CBR
  • Битрейт: 8000 Kbps
  • Галочку НЕ ставить => Использовать пользовательский размер буфера
  • Интервал ключевых кадров (сек): 2
  • Предустановка использования ЦП: veryfast
  • Профиль: high
  • Настройка: (Нет)
  • Настройки x264 (разделённые пробелом): partitions=all direct=auto aq-mode=2 aq-strength=0.9 ipratio=1.1 rc_lookahead=120 fast_pskip=0 bframes=2 b_pyramid=0 b_adapt=2 weightp=2 deadzone-inter=4 deadzone-intra=2 qpstep=8 subme=6 deblock=-1:-1 psy_rd=1.1:0.15 trellis=2

Чтобы проверить качество выходного видео из кодировщика, достаточно запустить запись в локальный файл без транслирования на стриминговую платформу. Для этого в настройках OBS во вкладке «Вывод» => «Запись» нужно выставить «Кодировщик» в параметр «Использовать кодировщик потока» и «Формат записи» в «flv». Затем можно начинать запись находясь, к примеру в игре.

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

Если у вас возникли вопросы или замечания, пожалуйста оставте свой комментарий ниже. До связи!