NVENC

Мало кто помнит, что именно на efxi.ru была выложена инструкция, как включить штатную поддержку Intel Quick Sync Video (которая официально была добавлена только в обновлении Adobe Premiere Pro CC 2018.1), вот она. Также был выложен видеомануал сначала в группе Вконтакте, а потом на youtube канале.



И эта статья также планировалась, как продолжение, но уже с аппаратным включением кодирования с помощью NVENC (про декодированием этим движком писалось здесь). То что такая функция появилась, закралась мысль просматривая новые команды в панеле Console (Консоль) в закладке Debug Database View, а именно: ExporterMPEG4.Feature.AllowNVidiaHWExport.


ExporterMPEG4.Feature.AllowNVidiaHWExport

Сразу напишу, что завести эту опцию не получилось (было проверено очень много вариантов настроек и т.п.). Но, так как на руках была только одна десктопная видеокарта построенная на чипсете nVidia GeForce GT 1030, но он не поддерживает (закрыт или вырезан неизвестно) NVENC (со списком видеокарт/чипсетов поддерживаемых NVENC можно ознакомиться здесь) и кстати будьте внимательны, в продажу поступили видеокарты nVidia GeForce GT 1030 c DDR4 вместо GDDR5 памяти. То было принято решение проверить работу NVENC на мобильной видеокарте NVIDIA GeForce GTX 660M в составе ноутбука MSI GE70 0ND-082XRU.


NVIDIA GeForce GTX 660M

Это первое поколение видеокарт с поддержкой NVENC и минимально рекомендуемая архитектура для обновления Adobe Premiere Pro CC 2018.1 (12.1.0.186). Таблица с поддерживаемыми форматами и разрешениями (для графики поколения Kepler):


NVENC

Данная видеокарта уже участвовала в тестировании плагина NVENC_export, поэтому он ниже не будет участвовать в проверке работы и эффективности NVENC.
Итак, так как ноутбук не первой свежести, то будем использовать AVCHD 2.0 видео со следующими характеристиками:


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В настройках проекта выбираем движок: Аппаратное GPU-ускорение ядра Mercury Playback (CUDA).

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Информация о видеокартах отображаемая утилитой GPUSniffer:

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В настройках экспорта выбираем формат с именем плагина: Voukoder 0.7.1a.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Video Settings > Video Encoder: NVIDIA NVENC H.264 encoder. Preset: Slow.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 835 МГц. Блок Video Engine Load был загружен на 99%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В Диспетчере задач, общая загрузка двухъядерного мобильного процессора Intel Core i5-3210M с поддержкой технологии Hyper-Threading составила 73%.


nVidia GeForce GT 1030

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 71.7%, утилизировано оперативной памяти процессом: 2.6Гбайт.


nVidia GeForce GT 1030

Итоговое время рендеринга: 82 секунды (против 293 секунд, при рендеринге силами только центрального процессора, с атрибутами исходного файла).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

С помощью утилиты Media Info смотрим характеристики полученного видео:

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

У плагина Voukoder есть несколько пресетов качества/производительности (в том числе и Fast):

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Снова отправляем AVCHD 2.0 видео на экспорт (Ctrl+M). И в настройках экспорта выбираем Формат: Cinegy H.264. Подробнее об этом кодеке/движке, читаем здесь.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Выбираем Preset: Balanced.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 835 МГц. Блок Video Engine Load был загружен на 66%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ггц составила 100%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 97.9%, утилизировано оперативной памяти процессом: 2.9Гбайта.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Итоговое время рендеринга составило: 76 секунд.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

С помощью утилиты Media Info смотрим характеристики полученного видео:

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Что еще нам предлагает Cinegy? В принципе ничего нового, нам предлагается перевести видео в промежуточный/монтажный кодек для комфортной работы на таймлайне. Так это реализовано было компанией GoPro, которая купила Cineform и предлагала с помощью бесплатной утилиты GoPro CineForm Studio переводить H.264 Long GOP в хорошо себя зарекомендовавший в Adobe Premiere Pro (и не только) монтажный кодек Cineform.
Таким же образом реализуются: плавность на таймлайне и скорость работы в программе Apple Final Cut Pro X, когда в фоне все H.264 Long GOP переводится в ProRes, подробно это разобрано здесь.
Итак, выбираем в настройках экспорта, Формат: Cinegy Daniel2, и как видим, Имя выходного файла получило расширение .mxf (MXF контейнер).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Стандартные для всех монтажных кодеков характеристики: 10-бит и 422, но особо интересен пункт: Encoder Settings > Encoder Type: GPU и ползунок Encoders Count (количество задействованных видеокарт/чипсетов? Попробуем подробнее узнать об этом пункте у производителя плагина).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц (а не 835 МГц). И для GPU рендеринга использовались CUDA процессоры с загрузкой 60%, а не аппаратный блок NVENC (Video Engine Load). Т.е. видимо может использоваться стандартная схема Multi-GPU.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ггц составила 100%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 96.7%, утилизировано оперативной памяти процессом: 3.7Гбайта. Обращаем внимание на загрузку дисковой подсистемы: 31.3 Мбайта (на ноутбуках это самое узкое место, отсюда и загрузка GPU может зависеть от скорости записи ноутбучного жесткого диска).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

С помощью утилиты Media Info смотрим характеристики полученного видео:

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Теперь импортируем полученное после рендера видео в программу Adobe Premiere Pro CC 2018.1 (здесь не будет рассматриваться как создавать прокси с помощью Cinegy Daniel2 или использование папки отслеживания в Adobe Media Encoder CC 2018.1) и смотрим свойства этого видео. Для открытия файла использовался импортер: Cinegy.DANIEL2.Importer.prm.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Запускаем воспроизведение этого видео на таймлайне, плавное вопроизведение и легкая работа на таймлайне, без пропуска кадров. Высокое качество воспроизведения (High Quality Playback). CUDA Render System. PF: VUY 422 10u 709 Cinegy.DANIEL2.Importer.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

GPU Load = 90%, т.е. при декодировании видео участвуют CUDA процессоры NVIDIA GeForce GTX 660M, а не блок NVENC.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора при декодировании видео на таймлайне, процессом Adobe Premiere Pro.exe: 35.4%, утилизировано оперативной памяти процессом: 3.2Гбайта. Загрузка дисковой подсистемы: 26.1 Мб/с.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Теперь проверим, как скажется на загрузке и скорости, если мы будем выводить Cinegy Daniel2 видео в Cinegy H.264.
Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц. Для GPU декодирования использовались CUDA процессоры с загрузкой 80%, а для кодирования видео в формат H.264 - аппаратный блок NVENC, Video Engine Load = 85%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 81%, утилизировано оперативной памяти процессом: 4.3Гбайта.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Итоговое время рендеринга: 74 секунды.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Проблемой работы с таким материалом, может быть дисковая подсистема, особенно на старых ноутбуках без SSD (твердотельных накопителей).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Подробно связь дисковой подсистемы и скорости работы NVENC изложена в этой статье или можно посмотреть видеоролик: "Тестирование скорости NVENC в Adobe Premiere Pro".



У кодека Cinegy H.264 доступно три пресета: High Performance, Balanced, High Quality.

Cinegy H.264

Balanced, High Quality если смотреть на отображаемые параметры утилитой Media Info имеют одинаковые настройки. High Performance отличается тем, что не поддерживает CABAC и при кодировании загрузка GPU снижена с 93% до 34%. Но все триа варианта на выходе имеют один объем файла и выводятся ~ 75 секунд.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Устанавливаем последние драйвера для интегрированной видеокарты Intel HD Graphics 4000 (о ее тестировании читаем здесь).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Утилита GPUSniffer информирует, что при проверке видеокарты Intel HD Graphics 4000 (GT2) на OpenCL ускорение, произошла ошибка: Not chosen because of insufficient compute unit count. GPU ускорение: Аппаратное GPU-ускорение ядра Mercury Playback (OpenCL) поддерживается в процессорах Intel Core 5-го поколения (Broadwell) и выше.
Но не стоит путать OpenCL ускорение (речь только о штатном ускорении) которое не поддерживается в программе Adobe Premiere Pro CC 2018.1, с QSV (декодирование/кодирование) и OpenGL.


GPUSniffer

Проверяем в Установках, стоит ли галка: Включить декодирование Intel h.264 с ускорением (требуется перезапуск) / Enable accelerated Intel h.264 decoding (requires restart).


Enable accelerated Intel h.264 decoding (requires restart)

Запускаем воспроизведение таймлайна с AVCHD 2.0 видео и видим в Debug Monitor, что работает аппаратное декодирование видео (HW Frames Decompressed).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка интегрированной графики Intel HD Graphics 4000 при воспроизведении составила 41% (при рабочей частоте 650 МГц). Потребление (GPU Power): 1.6Вт.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 21.6%, утилизировано оперативной памяти процессом: 2.29Гбайта.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Теперь отключим интегрированную графику и посмотрим как с этой же задачей, справится дискретный видеоадаптер. Debug Monitor хоть и показывает, что идет софтовое декодирование видео SW Frames Decompressed, но видимо он просто определяет работает ли при декодировании интегрированная графика или нет.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц и для GPU декодирования использовались CUDA процессоры с загрузкой 68%.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 77% (против 21.6% при использовании QSV), утилизировано оперативной памяти процессом: 2.35Гбайт.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Теперь штатными средствами программы Adobe Premiere Pro CC 2018.1 (12.1.0.186) экспортируем видео в формат H.264 с аппаратным ускорением средствами Intel Quick Sync Video. При включенной графике Intel HD Graphics 4000 (GT2) и установленной галке Включить декодирование Intel h.264 с ускорением (требуется перезапуск).


Import as Shared Project

Интегрированная графика: Intel HD Graphics 4000 (GT2), при рендеринге работала на 3D частоте (1100 МГц) и была загружена на 98% (при потреблении 8.4Вт).


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ГГц составила 48%. Задействовано было 4.2Гбайта оперативной памяти.


Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 44.3%, утилизировано оперативной памяти DDR3-1333 процессом: 2.53Гбайта.


Import as Shared Project

Итоговое время просчета с помощью Intel Quick Sync Video: 67 секунд.

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

С помощью утилиты Media Info смотрим характеристики полученного видео:

Adobe Premiere Pro CC 2018.1.0 (12.1.0.186)

Лучший результат: 60 секунд, это использование аппаратного декодирования видео с помощью интегрированной видеокарты и NVENC кодирование с помощью Cinegy H.264. В данном "сравнении" не ставилась цель протестировать кто быстрее (так как настройки кодеков разные), а просто описывались варианты которые могут позволить закончить рендеринг немного шустрее.
*Про использование внешних корпусов с видеокартами, подключаемыми по интерфейсу Thunderbolt 3, читаем здесь.
Какую видеокарту выбрать для видеомонтажа? Подробное руководство читаем здесь.

Читаем далее.
Метки: NVENC, video engine load.

 
Рейтинг@Mail.ru