Найти тему
Sandrix

Продвинутые настройки NVENC H.265/HEVC (FFmpeg) в OBS Studio для стрима на YouTube и записи

Оглавление

В статье пойдет речь о том, как запустить трансляцию и записывать видео при использовании кодировщика NVENC H.265/HEVC в FFmpeg OBS.

Полноценная реализация H.265/HEVC в OBS Studio была добавлена разработчиками в OBS 28.0 версии (настройки представлены в отдельной статье). До этого кодирование видео осуществлялось при помощи FFmpeg в OBS, и именно этот способ будет рассмотрен в данном руководстве.

Особенность данного способа

  • Поддержка в OBS более ранних версиях, где ранее не был доступен HEVC, например, OBS 27.2.4 и ниже.
  • Более гибкая настройка кодировщика, что актуально для продвинутых пользователей.
  • Настройки адаптированы лично мной и способы предоставить чуть более высокое качество, чем стандартная реализация.

Требования для трансляций

Поддержка видеокодека H.265/HEVC доступна только для трансляций на YouTube и появилась еще в декабре 20-го года, благодаря поддержке HLS (HTTP Live Streaming) - протокола, который предназначен для потоковой передачи в реальном времени.

Особенность HEVC заключается в том, что кодек обеспечивает более высокое сжатие данных от 25 до 50 % при том же качестве видео по сравнению с H.264/AVC

Я бы не рекомендовал использовать NVENC HEVC владельцам видеокарт на архитектуре Pascal и ниже, т.к. кодировщик на данных видеокартах для HEVC на 25% менее эффективен, чем на Turing и Ampere, и не имеет поддержки B-кадров.

Настройка кодировщика через FFmpeg

Запустите OBS Studio и перейдите в Файл/Настройки/Вывод/Запись/Режим вывода расширенный

Укажите тип «Пользовательский вывод (FFmpeg)»

Тип вывода FFmpeg: На указанный адрес (URL)
Путь к файлу или URL-адрес: Пока не трогаем
Формат контейнера: hls

Битрейт видео: 0 kbps
Интервал ключевых кадров: 0
Поставьте галочку "Показать все кодеки"
Кодировщик видео: hevc_nvenc
Битрейт аудио: 160 kbps
Кодировщик аудио: aac

Настройки кодировщика видео:
preset=p5 profile=main tune=hq multipass=qres rc=cbr b=18M bufsize=36M g=120 rc-lookahead=20 no-scenecut=1 bf=2 b_adapt=0 b_ref_mode=middle temporal-aq=1 spatial-aq=1

Чтобы изменить битрейт, укажите необходимое значение вместо b=18M

Список параметров на github (работают не все).

Раздел "Видео"

-2
  • Если у вас 2К или 4К монитор, то укажите необходимое выходное разрешение. Для трансляции на YouTube достаточно 2560x1440.
  • Если разрешение монитора Full HD, то выходное разрешение так и оставляем 1920x1080.

Ключ трансляции

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

-3

Трансляция будет работать в 2К разрешении, вне зависимости от указанного выходного разрешения в OBS, т.к. масштабирование до 2К будет осуществляться за счёт ресурсов YouTube. Это необходимо, чтобы получить поддержку кодека VP9, который обеспечит более высокое качество изображения.

-4

Скопируйте URL трансляции, а также убедитесь, что установлена малая задержка (~10 сек.)

-5

Возвращаемся в настройки кодировщика в OBS Studio и вставляем в "Путь к файлу или URL-адрес" скопированный URL трансляции.
В конце необходимо добавить
stream.m3u8

-6

Как запустить трансляцию

Трансляция запускается по нажатию на кнопку "Начать запись"

-7

Настройки для записи видео

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

Тип вывода FFmpeg: В файл
Путь к файлу или URL-адрес: Укажите папку для сохранений
Формат контейнера: mp4

Битрейт видео: 0 kbps
Интервал ключевых кадров: 0
Поставьте галочку "Показать все кодеки"
Кодировщик видео: hevc_nvenc
Битрейт аудио: 320 kbps
Кодировщик аудио: aac

Настройки кодировщика видео:
preset=p5 profile=main tune=hq multipass=qres rc=cbr b=25M bufsize=50M g=120 rc-lookahead=32 bf=2 b_adapt=1 b_ref_mode=middle temporal-aq=1 spatial-aq=1

Настройки для высокого качества записи:
preset=p5 profile=main tune=hq rc=constqp qp=20 g=60 bf=2 b_adapt=0 b_ref_mode=middle temporal-aq=1 spatial-aq=1

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