619 подписчиков

NVENC H.264 в OBS Studio: Полное руководство для стрима на Twitch

4,3K прочитали

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.264 в OBS (Open Broadcaster Software) для получения максимального качества картинки во время проведения трансляции на Twitch.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.

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

Доверьте нам настройку трансляции и освободите свое время для создания качественного контента. Мы подберем оптимальные настройки OBS Studio, подключим необходимые сервисы, настроим оборудование и предоставим рекомендации для улучшения и продвижения канала.

Свяжитесь с нами для индивидуальной консультации.

Требования

  • Обновите драйвера для видеокарты, скачав их c сайта NVIDIA, либо с помощью NVIDIA App.
  • Обновите OBS до последней версии или проверьте обновление в самой программе. Справка/Проверить обновления.
OBS Studio 28.0 и более поздние версии больше не поддерживают следующие операционные системы: Windows 7 и 8 / macOS 10.13 и 10.14 / Ubuntu 18.04 / Все 32-битные OC.

Содержание

1. Раздел «Трансляция»
2. Кодировщик NVENC
3. Тип Битрейта
4. Битрейт
5. Транскодирование
6. Какой битрейт устанавливать
7. Интервал ключевых кадров
8. Предустановка
9. Регулировка
10. Многопроходной режим
11. Профиль
12. Макс.кол-во B-кадров
13. Предугадывание
14. Психовизуальная корректировка
15. Разрешение видео для twitch
16. Частота кадров
17. Оптимальные настройки кодировщика

1. Трансляция

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-2

1) Сервис Twitch
Рекомендуется
Подключить аккаунт, чтобы чат трансляции отображался в отдельном окне (док-панели). Запускать чат в браузере больше не потребуется, что позволит сэкономит ресурсы оперативной памяти.

Вид\Док-панели\Чат
Вид\Док-панели\Чат

Если не хотите подключать аккаунт, то выберите «Использовать ключ потока» и нажмите на пункт «Получить ключ потока».
Скопируйте ключ основной трансляции и вставьте в строку в OBS.

2) Сервер «Автоматически»
OBS автоматически определит наиболее оптимальный сервер.
Чтобы самостоятельно подобрать сервер, необходимо воспользоваться специальной утилитой
TwitchTest.

3) Включение режима тестирования пропускной способности позволит протестировать стабильность трансляции без выхода в эфир.

4) Дополнения чата Twitch
Выберите для отображения смайликов
BetterTTV и FrankerFaceZ в док-панели чата. Смайлики для канала нужно подключать и настраивать отдельно. Подробный гайд смотрите по ссылке.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-4

Поставьте галочку «Не учитывать рекомендуемые настройки потоковой службы», чтобы OBS не ограничивал битрейт и интервал ключевых кадров до рекомендуемых значений стриминговой платформы.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-5

Если вы используйте Streamlabs OBS, то галочку Enforce Streaming Service Encoder Settings ставить не нужно!

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-6

2. Кодировщик

Откройте OBS Studio ➜ Настройки ➜ Вывод ➜ Режим вывода «Расширенный» ➜ Выберите NVIDIA NVENC H.264

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-7

NVENC — это аппаратный кодировщик, доступный на большинства видеокартах NVIDIA. То есть внутри графического процессора видеокарты находится отдельный физический компонент, который специально предназначен для задач, связанных с обработкой видео. За кодирование отвечают блоки NVENC, за декодирование — NVDEC.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-8

В таблице GPU Support Matrix можно узнать, какие видеокарты оснащены кодировщиком. Поддержку функций, например, B-frames, можно узнать из таблицы по ссылке.

Начиная с версии OBS Studio 23.0, на Windows 10/11 доступна последняя реализация кодировщика NVENC, поэтому использование старых версий не рекомендуется. Windows 7 также не рекомендуется, так как эта операционная система больше не поддерживается. Кроме того, на Windows 7 доступна только старая версия кодировщика, которая значительно менее производительна.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-9

3. Тип битрейта

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-10

CBR (constant bitrate) — метод управления скоростью битрейта, при котором заданный битрейт не изменяется на протяжении всего видео или трансляции.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-11

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

4. Битрейт

Битрейт определяет объём закодированной информации, передаваемой за единицу времени. Больше битрейт — лучше качество.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-12

Рекомендуемый битрейт для Twitch составляет 6000 кбит/с, максимально безопасный — 8000 кбит/с, а максимальный возможный (включая аудио) — 8500 кбит/с.

5. Транскодирование

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

Это опция называется «транскодирование видео», которое в приоритете предоставляется компаньонам и всегда партнерам twitch.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-13

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

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-14

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

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

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-15

Поэтому для начинающего стримера важно стать компаньоном, чтобы получить приоритет для транскодирования трансляции.

Более подробно о всех тонкостях рассказано в отдельной статье.

6. Какой битрейт лучше всего использовать

➜ 8000 кбит/с если вы компаньон или партнер.
➜ 6000 кбит/с и ниже, если вы начинающий стример.

Увеличение битрейта напрямую влияет на качество трансляции/видео.

☝️ Вы можете изменять битрейт в OBS Studio прямо во время прямой трансляции.

7. Интервал ключ. кадров

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-17

Этот параметр определяет, как часто кодируется ключевой кадр.

Красным цветом отмечены ключевые кадры (I-frames) в структуре видео. Здесь они кодируются через каждые 2 секунды или 120 кадров (при 60 к/с).
Красным цветом отмечены ключевые кадры (I-frames) в структуре видео. Здесь они кодируются через каждые 2 секунды или 120 кадров (при 60 к/с).

Ключевой кадр (I-frame) — это кадр, который содержит полные сведения об изображении. При кодировании на него ссылаются динамические кадры, которые содержат данные об изменениях в последовательности изображений.

  • Оптимальное значение для трансляции составляет 2 секунды.
    Это необходимо для синхронизации с кодировщиком потоковой службы и сокращения буферизации при воспроизведении.
  • Для нединамичного контента/игр можно указать 4 секунды, что позволит сэкономить битрейт для динамических кадров и немного улучшить качество. Из примеров можно назвать такие жанры игр как моба, стратегии, платформеры, карточные игры или разговорный стрим.

8. Предустановка

С выходом OBS Studio 28.1 доступны семь более оптимизированных предустановок, представленных NVIDIA в июле 2020 года.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-19
  • P1-P2 — высокопроизводительные пресеты, которые оказывают наименьшее влияние на производительность, но предоставляют самое низкое качество.
  • P3 — пресет можно обозначить как «Производительный». Он является компромиссом между предустановкой P4 и P2.
  • P4 — универсальный выбор. Среднее качество — производительность. В документации помечен как «Стандартый/По умолчанию».
  • P5-P7 — предоставляют самое высокое качество, но и самые требовательные. Рекомендуется использовать на видеокартах начиная с архитектуры Pascal (GTX 1000-серии) для достижения наилучшего качества.

Нагрузку на кодировщик можно отследить в диспетчере задач, где Video Encode отображает нагрузку на энкодер NVENC.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-20

9. Регулировка

Регулировка (информация о настройке) - оптимизирует работу энкодера в зависимости от выбранного режима использования.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-21

В большинстве случаев следует использовать высокое качество.

Обратите внимание, что при выборе пресетов P6 и P7 на регулировке «Высокое качество» активируются адаптивные B-кадры, независимо от того, включено предугадывание или нет!

10. Многопроходной режим

Многопроходной режим определяет, будет ли использован второй проход при кодировании видео.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-22
  • При однопроходном режиме кодировщик мгновенно выделяет необходимое количество бит на кодирование кадра.
  • В двухпроходном режиме кодировщик сначала анализирует кадр, а на втором проходе происходит его кодирование, на основе данных полученных при первом проходе. Таким образом, это позволяет получить более высокое качество и приблизиться к целевому битрейту.

Рекомендую использовать двойной проход при четверти разрешения, т.к. это более оправданно с точки зрения качества и производительности.

11. Профиль

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-24

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

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

Профили Main и Baseline используются в редких случаях для обеспечения совместимости при воспроизведении на старых устройствах.

12. Макс.кол-во B-кадров

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

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-25

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

Обратите внимание на размер b-кадров (отмечены зеленым цветом), по сравнению с p-кадрами (синий) и i-кадрами (красный).
Обратите внимание на размер b-кадров (отмечены зеленым цветом), по сравнению с p-кадрами (синий) и i-кадрами (красный).

➜ Оптимальным значением является 2 b-кадра

Это отличный компромисс для сохранения качества, как в относительно статичных, так и в динамичных фрагментах. В большинстве случаев, используйте это значение.

➜ 3 или 4 b-кадра лучше походят для трансляции игр с низким количеством движений, что позволит улучшить качество картинки в статичных фрагментах, где камера неподвижна.

13. Предугадывание

Предугадывание (look-ahead) позволяет кодировщику буферизировать определенное количество кадров для принятия более оптимальных решений о распределении битрейта и выборе типов кадров (I, P, B) на основе предстоящих изменений в видео.

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-28

Опция весьма ситуативна и напрямую взаимосвязана с Макс. B-кадров., адаптивно изменяя их количество в зависимости от сложности фрагментов при кодировании видео.

Структура видео при включенном предугадывании с 4 B-кадрами в динамичном видео.
Структура видео при включенном предугадывании с 4 B-кадрами в динамичном видео.
Тот же самый фрагмент с откл. предугадыванием.
Тот же самый фрагмент с откл. предугадыванием.

Включить
Для игр с низким количеством движений, а также при использовании более 2 B-кадров.

Отключить
При трансляции шутеров или динамичных игр c использованием 2 или 1 B-кадра. Это позволит сэкономить битрейт за счёт статичного кодирования B-кадров, что улучшит качество картинки.

14. Психовизуальная корректировка

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-31

Психовизуальная корректировка (Psycho Visual Tuning) уменьшает количество блочностей и артефактов в динамичных фрагментах видео за счёт перераспределения битрейта при кодировании, выделяя чуть больше битрейта более плоским и однородным областям в кадре, поэтому опцию рекомендуется включить.

15. Разрешение видео при трансляции на twitch

В этом пошаговом руководстве пойдет речь о настройке кодировщика NVIDIA NVENC H.-33

Дело в том, что 6000 кбит/с для трансляции современный игр на twitch, особенно шутеров, слишком мало, поэтому имеет смысл уменьшать выходное разрешение видео, чтобы сэкономить битрейт. За счёт этого можно улучшить степень детализации картинки, а также сократить количество блочностей и артефактов.

Оптимальные разрешения для трансляции в 60 к/с:
➜ 1664x936, 1600x900, 1536x864 для динамичных игр;
➜ 1280x720 также можно указывать, особенно, если у вас слабая видеокарта, но картинка будет размытой;
➜ 1920x1080 для игр со средним и низким количеством движений.

Если у вас монитор с разрешением 2K или 4K, крайне не рекомендуется стримить на Twitch в исходном разрешении из-за низкого битрейта. Однако разрешение 2K может быть допустимо, если речь идет о нединамичном контенте или простой графике в игре.

☝️ В Фильтре масштабирования выберите «Метод Ланцоша», если выходное разрешение отличается от базового. Это повысит чёткость картинки при масштабировании.

Фильтр масштабирования работает только в том случае, если выходное разрешение отличается от базового.
Фильтр масштабирования работает только в том случае, если выходное разрешение отличается от базового.

16. Частота кадров

  • Для шутеров и динамичный игр лучше использовать 60 или 50 к/с.
  • Для нединамичных игр можно указать 30 к/c, чтобы улучшить качество изображения за счёт экономии битрейта.
При трансляции в 60 к/с картинка при просмотре будет выглядеть более плавной, но качество будет хуже, чем при использовании более низкой частоты кадров.

☝️ Если большую часть времени фпс в игре составляет менее 60 к/с, то и стримить в 60 к/с не имеет смысла.

Оптимальные настройки кодировщика

📌 Настройки для большинства пользователей вне зависимости от типа контента, который вы стримите и *поколения видеокарты. Настройки составлены согласно рекомендациям NVIDIA из таблицы миграции.

*Измените многопроходный режим на одиночный, если видеокарта на архитектуре Maxwell или Kepler (GTX 600, 700, 900).
*Измените многопроходный режим на одиночный, если видеокарта на архитектуре Maxwell или Kepler (GTX 600, 700, 900).

📌 Настройки для достижения максимального качества динамичного контента. Шутеры, экшены, RPG, MOBA, Battle Royales, приключенческие игры, гоночные и спортивные симуляторы.

Измените битрейт до 6000 кбит/с, если вы начинающий стример (автор).
Измените битрейт до 6000 кбит/с, если вы начинающий стример (автор).

📌 Для нединамичного типа контента. Стратегии, головоломки, карточные игры, рогалики, платформеры, разговорный формат.

Измените битрейт до 6000 кбит/с, если вы начинающий стример (автор).
Измените битрейт до 6000 кбит/с, если вы начинающий стример (автор).

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

Остались вопросы? Задавайте их в комментариях.

Желаю удачных стримов!

Youtube | Twitch | ВКонтакте | Поддержать автора