Nvenc, какие видеокарты поддерживают

Обновлено: 21.11.2024

Пропускная способность видеопамяти

Предварительное тестирование показывает, что одно задание NVDEC на 128-битной GTX 1050 Ti 4 ГБ (Pascal) не может использовать более 30 % (112 кадров в секунду) NVDEC. Два потока удерживают около 50%, три — около 80% и более четырех потоков — для достижения 100%-го насыщения NVDEC. 256-битная видеокарта GTX 970 4 ГБ (Maxwell 2-го поколения) может достичь 100 %-й насыщенности NVDEC (376 кадров в секунду) с одним потоком.

Разница между 128-битной, 192-битной и 256-битной пропускной способностью памяти требует дальнейшего тестирования. Похоже, что 128-битная шина памяти не вызовет проблем с производительностью при многократном перекодировании, но увидит автономные задания «Синхронизация» Plex, способные использовать только 30% чипа NVDEC.

Загрузка карты VRAM Stream

Нагрузка карты рассчитывается путем деления наименьшего из значений «NVENC FPS» и «NVDEC FPS» на комбинированный FPS «Потоки для VRAM» для получения карты. Например; Модель Quadro K2200 4 ГБ поддерживает NVDEC 1080p при 376 кадрах в секунду и NVENC 720p при 502 кадрах в секунду и вмещает до 16 транскодов в 4 ГБ видеопамяти. NVDEC — это меньший FPS, мы берем 16x h.264.1080p@30 FPS, что равно 480 FPS, больше, чем может обработать NVDEC. Эта карта будет загружена менее чем на 128 % для доставки 16 потоков, вызывающих буферизацию, но может обеспечить 12 потоков при загрузке 96 %. Дополнительные сведения см. в разделе «Рекомендуемые потоки Plex».

Превышение VRAM

Превышение использования видеопамяти приведет к тому, что новые транскоды будут буферизоваться бесконечно, даже если объем видеопамяти упадет ниже максимума. Клиент Plex должен будет остановить запрос на воспроизведение и запросить его снова, как только использование VRAM упадет. Чтобы избежать этого, выберите карту с достаточным объемом видеопамяти.

Потоки для VRAM

«Потоки для видеопамяти» — это количество потоков Plex, которое одновременно помещается в видеопамяти. Это значение основано на 1080p при 15 МБ/с до 720p при 4 МБ/с на поток.
См. «Рекомендуемые потоки Plex» и «Превышение VRAM», чтобы узнать о проблемах с буферизацией потока.

Кеплер

Максвелл 1-го поколения

Максвелл 2-го поколения

Паскаль и ВОЛЬТА

720p@3Mbit в SD 2Mbit

720p@3Mbps до 720p 2Mbps

720p@6Mbps до 720p@2Mbps

720p@6Mbps до 720p@4Mbps

от 1080p@15 Мбит/с до 720p@2 Мбит/с

от 1080p@15 Мбит/с до 720p@4 Мбит/с

1080p@15Mbps до 1080p@8Mbps

от 4K@68MBps до 720p@4MBps

4K@68MBps до 1080p@8MBps

Рекомендуемые потоки Plex

Максимальное количество потоков 1080p при 15 Мбит/с для поддержки прямых трансляций без буферизации пауз на основе FPS чипсета и доступной видеопамяти. Этот расчет основан на скорости от 1080p при 15 МБ/с до 720p при 4 МБ/с на поток. См. раздел «Потоки для видеопамяти» для получения более подробной информации.

Несколько чипов NVENC

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

Принимая во внимание, что вам нужно декодировать тот же FPS, что и кодировать, давайте посмотрим на GTX 1070; Он поддерживает NVENC h.264 при 1262 кадрах в секунду, но только NVDEC h.264 при 658 кадрах в секунду. Это означает, что 658 кадров в секунду при 1080p — это максимальная пропускная способность с «однопроходным» профилем кодирования, а не полные 1262 кадра в секунду.

Используя профиль «высокого качества», GTX 1070 поддерживает NVENC h.264 при 776 кадрах в секунду, вы увидите улучшенное качество изображения и меньший размер закодированных потоков при сохранении пропускной способности 658 кадров в секунду при 1080p. Входные потоки с разрешением ниже 1080p или не использующие NVDEC (например, неподдерживаемый кодек) могут позволить этой карте использовать NVENC сверх ограничения NVDEC. HEVC NVDEC на этой карте поддерживает 720 кадров в секунду, что означает, что рабочая нагрузка HEVC в h.264 даст перекодирование 720 кадров в секунду, что на 60 кадров в секунду лучше, чем из h.264 в h.264.

Энергопотребление графического процессора

Без подключенного монитора GTX 970 с максимальным энергопотреблением 145 Вт будет потреблять около 80 Вт при 100% транскодировании NVDEC в NVENC.

Майкрософт Windows

Линукс

Linux NVENC / NVDEC Monitoring
Статистика использования в реальном времени:
watch -n 2 'nvidia-smi -q -d UTILIZATION'

Отчет об использовании:
nvidia-smi

Оптимизация Plex Media Server

  • Запустите библиотеку Plex с SSD (NVMe SSD для лучшей производительности), создав символическую ссылку в Linux.
    sudo ln -s "/SSD/Plex Media Server" "/var/lib/plexmediaserver/Library /Поддержка приложений/Plex Media Server"
  • Переместите «временный каталог транскодера» на RAM-диск, используя значение по умолчанию для Linux: «/dev/shm»
    /dev/shm позволяет по умолчанию использовать 50 % ОЗУ в качестве кэша.
    Вы потребуется около 1 ГБ на поток 1080p для 900-секундного «буфера дроссельной заслонки транскодера по умолчанию»

Справочник по VDPAU

Поддерживает полное ускорение для MPEG-1, MPEG-2, MPEG-4 Part 2 (он же MPEG-4 ASP), VC-1/WMV9 и H.264.

Глобальная компенсация движения и разделение данных не поддерживаются для MPEG-4, часть 2.

Аналогичен набору функций C, но добавлена ​​поддержка декодирования H.264 с разрешением до 4032 x 4080 и MPEG-1/MPEG-2 с разрешением до 4032 x 4048 пикселей.

Аналогичен набору функций D, но добавлена ​​поддержка декодирования H.264 с разрешением до 4096 × 4096 и MPEG-1/MPEG-2 с разрешением до 4080 × 4080 пикселей.

Графические процессоры с набором функций VDPAU E поддерживают расширенный режим маскирования ошибок, который обеспечивает более надежную обработку ошибок при декодировании поврежденных видеопотоков.

Карты с этим набором функций используют комбинацию аппаратного и программного обеспечения PureVideo, работающего на массиве шейдеров, для декодирования HEVC (H.265) как частичного/гибридного аппаратного декодирования видео.

Представлено специальное аппаратное декодирование видео HEVC Main 12 (12 бит) с разрешением до 4096 × 2304 пикселей.

Набор функций H обеспечивает аппаратное ускорение декодирования видеопотоков H.265/HEVC с разрешением 8192x8192 (разрешение 8k).

NVENC — это аппаратный видеокодер Nvidia, интегрированный в выделенные графические процессоры Nvidia.
Этот кодировщик возьмет на себя роль кодирования вашего видеопотока с вашего ЦП и вместо этого будет использовать выделенную графическую карту Nvidia. Технология NVENC от Nvidia была представлена ​​вместе с видеокартами серии Nvidia GeForce GTX 600 в марте 2012 г.

Как включить Nvidia NVENC?

Если параметр NVENC не включен в настройках захвата Overwolf, убедитесь, что у вас установлено следующее:

  1. Графическая карта Nvidia GeForce GTX 600 или более поздней версии (руководство см. в следующем разделе).
  2. Последние версии драйверов Nvidia. Проверьте здесь, обновлены ли ваши драйверы.

Если у вас нет графического процессора Nvidia, поддерживающего кодировку NVENC, этот кодировщик будет вам недоступен.

Как узнать, поддерживает ли моя видеокарта Nvidia кодировку NVENC?

Мы считаем это руководство наиболее точным и полезным.


Ошибки Nvidia NVENC

"Отключенное устройство Nvidia или неподдерживаемое/старое"

Объяснение:
Убедитесь, что ваше устройство включено в диспетчере устройств, или выберите другой кодировщик в наших настройках.

"Пожалуйста, обновите драйвер видеокарты или измените выбранный видеокодер"

Объяснение:
Это сообщение об ошибке появляется, когда ваш драйвер для выбранного кодировщика устарел.
Если вы используете один из аппаратных кодировщиков, обновите драйверы соответствующим образом (проверьте наличие обновлений драйверов). для графических процессоров Nvidia здесь).
Если вы не хотите обновлять свои драйверы, вы всегда можете переключиться на программный кодировщик x264 для записи в любое время (обратите внимание, что это может повлиять на качество записи).

"Произошла неизвестная ошибка"

Рассмотрите возможность изменения кодировщика на странице настроек Overwolf Capture:

  1. Откройте меню настроек Overwolf
  2. Перейдите к пункту "Снять"
  3. Нажмите "Дополнительно"
  4. В разделе "Кодировка" выберите другой кодировщик.
  5. Быстрая синхронизация > Nvidia
  6. Выберите x264, если другие варианты недоступны.

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

Пожалуйста, помогите нам решить эту проблему, обратившись в нашу службу поддержки: Служба поддержки Overwolf.

Обратите внимание, что это не жесткие ограничения. Аппаратное кодирование с помощью NVENC может работать на графических процессорах старых серий и старых операционных системах, но официально это не поддерживается.

Включение поддержки

Поддержка кодировщика NVIDIA NVENC включена в настройках на вкладке видео. Если ваша система не поддерживается, параметр будет отключен.

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

Следующие предустановки доступны в категории «Оборудование» в меню предустановок:

  • H.265 NVENC 2160P 4K
  • H.265 NVENC 1080p

Это хорошая отправная точка для настройки HandBrake для использования этих кодировщиков.

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

HandBrake поддерживает кодировщик NVIDIA NVENC, но не поддерживает декодер NVDEC.

ЦП по-прежнему будет использоваться для:

  • Декодирование видео
  • Все фильтры видео
  • Кодирование звука
  • Движок HandBrake, синхронизация аудио/видео и т. д.
  • Субтитры
  • Мультиплексирование

Все эти операции выполняются параллельно по мере выполнения задания. Таким образом, высокая (или даже 100%) загрузка ЦП является нормальным явлением даже при использовании NVENC.

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

Дополнительные параметры

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

При использовании графического интерфейса HandBrake вы можете установить параметры в поле «Дополнительные параметры» на вкладке «Видео» в следующем формате:

При использовании интерфейса командной строки HandBrake используйте параметр --encopts следующим образом:

Типы значений параметров

Поддерживаются следующие типы значений (каждый параметр принимает только один тип значения):

целое число
Число, которое может быть записано без дробной или десятичной части.

boolean
0 означает выключено (или отключено).
1 означает включено (или включено).

string
Алфавитно-цифровая строка символов. См. комментарии к параметрам для допустимых значений.

Список параметров

< td style="text-align:center;">✓ < td>Когда просмотр вперед включен, установите для этого параметра значение 1, чтобы включить адаптивное решение B-кадра (по умолчанию), 0, чтобы отключить его.
Option Тип H.264 H.265 Detail
gpu string Выбор графического процессора. Значения: любое (по умолчанию), 0 (первый GPU), 1 (второй GPU) и т. д.
coder string Выбор кодера. Значения: auto (по умолчанию), cabac , cavlc .
temporal-aq boolean Установите значение 1, чтобы включить временное адаптивное качество, и значение 0, чтобы отключить его (по умолчанию). Обратите внимание на дефис для H.264.
temporal_aq boolean ✓< /td> Установите значение 1, чтобы включить Temporal Adaptive Quality, 0, чтобы отключить его (по умолчанию). Обратите внимание на подчеркивание для H.265. Требуется RTX Turing 1660 или выше.
spatial-aq boolean Установите значение 1, чтобы включить пространственное адаптивное качество, и значение 0, чтобы отключить его (по умолчанию). Обратите внимание на дефис для H.264.
spatial_aq boolean ✓< /td> Установите значение 1, чтобы включить пространственное адаптивное качество, и значение 0, чтобы отключить его (по умолчанию). Обратите внимание на подчеркивание для H.265.
aq-strength int Когда Spatial AQ включен, шкала значений составляет от 1 (низкая) до 15 (агрессивная). По умолчанию: 8 .
nonref_p boolean Установите значение 1, чтобы включить автоматическую вставку нереференсных P-кадров, 0, чтобы отключить (по умолчанию).
strict_gop boolean Установите значение 1, чтобы свести к минимуму колебания скорости перехода между GOP, 0, чтобы отключить (по умолчанию).
weighted_pred boolean Установите значение 1, чтобы включить взвешенный предсказание, 0 для отключения (по умолчанию).
rc-lookahead int Количество кадров для прогнозирования скорости. По умолчанию: 0 .
b_adapt boolean
no-scenecut boolean Когда просмотр вперед включен, установите присвойте этому параметру значение 1, чтобы отключить адаптивную вставку I-кадра при смене сцены, 0, чтобы включить (по умолчанию).

Эта статья является частью документации HandBrake и написана Брэдли Сепосом (BradleyS) и Скоттом (s55). Присоединяйтесь к нам на GitHub, чтобы делиться своими мыслями и идеями и предлагать любые исправления.

Еще в субботу мы сообщали, что возможность виртуализации графических процессоров Nvidia, включенная только на некоторых графических процессорах для центров обработки данных, может быть разблокирована с помощью довольно простого взлома (хотя и только в Linux) на графических картах GeForce и Quadro для клиентских ПК. Судя по всему, это не единственная эксклюзивная функция центра обработки данных, которую можно включить на клиентских графических процессорах. Хак, созданный пользователем, по-видимому, снимает ограничение на максимальное количество сеансов кодирования видео.

Графические карты, которые такие компании, как AMD, Intel и Nvidia, продают операторам центров обработки данных, могут, среди прочего, декодировать и кодировать десятки видеопотоков одновременно. Эта возможность требуется для множества приложений, включая службы потоковой передачи видео, службы потоковой передачи игр, инфраструктуру виртуальных рабочих столов (VDI) и ряд других. Потребительские продукты, которые используют тот же кремний (с тем же оборудованием для кодирования/декодирования видео), что и платы центров обработки данных, лишены этих возможностей, и в случае Nvidia это означает до трех одновременных сеансов кодирования видео NVENC и до одного потока декодирования видео NVDEC (см. Матрица поддержки видеокодирования и декодирования GPU).

Очевидно, что количество одновременных видеопотоков, поддерживаемых механизмами NVENC/NVDEC от Nvidia в потребительских продуктах, можно уменьшить с помощью простого исправления для драйверов, которое доступно на Github. Другое исправление также обеспечивает поддержку путей захвата на уровне драйверов NVFBC и NVIFR, необходимых для потоковой передачи и служб VDI на потребительском оборудовании.

Nvidia не афиширует количество одновременных видеопотоков, одновременно поддерживаемых ее продуктами для центров обработки данных, но пару лет назад в одной из презентаций она сообщила, что некоторые карты Tesla и Quadro на основе процессоров Turing могут поддерживать до 11 высококачественных видеопотоков. потоков NVENC и до 17 потоков NVENC с малой задержкой. Тем не менее, можно ожидать, что карты GeForce RTX 2080/RTX 2080 Ti более высокого класса будут иметь аналогичные возможности.

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

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