Nvidia NVENC (сокращение от Nv idia Enc oder) - это функция видеокарт Nvidia, которая выполняет кодирование видео , перекладывая эту ресурсоемкую задачу с центрального процессора на выделенную часть графического процессора . Он был введен с Kepler -На GeForce 600 серии в марте 2012 года [1] [2]
Кодировщик поддерживается многими программами прямой трансляции и записи, такими как Wirecast , Open Broadcaster Software (OBS) и Bandicam , а также приложениями для редактирования видео, такими как Adobe Premiere Pro или DaVinci Resolve . Он также работает с функцией Share game capture, которая включена в программное обеспечение Nvidia GeForce Experience. [3] [4] [5]
Видеокарты GeForce, ориентированные на потребителей, официально поддерживают не более 3-х одновременно кодирующих видеопотоков, независимо от количества установленных карт, но это ограничение можно обойти в системах Linux и Windows , применив неофициальный патч к драйверам , который также может разблокировать NVFBC. . [6] Профессиональные карты поддерживают от 3 до неограниченных одновременных потоков на карту, в зависимости от модели карты и качества сжатия. [1]
Чипы Nvidia также оснащены встроенным декодером NVDEC (сокращенно от Nv idia Dec oder), который переносит декодирование видео с центрального процессора на выделенную часть графического процессора. [1]
Версии [ править ]
С момента появления первого графического процессора Kepler (GK104) NVENC претерпел несколько аппаратных изменений. [7]
Аппаратное обеспечение графического процессора | H.264 (AVC) (В H.264 NVENC всегда поддерживает B-кадр, максимальное разрешение 4096x4096 и максимальную 8-битную глубину) | H.265 (HEVC) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Поколение NVENC | Кодовое имя графического процессора | NVENC на чип | Цветность | Кодирование без потерь | Цветность | Кодирование без потерь | разрешение | Глубина цвета | B кадры | ||
4: 2: 0 | 4: 4: 4 | 4: 2: 0 | 4: 4: 4 | ||||||||
1-е поколение | GK110 | 1 | H.265 не поддерживается | ||||||||
GK107 | |||||||||||
GK106 | |||||||||||
GK104 | |||||||||||
2-е поколение | GM108 | 0 | Энкодеры NVENC недоступны | ||||||||
GM107 | 1 | H.265 не поддерживается | |||||||||
3-е поколение | GM208 | 1 | |||||||||
GM206 | Y? [9] N? [8] | Y? [9] N? [8] | 4096 х 4096 | 8-битный | |||||||
GM204 | 2 | ||||||||||
GM200 | |||||||||||
4-е поколение | GP108 | 0 | Энкодеры NVENC недоступны | ||||||||
GP107 | 1 | 8192 х 8192 | 10-битный | ||||||||
GP106 | |||||||||||
GP104-2xx + | 2 | ||||||||||
GP104-1xx | 1 | ||||||||||
GP102 | 2 | ||||||||||
GP100 | 3 | 4096 х 4096 | |||||||||
5-го поколения | GV10x | 8192 х 8192 | |||||||||
6-го поколения | ТУ117 | 1 | |||||||||
ТУ116 | |||||||||||
ТУ106 | |||||||||||
ТУ104 | |||||||||||
ТУ102 | |||||||||||
7-го поколения | GA106 | 1 | 8192 х 8192 | 10-битный | |||||||
GA104 | |||||||||||
GA102 | |||||||||||
A100 [10] | 0 | Энкодеры NVENC недоступны |
Первое поколение, Kepler GK1xx [ править ]
Первое поколение NVENC, которое используется всеми графическими процессорами на базе Kepler , поддерживает H.264 high-profile (YUV420, I / P / B frames, CAVLC / CABAC), H.264 SVC Temporal Encode VCE и Display Encode Mode. (DEM).
В документации NVidia указана пиковая пропускная способность кодировщика 8 × в реальном времени при разрешении 1920 × 1080 (где базовое значение «1 ×» равно 30 Гц). Фактическая пропускная способность зависит от выбранных предустановок, управляемых пользователем параметров и настроек, а также от тактовых частот графического процессора / памяти. Опубликованный 8-кратный рейтинг достигается с помощью высокопроизводительной предустановки NVENC, которая жертвует эффективностью сжатия и качеством ради пропускной способности кодировщика. Высококачественная предустановка работает значительно медленнее, но дает меньше артефактов сжатия .
Второе поколение, Maxwell GM107 [ править ]
Представленный с архитектурой Maxwell первого поколения, NVENC второго поколения добавляет поддержку высокопроизводительного профиля HP444 (YUV4: 4: 4, прогнозируемое кодирование без потерь) и увеличивает пропускную способность кодировщика до 16 раз в реальном времени, что соответствует примерно 1080p @ 480 Hz с предустановкой высокой производительности.
Maxwell GM108 не поддерживает аппаратный кодировщик NVENC.
Третье поколение, Maxwell GM20x [ править ]
Представленный с архитектурой Maxwell второго поколения, NVENC третьего поколения реализует алгоритм сжатия видео High Efficiency Video Coding (также известный как HEVC, H.265), а также увеличивает пропускную способность кодировщика H.264 для обеспечения разрешения 4K при 60 Гц (2160p60). Однако он не поддерживает B-кадры для кодирования HEVC (только I и P кадры ). Максимальный размер единицы дерева кодирования (CU) NVENC HEVC составляет 32 (стандарт HEVC допускает максимум 64), а его минимальный размер CU равен 8.
В кодировании HEVC также отсутствует выборочное адаптивное смещение (SAO). Адаптивное квантование, упреждающее управление скоростью, адаптивные B-кадры (только H.264) и функции адаптивной GOP были добавлены с выпуском Nvidia Video Codec SDK 7. [11] Эти функции полагаются на ядра CUDA для аппаратного ускорения.
SDK 7 поддерживает две формы адаптивного квантования; Пространственный AQ (H.264 и HEVC) и Temporal AQ (только H.264).
Карты потребительского уровня (GeForce) Nvidia и некоторые из ее профессиональных карт Quadro более низкого уровня могут выполнять только три одновременных задания по кодированию. Карты Quadro более высокого уровня не имеют этого ограничения.
Четвертое поколение, Pascal GP10x [ править ]
NVENC четвертого поколения реализует 10-битное аппаратное кодирование HEVC Main10. Он также вдвое увеличивает производительность кодирования 4K H.264 и HEVC по сравнению с NVENC предыдущего поколения. Он поддерживает подвыборку цветности HEVC 8K, 4: 4: 4 , кодирование без потерь и адаптивное смещение выборки (SAO).
В Nvidia Video Codec SDK 8 добавлена эксклюзивная функция взвешенного прогнозирования Pascal (на основе CUDA). Взвешенное прогнозирование не поддерживается, если сеанс кодирования настроен с кадрами B (H.264).
Нет поддержки B-кадра для кодирования HEVC, а максимальный размер CU составляет 32 × 32.
NVIDIA GT 1030 и Mobile Quadro P500 - это чипы GP108, которые не поддерживают кодировщик NVENC. [8]
В графике для ноутбуков NVIDIA MX Graphics не включает NVENC, поскольку они основаны на микросхеме GM108 поколения Maxwell или GP108 поколения Pascal. [12] GeForce MX350 - это микросхема GP107, кодер NVENC которой отключен во время производства.
Пятое поколение, Volta GV10x / Turing TU117 [ править ]
Volta NVENC имеет такую же производительность, как и NVENC Паскаля. [1]
Он не поддерживает B-кадры HEVC.
Шестое поколение, Turing TU10x / TU116 [ править ]
Шестое поколение NVENC реализует кодирование HEVC 8K со скоростью 30 кадров в секунду, B-кадры HEVC и B-кадры HEVC в качестве эталона (с поддержкой каждого и среднего режимов [13] ), а также поддержку Alpha HEVC [14] и обеспечивает экономию битрейта до 25% для HEVC и экономия битрейта до 15% для H.264. Однако первоначальный запуск Nvidia GeForce GTX 1650 был исключен из этого поколения, поскольку он использовал Volta NVENC вместо Turing. Nvidia обновила кодировщик NVENC карт GTX 1650 в 2020 году, чтобы также использовать движок Тьюринга. [15] GTX 1650 Super использует движок Turing NVENC, поскольку он основан на TU116, а не на TU117, который использовался в оригинальной GTX 1650. [16]
Седьмое поколение, Ampere GA10x [ править ]
У Ампера, по сути, такой же двигатель поколения NVENC, что и у Тьюринга. [17] Только NVDEC получил поддержку декодирования AV1 (с зернистостью пленки).
Поддержка операционной системы [ править ]
Ядро Nvidia NVENC SIP должно поддерживаться драйвером устройства . Драйвер предоставляет один или несколько интерфейсов (например, OpenMAX IL ) для NVENC. Доступ к ядру NVENC SIP можно получить только через проприетарный API NVENC (в отличие от API VDPAU с открытым исходным кодом ).
Он идет в комплекте с драйвером GeForce от Nvidia .
NVENC доступен для операционных систем Windows и Linux. [1] Драйвер Nouveau устройства свободным и открытым исходным кодом не поддерживает Nvidia NVENC. [18]
Поддержка прикладного программного обеспечения [ править ]
- Adobe Premiere Pro добавила поддержку NVENC в версии 14.2 в мае 2020 г. [19]
- Avidemux поддерживает NVENC как минимум с 2016 года [20]
- Bandicut
- Corel VideoStudio
- DaVinci Resolve Studio при экспорте видео в H.264 или H.265 [21]
- FFmpeg поддерживает NVENC с 2014 года [22] и поддерживается драйверами Nvidia [23]
- HandBrake добавил поддержку NVENC в версии 1.2.0 в декабре 2018 г. [24]
- HitFilm express / pro при предварительном просмотре видео на шкале времени или при экспорте видео в H.264 или H.265 [25]
- MacroSystem BogartSE поддерживает экспорт NVENC с версии 9.4 (октябрь 2017 г.) и кодирование UHD-дисков с версии 11.3 (октябрь 2019 г.) [26]
- MediaCoder
- Программное обеспечение Open Broadcaster Software (OBS)
- Выстрел
- StaxRip
- VideoProc
- XMedia Recode
Пропускная способность графического процессора [ править ]
Сравнение пропускной способности кодирования [27]
Потоки | Кодирование H.264 (1080p30) |
---|---|
GM204 (Тесла M6) | 18 |
GM107 (Тесла M10) | 28 год |
GP104 (Тесла P4) | 24 |
ТУ104 (Тесла Т4) | 32 |
P100 | 36 |
V100 | 36 |
См. Также [ править ]
- Intel Quick Sync Video , эквивалентное ядро SIP от Intel
- Video Coding Engine , эквивалентное ядру AMD SIP до 2017 г.
- Video Core Next , видеоядро AMD, сочетающее в себе функции Video Coding Engine и Unified Video Decoder.
- Nvidia PureVideo , аппаратное декодирование видео.
- NVIDIA GPU , Список графических процессоров Nvidia
- Nvidia NVDEC
Ссылки [ править ]
- ^ a b c d "NVIDIA VIDEO CODEC SDK" . Разработчик NVIDIA . Nvidia . Проверено 12 ноября 2017 .
- ^ «Набор функций Максвелла: Уточненный Кеплер» . AnandTech . 2014-02-18.
- ^ «Системные требования для NVIDIA GeForce Experience | GeForce | GeForce» . www.geforce.com . Проверено 17 августа 2016 .
- ^ "Технические характеристики Wirecast" . telestream.net . Проверено 19 декабря 2017 .
- ^ "Open Broadcaster Software - указатель" . obsproject.com . Архивировано из оригинала на 2019-03-23 . Проверено 17 августа 2016 .
- ^ "nvidia-patch" . GitHub .
- ^ «S5613 - высокопроизводительное кодирование видео с использованием графических процессоров NVIDIA» . Nvidia .
- ^ a b c d «Матрица поддержки видеокодирования и декодирования графического процессора» . Разработчик NVIDIA . 2016-11-09 . Проверено 22 августа 2020 .
- ^ a b c "NVIDIA VIDEO CODEC SDK" . Разработчик NVIDIA . 2016-11-09 . Проверено 22 августа 2020 .
- ^ "Архитектура NVIDIA Ampere в деталях" . Блог разработчиков NVIDIA . 2020-05-14 . Проверено 31 августа 2020 .
- ^ http://on-demand.gputechconf.com/gtc/2016/presentation/s6226-abhijit-patait-high-performance-video.pdf
- ^ [NVIDIA GeForce MX250 и MX230 - две «новые» графики для ноутбуков: https://newsbeezer.com/polandeng/nvidia-geforce-mx250-and-mx230-two-new-graphics-for-laptops/ ]
- ^ "Флаг режима ссылки B-кадра в ffmpeg nvenc ошибается и не работает. Проблема # 2374 · obsproject / obs-studio" . GitHub . Проверено 24 марта 2021 .
- ^ Харрисон, Джон (30.01.2021), johnhe4 / nvenc_h265_transparency , получено 24.03.2021
- ^ «Графическая карта NVIDIA GeForce GTX 1650» . NVIDIA . Проверено 24 марта 2021 .
- ^ Уолтон, Джарред (2019-11-23). «Обзор Nvidia GeForce GTX 1650 Super» . PC Gamer . Проверено 24 марта 2021 .
- ^ https://www.nvidia.com/content/dam/en-zz/Solutions/geforce/ampere/pdf/NVIDIA-ampere-GA102-GPU-Architecture-Whitepaper-V1.pdf
- ^ "Матрица характеристик модерна" . Freedesktop.org .
- ^ Так, Стэнли (2020-05-19). «Переход к видео: Adobe Premiere Pro помогает создателям контента работать быстрее благодаря экспорту с ускорением на GPU | Блог NVIDIA» . Официальный блог NVIDIA . Проверено 24 марта 2021 .
- ^ Журнал изменений AVIDemux
- ^ «Форум Blackmagic • Просмотр темы - Davinci studio 16, NVENC недоступен» . forum.blackmagicdesign.com . Проверено 24 марта 2021 .
- ^ "Аппаратное кодирование nvenc.c H.264 с использованием nvidia nvenc" .
- ^ "QUADRO DESKTOP / QUADRO Notebook DRIVER RELEASE 375" .
- ^ Выпущен HandBrake 1.2.0
- ^ сообщение на форуме сотрудника, в котором говорится, что существует проблема с тем, как программное обеспечение взаимодействует с кодировщиком, но в то же время говорится, что он завершается
- ^ Информация о MacroSystem Arabesk 8 от Casablanca Expert
- ^ «Ресурсы NVIDIA vGPU для проектирования и визуализации» . NVIDIA . Проверено 24 марта 2021 .
Внешние ссылки [ править ]
- SDK NVIDIA VIDEO CODEC
- Матрица поддержки NVENC