NVENC кодирование

NVENC обеспечивает высококачественную кодировку видео, которая быстрее и энергоэффективнее по сравнению с аналогичными кодировщиками на базе CPU. Используя специальное аппаратное обеспечение для осуществления кодировки видео, ядра GPU с поддержкой CUDA и/или CPU свободны для выполнения других задач, требующих больших вычислительных ресурсов. NVENC на видеокартах GeForce может поддерживать не больше 2 одновременных потоков. NVENC на GRID GPU и Quadro K4000/M4000 и выше могут поддерживать столько потоков, сколько позволяет предел скорости кодировщика NVENC и свободная память.
В драйверах nVidia убрана возможность CUDA-кодирования (NVCUVENC), осталась только CUDA-декодирование (NVCUVID). NVIDIA CUDA Video Decoder (NVCUVID) – это библиотека, которая предоставляет разработчикам доступ к аппаратным возможностям декодирования видео на NVIDIA GPU с поддержкой CUDA. Аппаратное декодирование осуществляется либо на видеопроцессоре (VP), либо на аппаратном обеспечении с поддержкой CUDA, в зависимости от аппаратных возможностей и кодеков. Библиотека поддерживает следующие форматы видеопотока для платформы Windows: MPEG-2, VC-1 и H.264 (AVCHD).
Первая реализация NVENC кодирования в программах Adobe Premiere Pro CS6 и Media Encoder CS6 (Windows). Скачать плагин nvenc_export_v101.zip можно на следующей странице: _https://docs.google.com/file/d/0B96CRWkNxmWdSElqaDhZOXV6T3M/edit?pli=1.


Adobe Premiere Pro CS6

NVIDIA NVENC - это поддержка нового встроенного аппаратного H.264 видео кодера в чипсетах Kepler (6хх и 7хх серий), которая ускоряет работу кодирования видео до четырех раз. Поддержка разрешений до 4096х4096 и профилей: H.264 Base, Main, и High Profile Level 5.1. Поддержка MVC (Multiview Video Coding) для стерео видео и для Blu-ray 3D. Составляет прямую конкуренцию технологии Intel Quick Sync Video. Во время кодирования не используется основнойчип, поэтому потребление видеокарты составляет всего 10Вт.
Требования для использования NVENC плагина:
1)Видеокарты на чипсетах NVidia GPU Kepler с 1 Гб видеопамяти или более (GTX 650 или выше, GT 650M или выше). Обратите внимание, если у вас включено Mercury Playback Engine GPU Acceleration (CUDA) ускорение, то имейте в виду NVENC-плагин потребляет некоторую дополнительную видеопамять, поскольку он использует ваше GPU для выполнения H.264-кодирования. Поэтому рекомендуется использовать видеокарты с объемом бортовой памяти 2Гб и более.
2)Установить в систему Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) / vcredist_x64.exe. Выбираем: восстановить распространяемые части Microsoft Visual C++ 2010 x64... И нажимаем на кнопку: Далее >


NVIDIA NVENC

По окончании процесса восстановления, нажимаем на кнопку: Готово.

NVIDIA NVENC

Инструкция по установке в Adobe Premiere Pro CS6:
1)Просто копируем файл nvenc_export.prm в следующую директорию: C:\Program Files\Adobe\Adobe Premiere Pro CS6\Plug-ins\Common и C:\Program Files\Adobe\ Adobe Media Encoder CS6\Plug-ins\Common.


NVIDIA NVENC

2)Для выбора NVENC-plugin в Premiere Pro, Ctrl+M и выбираем: Export Settings > Format: NVENC_export.

NVIDIA NVENC

Качество: при использовании средне-высокого битрейта, NVENC кодирование сопоставимо с качеством штатного MainConcept, а при использовании низких битрейтов MainConcept лучше работает с меньшим количеством артефактов.
Как работает плагин: он забирает видеокадры из приложения Adobe Premiere Pro, затем преобразует кадры из несжатых YUV4:2:0 к планарному формату 420planar и далее в NV12-формат (с хост-процессором и системной памяти). После предварительной обработки переформатированное видео передается в nvencodeAPI. И отсюда, аппаратные средства NVENC, и управляют всеми аспектами сжатия видео. Когда NVENC аппаратная обработка будет закончена, он вызывает плагин для вывода отдать элементарные потоки, так как NVENC-аппаратные средства не кодирует ни аудио, ни создает мультиплекс, это по-прежнему осуществляется в программном обеспечении (на хост-процессоре).
Аппаратный блок NVENC имеет очень маленькие процессорные накладные расходы. Но поскольку кодирование видео, это всего один этап на всем пути рендеринга Adobe, загрузка центрального процессора скорее всего будет высокой и при использовании NVENC-плагина.
Максимально поддерживаемй размер кадра и профиль: H264 High-profile @ Level 5.1, 3840x2160 @ 30fps.
NVENC-плагин находится в статусе бета, поэтому многие вещи у него не работают: кодоирование чересстрочного видео (нет поддержки в драйверах nVidia). Аудио поддержка очень ограничена: только несжатое PCM, нет поддержки AAC или Dolby Digital. Мультиплексор, только поддержка MPEG-2 TS за счет использования сторонних инструментов TSMuxer.exe. MPEG-2 TS файлы проигрываются в Windows Media Player (WMP) без звука, так как проигрыватель не поддерживает PCM-аудио в MPEG-2 TS файлах. Нет поддержки MPEG-4 (*. MP4).
NVENC не поддерживает работу в Multi-GPU режиме, просто у нас есть возможность выбрать только одну видеокарту/GPU. Из описаний работы технологии NVENC понятно, что аппаратный блок NVENC одинаков у всех видеокарт Kepler от GTX 650 до Titan/GTX 780, поэтому нет надобности тестить все видеокарты семейства Kepler, достаточно остановиться на одном чипсете семейства. Характеристики Gainward GeForce GTX 660 2048MB GDDR5:


NVIDIA NVENC

Настройки плагина в Export Settings:

NVIDIA NVENC

Закладка Multiplexer, доступен выбор двух контейнеров: TS и None.

NVIDIA NVENC

Закладка Video > Nvidia GPU selection, здесь отображается информация о доступных видеокартах с поддержкой NVENC.

NVIDIA NVENC

Нажимаем на кнопку: NVENC Info.

NVIDIA NVENC

Закладка NVENC Config:

NVIDIA NVENC

Закладка Video codec group с одной доступной кнопкой: Codec Settings.

NVIDIA NVENC

Нажимаем на кнопку: Codec Settings и отобразится информация с настройками видео кодека.

NVIDIA NVENC

Закладка: Sample basic video param group.

NVIDIA NVENC

Закладка Audio, с поддержкой всего одного формата звука: несжатого РСМ, и выбором частоты дискретизации и каналов звука.


NVIDIA NVENC

Загрузка центрального процессора и оперативной памяти, посленяя используется весьма активно.

NVIDIA NVENC

Загрузку GPU видеокарты в утилите GPU-Z надо смотреть не как обычно в строке GPU Load, а в строке для загрузки видео ядра: Video Engine Load. Технология Boost Clock также не активизировалась.


NVIDIA NVENC

1080p25 DSLR клип длительностью 2 минуты и 47 секунд, выводился: 38 секунд. Таблички индикатора статуса всплывают две, первая это основное время, а вторая всего на несколько секунд.


NVIDIA NVENC

Информация (Properties) Adobe Premiere Pro CS6 после импорта созданного видео в проект:

NVIDIA NVENC

Читаем далее о новых версиях NVIDIA NVENC плагина.

 
Рейтинг@Mail.ru