Sandrix

Sandrix 

Кодирование видео, настройки OBS

14subscribers

6posts

Настройка x264 для OBS (Open Broadcaster Software)

В статье пойдет речь об оптимальных настройках кодировщика x264 в OBS Studio для проведения трансляции и записи видео.
Особенность кодировщика
x264 - это программный кодировщик, который использует ресурсы центрального процессора для кодирования видео в формате сжатия H.264.  
x264 обеспечивает самое высокое качество, в отличие от аппаратных кодировщиков NVENC, AMF, Intel Quick Synс, но обычно это достигается при использовании пресетов medium и ниже (slow, slower и т.д.).
В связи с тем, что x264 использует для кодирования ресурсы CPU, это может крайне негативно отразиться на общей производительности и быстродействии в играх, особенно, процессорозависимых.
▌ Это влияние проявляется как падением fps в играх, так и ухудшением отзывчивости управления, Input Lag (задержка ввода).
Так что при использовании x264 все сильно зависит от производительности и количества ядер CPU, а также настроек кодировщика.
Узнать потребление ресурсов CPU для OBS при кодировании видео можно в разделе «Вид» → «Статистика».
Если в OBS доступен кодировщик NVENC или Quick Synс, то лучше использовать один из них, т.к. это более рационально с точки зрения качества-производительности.  
Очень часто x264 используют на стрим-ПК для достижения максимального качества, либо владельцы видеокарт Radeon, т.к. кодировщик на данных видеокартах предоставляет плохое качество картинки для H.264.
Трансляция
Запустите OBS ➜ Настройка ➜ Трансляции ➜ Сервис ➜ Выберите стриминговый сервис
- Укажите ключ потока или подключите аккаунт (рекомендуется)
Ключ потока можно получить, нажав на «Получить ключ трансляции»  
- Поставьте галочку «Не учитывать рекомендуемые настройки потоковой службы»
Выбор пресета
Перейдите в раздел «Вывод» ➜ Режим вывода «Расширенный» ➜ Выберите кодировщик x264
Самым важным параметром для x264 в OBS, является пресет. Остальное имеет довольно косвенное значение.
Градацию пресетов можно обозначить следующим образом:
superfast - это минимум для достижения приемлемого качества картинки. Рекомендуется для слабых ПК.
veryfast - оптимальный пресет. Предоставляет среднее качество при относительно невысокой нагрузке на CPU.
faster - обеспечивает хорошее качество, но более требователен. Лучше всего подойдет для 12-16 ядерных процессоров.
medium - высококачественный пресет, который обеспечивает высокое качество изображения, но крайне требователен к ресурсам CPU. Для его использования потребуется современный 16-24 ядерный процессор.
Пресеты ниже medium не особо целесообразно использовать для трансляции или записи видео, т.к. для них потребуется 24-64 ядерный процессор, при этом прирост в качестве будет не столь существенным. Данные пресеты обычно используют для перекодирования (транскодирования) видео.
Оптимальные настройки для трансляции
Управление битрейтом: CBR
Битрейт: Twitch 6000 - 8000 kbps, Trovo 8000 kbps, YouTube от 12500 до 25000 kbps
Интервал ключ. кадров: 2 s (сек.) - динамичный контента; 4 s -нединамичный
Предустановка: veryfast - medium
Профиль: high  
Видео
- Для YouTube используйте метод с масштабированием до 2К разрешения для получения высокого качества картинки.  
- При трансляции динамичного контента на twitch укажите разрешение 1664x936 или 1600x900, чтобы улучшить степень детализации картинки за счёт экономии битрейта. Это актуально только для twitch!
- Для twitch также имеет смысл уменьшить частоту кадров, например, до 30, чтобы улучшить качество за счёт экономии битрейта. Это будет актуально для стратегий, платформеров и т.п.
Дополнительные настройки
Как указано в разделе «Выбор пресета», более высокое качество обеспечивает пресет faster, но он потребляет заметно больше ресурсов CPU.
Стандарные настройки
Чтобы уменьшить нагрузку на CPU, рекомендуется отключить B-кадры. Это оправданная жертва с точки зрения качества и производительности.
▌ B-кадры - это самые сжатые кадры. Они улучшают качество картинки в статичных фрагментах и позволяют сэкономить битрейт, но весьма требовательны к производительности.
Доп. настройки x264:
mixed_ref=1 bframes=0 rc_lookahead=30 scenecut=20 aq-mode=2 aq-strength=1.5
Удалите aq-strength=1.5 для нединамичного контента.
С дополнительными параметрами, без B-кадров
При отключении B-кадров нагрузка на CPU уменьшилась до 50%. Качество картинки по показателям VMAF увеличилось, но это зависит от типа контента.
▌ Для уменьшения нагрузки на CPU также можно уменьшить выходное разрешение и частоту кадров видео.
Настройки для записи
Укажите CBR-битрейт от 12500 - 25000 кбит/с для FullHD 60 fps, если необходимо знать целевой битрейт, например, при экспорте в видеоредакторе.
▌ Больше битрейт - лучше качество, но увеличивается размер файла.
Заключение
x264 рекомендуется использовать только в том случае, если у вас просто нет других вариантов, или для достижения более высокого качества картинки на мощном ПК/стрим-ПК.
Имейте в виду, что при использовании x264 CPU придется постоянно балансировать между игрой и кодировщиком. Поэтому чем игра более требовательна к ресурсам CPU, тем более заметно будет проявляться падение производительности и задержка ввода при стриме или записи видео.
Go up