Мало кто помнит, что именно на efxi.ru была выложена инструкция, как включить штатную поддержку Intel Quick Sync Video (которая официально была добавлена только в обновлении Adobe Premiere Pro CC 2018.1), вот она. Также был выложен видеомануал сначала в группе Вконтакте, а потом на youtube канале.
И эта статья также планировалась, как продолжение, но уже с аппаратным включением кодирования с помощью NVENC (про декодированием этим движком писалось здесь). То что такая функция появилась, закралась мысль просматривая новые команды в панеле Console (Консоль) в закладке Debug Database View, а именно: ExporterMPEG4.Feature.AllowNVidiaHWExport.
*В версии программы Adobe Premiere Pro CC 2020 команда изменилась на ExporterMPEG4.Feature.Allow_NVidia_HWExport и её активация может конфликтовать со сторонними ускорителями, например: Cinegy H.264. Выдавая следующую ошибку:
Ошибка экспорта. Ошибка компиляции фильма. Средство экспорта вернуло недопустимый результат.
Компонент: Cinegy H.264 типа Экспортер.
Сразу напишу, что завести эту опцию не получилось (было проверено очень много вариантов настроек и т.п.). Но, так как на руках была только одна десктопная видеокарта построенная на чипсете nVidia GeForce GT 1030, но он не поддерживает (закрыт или вырезан неизвестно) NVENC (со списком видеокарт/чипсетов поддерживаемых NVENC можно ознакомиться здесь) и кстати будьте внимательны, в продажу поступили видеокарты nVidia GeForce GT 1030 c DDR4 вместо GDDR5 памяти. То было принято решение проверить работу NVENC на мобильной видеокарте NVIDIA GeForce GTX 660M в составе ноутбука MSI GE70 0ND-082XRU.
Это первое поколение видеокарт с поддержкой NVENC и минимально рекомендуемая архитектура для обновления Adobe Premiere Pro CC 2018.1 (12.1.0.186). Таблица с поддерживаемыми форматами и разрешениями (для графики поколения Kepler):
Данная видеокарта уже участвовала в тестировании плагина NVENC_export, поэтому он ниже не будет участвовать в проверке работы и эффективности NVENC.
Итак, так как ноутбук не первой свежести, то будем использовать AVCHD 2.0 видео со следующими характеристиками:
В настройках проекта выбираем движок: Аппаратное GPU-ускорение ядра Mercury Playback (CUDA).
Информация о видеокартах отображаемая утилитой GPUSniffer:
В настройках экспорта выбираем формат с именем плагина: Voukoder 0.7.1a.
Video Settings > Video Encoder: NVIDIA NVENC H.264 encoder. Preset: Slow.
Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 835 МГц. Блок Video Engine Load был загружен на 99%.
В Диспетчере задач, общая загрузка двухъядерного мобильного процессора Intel Core i5-3210M с поддержкой технологии Hyper-Threading составила 73%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 71.7%, утилизировано оперативной памяти процессом: 2.6Гбайт.
Итоговое время рендеринга: 82 секунды (против 293 секунд, при рендеринге силами только центрального процессора, с атрибутами исходного файла).
С помощью утилиты Media Info смотрим характеристики полученного видео:
У плагина Voukoder есть несколько пресетов качества/производительности (в том числе и Fast):
Снова отправляем AVCHD 2.0 видео на экспорт (Ctrl+M). И в настройках экспорта выбираем Формат: Cinegy H.264. Подробнее об этом кодеке/движке, читаем здесь.
Выбираем Preset: Balanced.
Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 835 МГц. Блок Video Engine Load был загружен на 66%.
В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ггц составила 100%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 97.9%, утилизировано оперативной памяти процессом: 2.9Гбайта.
Итоговое время рендеринга составило: 76 секунд.
С помощью утилиты Media Info смотрим характеристики полученного видео:
Что еще нам предлагает 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 контейнер).
Стандартные для всех монтажных кодеков характеристики: 10-бит и 422, но особо интересен пункт: Encoder Settings > Encoder Type: GPU и ползунок Encoders Count (количество задействованных видеокарт/чипсетов? Попробуем подробнее узнать об этом пункте у производителя плагина).
Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц (а не 835 МГц). И для GPU рендеринга использовались CUDA процессоры с загрузкой 60%, а не аппаратный блок NVENC (Video Engine Load). Т.е. видимо может использоваться стандартная схема Multi-GPU.
В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ггц составила 100%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 96.7%, утилизировано оперативной памяти процессом: 3.7Гбайта. Обращаем внимание на загрузку дисковой подсистемы: 31.3 Мбайта (на ноутбуках это самое узкое место, отсюда и загрузка GPU может зависеть от скорости записи ноутбучного жесткого диска).
С помощью утилиты Media Info смотрим характеристики полученного видео:
Теперь импортируем полученное после рендера видео в программу Adobe Premiere Pro CC 2018.1 (здесь не будет рассматриваться как создавать прокси с помощью Cinegy Daniel2 или использование папки отслеживания в Adobe Media Encoder CC 2018.1) и смотрим свойства этого видео. Для открытия файла использовался импортер: Cinegy.DANIEL2.Importer.prm.
Запускаем воспроизведение этого видео на таймлайне, плавное вопроизведение и легкая работа на таймлайне, без пропуска кадров. Высокое качество воспроизведения (High Quality Playback). CUDA Render System. PF: VUY 422 10u 709 Cinegy.DANIEL2.Importer.
GPU Load = 90%, т.е. при декодировании видео участвуют CUDA процессоры NVIDIA GeForce GTX 660M, а не блок NVENC.
Загрузка центрального процессора при декодировании видео на таймлайне, процессом Adobe Premiere Pro.exe: 35.4%, утилизировано оперативной памяти процессом: 3.2Гбайта. Загрузка дисковой подсистемы: 26.1 Мб/с.
Теперь проверим, как скажется на загрузке и скорости, если мы будем выводить Cinegy Daniel2 видео в Cinegy H.264.
Нажимаем на кнопку: Экспорт. Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц. Для GPU декодирования использовались CUDA процессоры с загрузкой 80%, а для кодирования видео в формат H.264 - аппаратный блок NVENC, Video Engine Load = 85%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 81%, утилизировано оперативной памяти процессом: 4.3Гбайта.
Итоговое время рендеринга: 74 секунды.
Проблемой работы с таким материалом, может быть дисковая подсистема, особенно на старых ноутбуках без SSD (твердотельных накопителей).
Подробно связь дисковой подсистемы и скорости работы NVENC изложена в этой статье или можно посмотреть видеоролик: "Тестирование скорости NVENC в Adobe Premiere Pro".
Balanced, High Quality если смотреть на отображаемые параметры утилитой Media Info имеют одинаковые настройки. High Performance отличается тем, что не поддерживает CABAC и при кодировании загрузка GPU снижена с 93% до 34%. Но все триа варианта на выходе имеют один объем файла и выводятся ~ 75 секунд.
Устанавливаем последние драйвера для интегрированной видеокарты Intel HD Graphics 4000 (о ее тестировании читаем здесь).
Утилита 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.
Проверяем в Установках, стоит ли галка: Включить декодирование Intel h.264 с ускорением (требуется перезапуск) / Enable accelerated Intel h.264 decoding (requires restart).
Запускаем воспроизведение таймлайна с AVCHD 2.0 видео и видим в Debug Monitor, что работает аппаратное декодирование видео (HW Frames Decompressed).
Загрузка интегрированной графики Intel HD Graphics 4000 при воспроизведении составила 41% (при рабочей частоте 650 МГц). Потребление (GPU Power): 1.6Вт.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 21.6%, утилизировано оперативной памяти процессом: 2.29Гбайта.
Теперь отключим интегрированную графику и посмотрим как с этой же задачей, справится дискретный видеоадаптер. Debug Monitor хоть и показывает, что идет софтовое декодирование видео SW Frames Decompressed, но видимо он просто определяет работает ли при декодировании интегрированная графика или нет.
Видеокарта NVIDIA GeForce GTX 660M работала на частоте - 950 МГц и для GPU декодирования использовались CUDA процессоры с загрузкой 68%.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 77% (против 21.6% при использовании QSV), утилизировано оперативной памяти процессом: 2.35Гбайт.
Теперь штатными средствами программы Adobe Premiere Pro CC 2018.1 (12.1.0.186) экспортируем видео в формат H.264 с аппаратным ускорением средствами Intel Quick Sync Video. При включенной графике Intel HD Graphics 4000 (GT2) и установленной галке Включить декодирование Intel h.264 с ускорением (требуется перезапуск).
Интегрированная графика: Intel HD Graphics 4000 (GT2), при рендеринге работала на 3D частоте (1100 МГц) и была загружена на 98% (при потреблении 8.4Вт).
В Диспетчере задач, общая загрузка процессора Intel Core i5-3210M, работающего на тактовой частоте 2.88 ГГц составила 48%. Задействовано было 4.2Гбайта оперативной памяти.
Загрузка центрального процессора процессом Adobe Premiere Pro.exe: 44.3%, утилизировано оперативной памяти DDR3-1333 процессом: 2.53Гбайта.
Итоговое время просчета с помощью Intel Quick Sync Video: 67 секунд.
С помощью утилиты Media Info смотрим характеристики полученного видео:
Лучший результат: 60 секунд, это использование аппаратного декодирования видео с помощью интегрированной видеокарты и NVENC кодирование с помощью Cinegy H.264. В данном "сравнении" не ставилась цель протестировать кто быстрее (так как настройки кодеков разные), а просто описывались варианты которые могут позволить закончить рендеринг немного шустрее.
*Про использование внешних корпусов с видеокартами, подключаемыми по интерфейсу Thunderbolt 3, читаем здесь.
Какую видеокарту выбрать для видеомонтажа? Подробное руководство читаем здесь.
Читаем далее.
Метки: NVENC, video engine load.