stringtranslate.com

Nvidia NVENC

Nvidia NVENC (сокращение от Nvidia Encoder) [1] — это функция в видеокартах Nvidia , которая выполняет кодирование видео , перекладывая эту ресурсоемкую задачу с центрального процессора на выделенную часть графического процессора . Она была представлена ​​в серии GeForce 600 на базе Kepler в марте 2012 года (GT 610, GT620 и GT630 — это архитектура Fermi). [2] [3]

Кодер поддерживается многими программами для прямой трансляции и записи, такими как vMix , Wirecast , Open Broadcaster Software (OBS) и Bandicam , а также приложениями для редактирования видео, такими как Adobe Premiere Pro или DaVinci Resolve . Он также работает с Share game capture, который включен в программное обеспечение GeForce Experience от Nvidia. [4] [5] [6]

До марта 2023 года потребительские видеокарты GeForce официально поддерживали не более трех одновременно кодирующих видеопотоков, независимо от количества установленных карт, но это ограничение можно обойти в системах Linux и Windows , применив неофициальный патч к драйверам . Это также разблокирует NVIDIA Frame Buffer Capture (NVFBC) , быстрый API захвата рабочего стола , который использует возможности графического процессора и его драйвера для ускорения захвата. [7] Профессиональные карты поддерживают от трех до неограниченного количества одновременных потоков на карту, в зависимости от модели карты и качества сжатия, [2] ограничения были ослаблены в 2023 году, позволяя одновременно кодировать до 5 видеопотоков. [8] С января 2024 года восемь одновременных видеопотоков кодирования стали базовым уровнем. [9]

Чипы Nvidia также оснащены встроенным декодером NVDEC (сокращение от Nvidia Dec oder ), чтобы перенести декодирование видео с центрального процессора на выделенную часть графического процессора. [2]

Версии

NVENC претерпел несколько аппаратных изменений с момента своего появления с первым графическим процессором Kepler (GK104). [10]

Первое поколение, Kepler GK1xx

Первое поколение NVENC, которое используется во всех графических процессорах на базе Kepler , поддерживает высококлассный H.264 (YUV420, кадры I/P/B, CAVLC/CABAC), временное кодирование H.264 SVC VCE и режим кодирования дисплея (DEM).

В документации NVidia указана пиковая пропускная способность кодировщика 8× в реальном времени при разрешении 1920×1080 (где базовый уровень «1×» равен 30  Гц). Фактическая пропускная способность зависит от выбранной предустановки, контролируемых пользователем параметров и настроек, а также тактовых частот графического процессора/памяти. Опубликованный рейтинг 8× достигается с высокопроизводительной предустановкой NVENC, которая жертвует эффективностью и качеством сжатия ради пропускной способности кодировщика. Высококачественная предустановка значительно медленнее, но создает меньше артефактов сжатия

Второе поколение, Maxwell GM107

Представленное в архитектуре Maxwell первого поколения , второе поколение NVENC добавляет поддержку высокопроизводительного профиля HP444 (YUV4:4:4, предиктивное кодирование без потерь) и увеличивает пропускную способность кодера до 16× в реальном времени, что соответствует примерно 1080p при 480  Гц с предустановкой высокой производительности.

Maxwell GM108 не поддерживает аппаратный кодер NVENC.

Третье поколение, Maxwell GM20x

Представленное с архитектурой Maxwell второго поколения, третье поколение NVENC реализует алгоритм сжатия видео High Efficiency Video Coding (он же HEVC, H.265), а также увеличивает пропускную способность кодера H.264 для покрытия разрешения 4K при 60  Гц (2160p60). Однако он не поддерживает B-кадры для кодирования HEVC (только I и P-кадры ). Максимальный размер блока дерева кодирования HEVC NVENC (CU) составляет 32 (стандарт HEVC допускает максимум 64), а минимальный размер CU составляет 8.

В кодировании HEVC также отсутствует Sample Adaptive Offset (SAO). Адаптивное квантование, управление скоростью с упреждением, адаптивные B-кадры (только H.264) и адаптивные функции GOP были добавлены с выпуском Nvidia Video Codec SDK 7. [14] Эти функции полагаются на ядра CUDA для аппаратного ускорения.

SDK 7 поддерживает две формы адаптивного квантования: пространственное AQ ( H.264 и HEVC) и временное AQ (только H.264).

Потребительские карты Nvidia (GeForce) и некоторые из ее младших профессиональных карт Quadro ограничены тремя одновременными заданиями кодирования. Более старшие карты Quadro не имеют этого ограничения.

Четвертое поколение, Pascal GP10x

Четвертое поколение NVENC реализует аппаратное кодирование HEVC Main10 10-бит. Оно также удваивает производительность кодирования 4K H.264 и HEVC по сравнению с предыдущим поколением NVENC. Оно поддерживает HEVC 8K, 4:4:4 цветовую субдискретизацию , кодирование без потерь и адаптивное смещение выборки (SAO).

В Nvidia Video Codec SDK 8 добавлена ​​эксклюзивная для Pascal функция Weighted Prediction ( на основе CUDA ). Weighted Prediction не поддерживается, если сеанс кодирования настроен с B-кадрами (H.264).

Для кодирования HEVC поддержка B-Frame отсутствует , а максимальный размер CU составляет 32×32.

NVIDIA GT 1030 и Mobile Quadro P500 — это чипы GP108, которые не поддерживают кодер NVENC. [11]

В графических решениях для ноутбуков NVIDIA MX Graphics не включает NVENC, поскольку они основаны на чипе GM108 поколения Maxwell или чипе GP108 поколения Pascal. [15] GeForce MX350 — это чип GP107, кодер NVENC которого отключен во время производства.

Пятое поколение, Volta GV10x/Turing TU117

Volta NVENC имеет такую ​​же производительность, как и Pascal NVENC. [1]

Он не поддерживает HEVC B-Frames.

В мобильной графике, как и большинство других графических карт серии GeForce MX, GeForce MX450 не поддерживает NVENC, поскольку это чип TU117, аппаратный кодер которого постоянно отключается при производстве. Однако GeForce MX550 поддерживает NVENC, поскольку его аппаратный кодер остается включенным на уровне производства.

Шестое поколение, Turing TU10x/TU116

Шестое поколение NVENC реализует кодирование HEVC 8K со скоростью 30 FPS, HEVC B-кадры и HEVC B-кадры в качестве эталона (с поддержкой каждого и среднего режимов [16] ) и поддержку Alpha HEVC [17] и обеспечивает экономию битрейта до 25% для HEVC и экономию битрейта до 15% для H.264. Однако первоначальный запуск Nvidia GeForce GTX 1650 был исключен из этого поколения, поскольку он использовал Volta NVENC вместо Turing. Nvidia обновила кодировщик NVENC карт GTX 1650 в 2020 году, чтобы также использовать движок Turing. [18] GTX 1650 Super использует движок Turing NVENC, поскольку он основан на TU116, а не на TU117, используемом в оригинальной GTX 1650. [19]

Седьмое поколение, Ampere GA10x

Ampere по сути имеет тот же самый движок генерации NVENC, что и Turing. [20] Единственное существенное отличие заключается в том, что NVDEC получил поддержку декодирования AV1 (с зернистостью пленки).

В мобильной графике начального уровня GeForce MX570 на базе чипа GA107 выпускается в двух версиях, в одной из которых (GeForce MX570 A) аппаратный декодер и кодер навсегда отключены во время производства.

Восьмое поколение, Ада Лавлейс AD10x

Nvidia анонсировала следующее поколение NVENC с фиксированным аппаратным кодером AV1 8K 10 бит 60FPS в графических процессорах Ada Lovelace . [21] [22]

Поддержка операционной системы

Ядро Nvidia NVENC SIP должно поддерживаться драйвером устройства . Драйвер предоставляет один или несколько интерфейсов (например, OpenMAX IL ) для NVENC. Доступ к ядру NVENC SIP возможен только через фирменный API NVENC (в отличие от API VDPAU с открытым исходным кодом ).

Он входит в комплект драйвера GeForce от Nvidia .

NVENC доступен для операционных систем Windows и Linux. [2] Бесплатный и открытый драйвер устройства nouveau не поддерживает Nvidia NVENC. [23]

Поддержка прикладного программного обеспечения

Пропускная способность графического процессора

Сравнение пропускной способности кодирования [37] [ необходима ссылка ]

Смотрите также

Ссылки

  1. ^ "Видеокарты NVIDIA GeForce RTX 40 Series". NVIDIA . Получено 28 февраля 2024 г. .
  2. ^ abcd "NVIDIA VIDEO CODEC SDK". Разработчик NVIDIA . Nvidia . 23 августа 2013 г. . Получено 12 ноября 2017 г. .
  3. ^ "Набор функций Максвелла: уточненный Кеплер". AnandTech . 18 февраля 2014 г.
  4. ^ «Системные требования для NVIDIA GeForce Experience | GeForce | GeForce». www.geforce.com . Получено 17 августа 2016 г. .
  5. ^ "Wirecast Tech Specs". telestream.net . Получено 19 декабря 2017 г. .
  6. ^ "Open Broadcaster Software – Index". obsproject.com . Архивировано из оригинала 23 марта 2019 г. Получено 17 августа 2016 г.
  7. ^ "nvidia-patch". GitHub .
  8. ^ Шилов, Антон (24 марта 2023 г.). «Nvidia снимает некоторые ограничения на кодирование видео с потребительских графических процессоров». tomshardware . Получено 26 марта 2023 г. .
  9. ^ «Матрица поддержки графического процессора для кодирования и декодирования видео».
  10. ^ "S5613 – Высокопроизводительное кодирование видео с использованием графических процессоров NVIDIA". Nvidia .
  11. ^ abc "Матрица поддержки видеокодирования и декодирования GPU". NVIDIA Developer . 9 ноября 2016 г. Получено 22 августа 2020 г.
  12. ^ ab "NVIDIA VIDEO CODEC SDK". NVIDIA Developer . 9 ноября 2016 г. Получено 22 августа 2020 г.
  13. ^ "NVIDIA Ampere Architecture In-Depth". Блог разработчиков NVIDIA . 14 мая 2020 г. Получено 31 августа 2020 г.
  14. ^ http://on-demand.gputechconf.com/gtc/2016/presentation/s6226-abhijit-patait-high- Performance-video.pdf [ пустой URL-адрес PDF ]
  15. ^ «NVIDIA GeForce MX250 и MX230 – когда графика «сейчас» на ноутбуке» . Добре Программы (на польском языке). 21 февраля 2019 г.
  16. ^ "Флаг режима ссылки B-Frame в ffmpeg nvenc содержит ошибку и не работает. · Проблема № 2374 · obsproject/obs-studio". GitHub . Получено 24 марта 2021 г. .
  17. Харрисон, Джон (30 января 2021 г.). "johnhe4/nvenc_h265_transparency". GitHub . Получено 24 марта 2021 г. .
  18. ^ "Видеокарта NVIDIA GeForce GTX 1650". NVIDIA . Получено 24 марта 2021 г. .
  19. ^ Уолтон, Джарред (23 ноября 2019 г.). "Обзор Nvidia GeForce GTX 1650 Super". PC Gamer . Получено 24 марта 2021 г. .
  20. ^ "Архитектура графического процессора NVIDIA Ampere GA102: второе поколение RTX" (PDF) . NVIDIA . Получено 21 сентября 2022 г. .
  21. ^ Грей, Джон (20 сентября 2022 г.). «Творчество со скоростью света: видеокарты серии GeForce RTX 40 обеспечивают двукратный рост производительности в 3D-рендеринге, ИИ и экспорте видео для геймеров и создателей контента». NVIDIA . Получено 21 сентября 2022 г.
  22. ^ "NVIDIA Video Codec SDK". NVIDIA . 23 августа 2013 г. . Получено 21 сентября 2022 г. .
  23. ^ "Матрица функций модерна" . Freedesktop.org .
  24. ^ Tack, Stanley (19 мая 2020 г.). «Переход к видео: Adobe Premiere Pro помогает создателям контента работать быстрее с помощью экспорта с ускорением на GPU | Блог NVIDIA». Официальный блог NVIDIA . Получено 24 марта 2021 г.
  25. ^ «BRIDGE LIVE — это готовая система вещательного качества с низкой задержкой».
  26. ^ Журнал изменений AVIDemux
  27. ^ Официальный пост форума CyberLink
  28. ^ "Blackmagic Forum • Просмотр темы – Davinci studio 16, NVENC недоступен". forum.blackmagicdesign.com . Получено 24 марта 2021 г. .
  29. ^ "nvenc.c Аппаратное кодирование H.264 с использованием nvidia nvenc".
  30. ^ "QUADRO DESKTOP/QUADRO NOTEBOOK ДРАЙВЕР ВЫПУСКА 375".
  31. ^ "Nvcodec".
  32. ^ Выпущен HandBrake 1.2.0
  33. ^ сообщение на форуме сотрудника, в котором говорится, что существует проблема с тем, как программное обеспечение взаимодействует с кодировщиком, но в то же время говорится, что она существует
  34. ^ «Транскодирование | Jellyfin».
  35. ^ Информация о MacroSystem Arabesk 8 от Casablanca Expert
  36. ^ vMix 27 уже здесь!
  37. ^ "Ресурсы NVIDIA vGPU для проектирования и виртуализации". NVIDIA . Получено 24 марта 2021 г. .

Внешние ссылки