Что такое nvidia nvenc в sony vegas

Обновлено: 02.07.2024

В этой статья я предоставлю наиболее оптимальные настройки кодировщика Nvidia NVENC H.264 (new) в OBS для получения наилучшего качества картинки во время проведения трансляции на YouTube.
Настройки для трансляций на Twitch представлены в отдельной статье .
Статья создана на основе огромного количества изученного материала, в том числе научных работ и публикаций, а также сведений полученных при анализе субъективной (визуальной) и объективной оценки качества.

📡 Раздел трансляция

1. Сервис YouTube - RTMPS
2. Cервер Primary YouTube ingest server (Основной сервер).
Вы можете сменить сервер на Backup YouTube ingest server (Резервный), если у вас происходят пропуски кадров и другие сетевые проблемы.
3. Получить ключ потока можно нажав на кнопку " Получить ключ потока ".
Запустится браузер и вас переадресует в Творческую студию/ Прямые Трансляции, где вы и сможете найти Ключ трансляции, либо создать новый.

Для трансляции установите режим Малая задержка .
Это пригодится в дальнейшем, чтобы получить более высокое качество.
Задержка будет составлять в районе 15 секунд .
4. Поставьте галочку Игнорировать рекомендации по настройкам потокового сервиса.

1️⃣ Настройка Видео

Начать стоит именно с раздела Видео, т.к в масштабировании трансляции до 2К разрешения и есть секрет качественной картинки на YouTube.
Об этом я подробно рассказал в отдельной статье по ссылке .
Есть два способа, с помощью которых можно масштабировать трансляцию до 2K, чтобы она обрабатывалась кодеком VP9.

1. Масштабирование до 2K без рескейла в OBS.
С помощью данного способа трансляция будет масштабироваться до 2К разрешения, за счёт транскодирования видео на YouTube.
Этот позволит стримить в нативном разрешении 1920x1080 или ниже, что позволит значительно уменьшить нагрузку на кодировщик.
Подробное видео об этом можно посмотреть по ссылке.

Перейдите в Творческую студии/ Прямые Трансляции и создайте новый ключ трансляции.

- Поставьте галочку " Выбрать частоту кадров и разрешение".
- Укажите разрешение 1440 пкс.
- Поставьте галочку "Включить частоту кадров 60 кадров в секунду". Если вы стримите в 60 к/с, а это галочку не будет стоять, тогда трансляция на YouTube будет работать в 30 к/с.
Теперь трансляция на Youtube будет работать в разрешении до 1440p, в независимости от разрешения, которое указано в OBS.

2. Масштабирование выходного разрешения в OBS.
Прописываем выходное разрешение в разделе видео 2560x1440
Если у вас 2K монитор, то это еще лучше, и OBS не придётся растягивать пиксели, что позволит получить еще более качественную картинку.
Учтите, что увеличение выходного разрешения увеличит нагрузку на кодировщик. Так что, если у вас слабая видеокарта, то, возможно, вам придется снизить настройки кодировщика или частоту кадров видео, если наблюдаются перегрузы кодировщика, либо просто используйте первый способ.

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

В Фильтре масштабирования выбираем метод ланцоша , что позволит получить более гладкие диагональные линии, уменьшив Алиасинг , и получить более чёткую картинку.

2️⃣ Кодировщик Nvenc (new)

NVENC H.264 (new) - это обновленный и более производительный кодировщик, доступный с ☝️ 23 версии OBS.
Так что обязательно обновите OBS до одной из последних версии.
Главное его отличие от старой версии NVENC H.264 (без new) - это значительное снижение влияния на производительность в играх (до 66%) при кодировании видео, т.к графическому процессору больше не требуется буферизировать кадры в оперативную память, а это стало реализовано внутри самой видеокарты за счёт использования видеопамяти, что гораздо более эффективно.
То, что New доступен только для видеокарт последнего поколения, является не более, чем мифом и заблуждением.

3️⃣ Управление битрейтом

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

4️⃣ Битрейт

Разумеется, можно воспользоваться битрейтом, предлагаемым в справке для прямых трансляций . Нас интересует битрейт для 2K разрешения (2560x1440), это 9000-18000 кб/с, но для получения более высокого качества рекомендую использовать битрейт больше.

Оптимальный битрейт для стрима в 2K, на мой взгляд, составляет от 18000 до 30000 кб/с , при условии, что ваш интернет способен поддерживать указанную скорость потоковой передачи данных.

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

Как следует из названия, NVENC - это проприетарная технология NVIDIA, так как ее название происходит от аббревиатуры NVIDIA. Видео ENCoding, ни больше, ни меньше. Таким образом, одно из требований для его использования - наличие графической карты этого бренда, но, как мы объясним ниже, не все будут работать.

Что такое NVENC?

Это особенность видеокарт бренда, которая используется для кодирования видео, разгружая эту задачу, предполагающую довольно высокую вычислительную нагрузку на процессор и что делает его GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР , с гораздо большим количеством ядер, отвечающих за это. Впервые он был представлен с Кеплер Архитектура видеокарт GeForce GTX 600 Series, и поэтому одним из требований для ее использования является наличие одного из этих графических процессоров или более современного.


Кодировщик NVENC изначально совместим со многими программами потоковой передачи и записи, такими как Wirecast, Open Broadcaster Software (OBS) и Bandicam, а также работает с функцией Share game capture, которая включена в программное обеспечение GeForce Experience.

Видеокарты GeForce на потребительском рынке (непрофессиональные) поддерживают только 2 видеопотока кодирования одновременно, независимо от количества установленных видеокарт, поэтому даже в конфигурациях Quad-SLI вы можете кодировать только два видео одновременно. Со своей стороны, профессиональная графика поддерживает до 21 одновременной передачи на видеокарту, в зависимости от модели и выбранного качества сжатия.

NVENC сопровождается NVDEC (NVIDIA Video DECoder) для выполнения противоположной операции, дополняя друг друга. На следующей диаграмме вы можете найти всю связанную с этим информацию.

Первое поколение этой технологии пришло с архитектурой Kepler, и с тех пор она увеличивается почти на одну версию на поколение. Таким образом, второе поколение появилось с графическими процессорами Maxwell GM107, третье с Maxwell GM20X, четвертое с Pascal GP10X, пятое с Volta GV10X и Turing TU117 и шестое поколение с Turing TU10X / TU116. Ожидается, что седьмое поколение NVENC прибудет с Ampere, включая дальнейшие улучшения и большую производительность.

Какие преимущества это дает?

Как мы только что объясняли, NVENC позволяет выполнять аппаратное кодирование и декодирование непосредственно на графическом процессоре, освобождая CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР из этой ресурсоемкой задачи. Имея в своем распоряжении гораздо больше ядер, которые также оптимизированы для обработки видеоинформации, вы не только получаете значительно более высокую производительность, но и более эффективны с точки зрения производительности на ватт.

Диаграмма NVENC

Хорошая часть этой системы заключается в том, что большинство программ для кодирования видео поддерживают ее изначально, поэтому, как пользователям, нам нужно будет только выбрать ее в параметрах этой программы. Например, в Open Broadcaster Software мы можем выбрать обработку видео через NVENC в опциях.

Cambiar de encoder en OBS

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

Выбираем кодек для записи игровых видео с графической картой NVIDIA:

H.264 против HEVC: какой кодек лучше?

Хотя H.264 долго оставался стандартом качества для западных стримеров, сейчас лучшим выбором будет HEVC. Хотя максимальный стандарт качества у них одинаковый, HEVC лучше справляется с предоставленным ему дисковым пространством. Если записать два видео, одинаковых по продолжительности, содержанию и месту на жёстком диске, видео, кодированное в HEVC, будет лучшего качества. При одинаковом качестве записи файлы HEVC всегда меньше, чем видео, записанные в H.264.

Почему же многие пользователи до сих пор предпочитают H.264? Проблема нового формата — в высоких требованиях и совместимости:

  • Улучшенный алгоритм HEVC требует больше ресурсов центрального процессора. При недостаточной мощности железа это может вызывать падение фреймрейта в современных играх, требовательных к ресурсам, что сводит на нет эффект от лучшего качества записи.
  • Некоторые медиаплееры не поддерживают HEVC. Если вы не собираетесь повторно кодировать видео, вам придётся заранее проверить нужные плееры на совместимость.

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

Сравнение скорости, качества и размера видео H.264 и HEVC

В приведённой ниже таблице для сравнения указаны показатели видео, записанного разными кодировщиками.

Кодек Размер Качество Скорость Особенности
HEVC 33,5 Мб Выше среднего — соответствует настройкам Высокая Кодек обладает более совершенным алгоритмом сжатия без потери качества
H264 34,2 Мб Выше среднего — соответствует настройкам Высокая Лучший кодек для большинства пользователей за счёт низких требований к железу

Для сравнения использовалось видео продолжительностью в одну минуту, записанное в разрешении 1920x1080 при частоте кадров (FPS) 30 кадров в секунду. Качество записи в обоих случаях было установлено на 80 из 100.

Чтобы использовать кодировщик Nvidia NVENC, выполните следующие шаги:

  1. Скачайте и установите последнюю версию Напоминаем, что скачать крякнутый Бандикам с полным доступом ко всем функциям можно на нашем сайте.
  2. Установите последнюю версию драйверов для видеокарты Nvidia.
  • Откройте официальный сайт Geforce и загрузите последние драйвера для видеокарты Nvidia.
  • Прямая ссылка на новые драйвера Nvidia здесь.
  1. Выберите в настройках один из вариантов: H264 (Nvidia® NVENC) или HEVC (Nvidia® NVENC).
  • Нажмите на кнопку «Настройки» во вкладке «Видео» в основном окне Bandicam, затем выберите нужный кодировщик.
  • H264/HEVC — один из наиболее часто используемых форматов для записи, компрессии и распространения цифрового видео в высоком качестве. Для дополнительной информации посмотрите сравнение кодеков видео в Bandicam.

Как настроить кодек:

  • Профиль. Если вы используете кодек H264 (NVIDIA® NVENC), появится меню выбора профиля (Авто, Основной, Высокий).
  • VBR — переменный битрейт. Если вы выберете приоритет качества, VBR будет использовать более высокий битрейт для быстрых сцен и низкий битрейт для медленных сцен. В результате, видео будет меньше без потерь в качестве (рекомендуется).
  • CBR — постоянный битрейт. Если вы выберете эту опцию, кодек всегда будет держаться в рамках установленного битрейта. Это хорошо, если вам нужно заранее знать размер видео, но такие видео часто оказываются больше по размеру.
  • Устройство GPU. Если вы используете более, чем 2 GPU, выберите предпочитаемые устройства (например, видеокарта А для записи видео и видеокарта B для игр).
  • Интервал между ключевыми кадрами (кейфреймами). Поставьте значение «150», чтобы ключевые кадры создавались каждые 150 кадров.
  • Настройки FourCC. Чтобы записанное видео можно было проигрывать в медиаплеере, выберите H264. Если после записи вы хотите редактировать видео в профессиональных редакторах в контейнере AVI, выберите X Узнайте больше здесь.

Если вы не видите нужные опции кодеков H264 или HEVC в панели выбора кодеков Bandicam, попробуйте следующие решения:

  1. Убедитесь, что используете операционную систему Windows 7 или выше.

Кодировщики NVENC работают на операционных системах Win 7, 8 и 10. В Windows XP и более старых ОС опции NVENC будут недоступны.

  1. Проверьте, поддерживает ли ваш графический процессор технологию NVENC

Обратите внимание: не все модели, поддерживающие H264, будут поддерживать новый стандарт HEVC.

Если вы устанавливали или обновляли Bandicam в последние несколько лет, проблем возникнуть не должно: кодировщик NVENC H264 поддерживается с Bandicam 2.0, а обновлённый стандарт NVENC HEVC — с 2.4.0.

Nvidia NVENC это технология, позволяющая кодировать видео в H.264 (и H.265 для последних процессоров Maxwell) силами GPU со скоростями несколько сот кадров в секунду (в зависимости от профиля и разрешения). Вендор предоставляет возможность использования этой технологии в виде набора разработчика NVENC SDK.

Реализация

Имеется множество утилит для различных платформ, которые в каком-то виде дают доступ к функционалу SDK. В марте 2015 года вышел релиз ffmpeg, который включил в себя поддержку NVENC. ffmpeg занимает центральное положение среди всего множества свободного и не очень ПО для работы с видео, поэтому с практической точки зрения он наиболее интересен. Этим инструментом можно и обрабатывать видеофайлы (1, 2), и вести потоковое вещание (1, 2). С момента мартовского релиза вышел ещё один, который включил в себя ещё больше опций для кодека nvenc и поддержку H.265 (HEVC).

Сборкой FFmpeg с поддержкой NVENC мы и займёмся.

Развёртывание
  • Одна видеокарта Nvidia на ядре Kepler или Maxwell. На мой взгляд самый интересный выбор это GTX 970 — процессор Maxwell второго поколения (GM204) за 300$.
  • Один линукс типовой (ubuntu 14.04) на компьютере с видеокартой.
Драйверы и рантайм CUDA

Драйверы и библиотеки установить за раз одним пакетом. Из репозитория лучше ничего не использовать.

На все вопросы уважаемого компьютера следует ответить утвердительно. После установки — перезагрузить.

Заголовочные файлы nvenc

Для сборки приложений с nvenc sdk неободимы некоторые заголовочные файлы. Раньше их необходимо было стягивать из виндовой версии SDK. Но прогресс идёт семимильными шагами и теперь этот файл можно стянуть из примеров в линуксовом SDK. Найдите в примерах (были установлены вместе с рантаймом и драйверами на предыдущем шаге) файлы
nvCPUOPSys.h
nvEncodeAPI.h
nvFileIO.h
NvHWEncoder.h
nvUtils.h

и положите их в /usr/include. Они потребуются только один раз, при сборке ffmpeg. На всех машинах они не нужны.

FFMPEG

Начать его сборку лучше с установки всех сборочных зависимостей.

Я мог что-то забыть, что-то может измениться. Чтобы найти недостающий для сборки файл, не стесняйтесь пользоваться apt-file:


Скачиваем с сайта последнюю версию ffmpeg, распаковываем, конфигурируем, собираем и устанавливаем:

Собираем с libfdk-aac, он точно предпочтительнее имеющегося кодека aac. Кроме прочего, можно заметить опцию --enable-nvenc. В остальном параметры выбраны по мотивам билдспеки пакета libav в самом дистрибутиве ubuntu. После всех манипуляций должен появиться рабочий ffmpeg в /usr/local/bin/ffmpeg.

Применение
Запуск

Опции запуска все точно такие же, как при софтверном кодировании, но только вместо libx264 видеокодек будет называться nvenc (он же nvenc_h264) для h.264 и nvenc_hevc для h.265.

Производительность и качество

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

Читайте также: