Екатеринбург
+7(343)213-56-67

t2135667@yandex.ru


Premiere аппаратное декодирование

Главная | Информация | Аппаратное декодирование h264/HEVC видео в Adobe Premiere

Аппаратное декодирование h264/HEVC видео в Adobe Premiere

актуально на 06.2020

 

Распространённая проблема, когда монтаже на таймлайне Премьера слабый центральный процессор не успевает декодировать исходное видео, например i3 и тяжело сжатое видео (AVCHD/XAVC/HEVC видео с битрейтом 100-200 mbps). В то же время, многие плееры легко проигрывают такое видео, загружая процессор на 1-2%.

Windows на уровне системы поддерживает аппаратное воспроизведение видео с момента появления такого функционала на видеокартах, но не все версии Premiere это используют. На практике в истории Premeire существовали аппаратные решения в виде специальных плат (например Canopus DV Storm, Red Rocket), которые интегрировались с Премьером, брали на себя декодирование, чем обеспечивали очень плавную, комфортную работу на таймлане при работе со своими для этих карт форматами.
Особенно актуально использование видеокарт стало для проигрывания форматов h264 и h265. Производители видеокарт разработали специальные блоки на кристалле, которые занимаются только декодированием видео. У NVidia это NVDEC (Pure Video) декодирующее MPEG-1/2, VC-1/WMV9, Divx/Xvid, H.264, HEVC и VP9; у AMD это Unified Video Decoder декодирующий H.264, VC-1, MPEG-2 и Divx/Xvid: у Intel это блок универсального кодера/декодера Quick Sync Video на процессорах со встроенным видео. Блок декодирует форматы MPEG-2, H.264, VC-1, JPEG, VP8, HEVC, VP9.

Как видно, среди поддерживаемых форматов есть очень тяжёлые, к тому же с межкадровым сжатием, когда чтобы добраться до определенного кадра, надо сначала раскодировать 10, 20 и более предыдущих кадров. Но Премьер всю работу по их декодированию делает на процессоре. Как следствие, если процессорной мощности не хватает, то начинаются задержки в реакции программы на действия пользователя на таймлайне и, как крайний случай, невозможность простого проигрывания таймлайна.

Штатные средства Adobe Premiere
Начиная с версии 2015.3 появилось аппаратное декодирование для процессоров Intel с Quick Sync Video. Включается это в панели настроек, после чего программу надо перезапустить:

h.265

В Media Encoder QSV декодирование включается также в панели настроек.

Контролировать, что аппаратное декодирование реально работает, можно в GPU-Z или прямо в премьере: в панели Debug Monitor, которую можно вызвать при помощи Ctrl+Alt+F12 (строка HW Frames Decompressed)

Adobe Premiere Debug Monitor

Плагин Cinegy Turbocut (Daniel2)
Плагин использует возможности видеокарт NVidia для аппаратного декодирования. При работе заменяет собой ImporterMPEG (штатное средство Премьера). Подробнее здесь.

Cinegy Turbocut


Подводные камни и ограничения

В AP 2015 при включении декодирования поступало много жалоб на красный кадр вместо видео, были жалобы, что это работает медленнее программного декодирования, с версии AP 2017 эти ошибки исправлены. Но будьте осторожны в любом случае. Если у вас на видео появились странные цветовые искажения в зеленый или фиолетовый цвет, то попробуйте оключить аппаратное декодирование и найди правильные (не обязательно последние) драйвера для видеокарты Intel. Если блок QSV или не самая новая версия Премьера, не поддерживает продвинутые разновидности формата (10-бит, 422, 4K, HEVC в разных комбинациях), то декодер автоматически переключается в программный режим.

С HEVC форматом iphone x и 11 тоже есть особенность, аппаратный декодер их проигрывает нормально, но если он не справляется (на вашей версии QSV/NVidia отсутствует поддержка hevc, 4K hevc), то включается программный декодер, и при проигрывании на таймлайне и при экспорте картинка замирает, перепрыгивает на начало или на случайный кадр, и при экспорте всё это сохраняется. В общем, если работает программный декодер ImporterMPEG, то монтировать невозможно. Эта проблема существует и в 2019 и 2020. Единственный выход - перекодировать.

BiPlanar видео и AVCHD MTS файлы
Для QSV декодера в Премьере, в служебных настройках Debug Database появились ряд опций связанных с BiPlanar вариантом h264/hevc видео. Если включить клавишами Ctrl+Shift+11 отображение служебной информации при проигрывании, то можно увидеть эту и другую информацию. Если отображается BiPlanar а картинки нет или есть многосекундные задержки, то в этом случае можно попробовать отключить этот режим (ImporterMPEG.UseBiPlanarPixelFormat_8b = false). И наоборот, если материал с какой-то камеры не проигрывается включить его (ImporterMPEG.UseBiPlanarPixelFormat_8b = true). По умолчанию BiPlanar включен (хотя в разных версиях премьера настройки могут быть изменены), и для совместимости с материалом с видеокамер AVCHS (MTS) в Debug Database предусмотрена отдельная опция ImporterMPEG.disable_MTS_hwdec = true, которая отключает аппаратное декодирование только для этих файлов. Если вы работаете только с MTS, то можно выключить ImporterMPEG.disable_MTS_hwdec и выключить ImporterMPEG.UseBiPlanarPixelFormat_8b и наслаждаться работой с аппаратным декодированием. Если у вас смешанный BiPlanar и не BiPlanar материал, то разумнее вернуться к настройкам по умолчанию - AVCHD видео процессору декодировать сравнительно несложно и разница в производительности будет невелика.
h.264 декодирование


QSV декодирование и NVidia
Может встать вопрос: "Хочу вместе с Intel h.264 декодированием успользовать свою видеокарту NVidia, как быть ?". Это возможно, блок кодирования/декодирования видео QSV работает на процессоре параллельно и независимо от видеокарты. QSV декодирует кадр, после чего тот передается на видеокарту NVIdia, AMD или интергрированную Intel, в зависимости от вашей конфигурации и от того что активно в Премьере, для дальнейшей обработки.
Для NVidia есть плагин декодирования Turbocut и можно вообще отказаться от использования QSV, за счет того что кадры не надо пересылать из общей памяти в память видеокарты, он будет работать быстрее. Но с ним могут возникнуть проблемы из за не работы с некоторыми форматами видео с разных видеокамер или плохой работы.

HEVC
DJI Phantom 4K, GoPro 6, iphone 8 и многие модели камер 2019 года записывают видео в формате h.265, поможет аппаратное декодирование intel в этом случае ?

Возможность использовать аппаратное декодирование h.265/HEVC появилась начиная с версии 2018.1. В более ранних версиях этот функционал QSV не используется. У видео с телефонов, если битрейт невысокий, то оно успешно обрабатывается процессором, при больших битрейтах становится востребованным аппаратное декодирование. Если ваш процессор не имеет блока QSV (некоторые Xeon, AMD), то можно или работать с proxy (формат с которым легко работать на таймлайне и который при экспорте заменяется на оригинальные файлы), или перекодировать материал в монтажный кодек Cineform/ProRes/DNxHD - форматы оптимизированные для монтажа (как правило они занимаю очень много мета на диске).

Производительность
Принципиальный выигрыш QSV декодирование дает на слабых системах и на тяжелом материале, когда процессор загружается на 50-100% при проигрывании таймлайна без эффектов.
На быстрых системах влияние может быть незначительным, но и в этом случае аппаратное декодирование может косвенно ускорить работу и экспорт на проектах с эффектами средней тяжести за счет разгрузки центрального процессора для работы с эффектами.
Например: i8700K (630я интеловская графика)/4.2 ГГц проект длительностью 1 час 39 мин с наложенными люметри и CPU-интенсивными эффектами, экспорт через кодировщик voukoder: с включенным qsv декодированием идёт 41 минуту, с программным декодированием - 1 час 10 минут.
Не все процессоры с QSV одинаковы и QSV это не магия. Первые поколения были медленные, потом быстрее и быстрее, так производительность блока QSV на KabyLake при декодировании достигает 8 потоков AVC видео 4Kp30 или 1 поток HEVC 4Kp60. Теоретически это позволяет делать многокамерный монтаж 4К из h.264 исходников. У более ранних процессоров производительность кратно ниже, но её гарантированно хватит на один поток 4К. Линия NVidia NVDEC обладает схожей производительностью - 10 потоков h264 4Kp30 у поколения Turing и кратно меньше у более ранних чипсетов.
Если на таймлайне лежит видео HEVC 4k 60 fps и длинным gop (iphone 11), то проигрываться оно будет нормально, но при перемещении плайхеда по таймлайну будут большие или меньшие задержки.
Как пример на картинке ниже: nvdec первого поколения (Kepler) почти полностью загружен при проигрывании всего одного потока 4K30 h264 видео.
h.264 декодирование

Особый случай
Современные многоядерные процессоры Ryzen и Intel могут декодировать видео быстрее видеокарты, поэтому в случае отсутствия обработки видео на таймайне с помощью gpu эффектов, можно отключить gpu ускорение и QSV декодирование и ускорить работу. Отключение Mercury Playback Engine GPU Acceleration нужно из-за особенности Premiere CC 2019/2020: Премьер сложнее плееров, и при импорте кадра, кроме QSV декодирования он выполняет ряд операций на центральном процессоре, в СС 2019 одна из них, преобразование формата цвета во внутренний рабочий формат, сделана на ядрах GPU. При отказе от GPU обработки этот этап пропускается и процесс ускоряется в разы. Можно просто сделать тестовый экспорт типичного для вас материала, с отключенным ускорением и со включеным, и сравнить результат.


 

ускорение работы в премьере, пропуск кадров, дергается видео в премьере, 4к видео в премьере, тормозит таймлайн, hwencodeenable, премьер тормозит, видео с айфона, ускорить премьер про