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

В статье про тестирование бесплатного плагина Voukoder 3.0 была добавлена следующая информация, цитата "В ближайших апдейтах версии программы видеомонтажа Adobe Premiere Pro CC 2020 также добавят штатное аппаратное кодирование с помощью видеокарт построенных на чипсетах Nvidia (ExporterMPEG4.Feature.Allow_NVidia_HWExport) и AMD (ExporterMPEG4.Feature.Allow_AMD_HWExport)".
И вот в обновлении Adobe Premiere Pro CC 2020 (v14.0.2.104) можно уже протестировать эту бета опцию.
Нажимаем комбинацию клавиш: Ctrl+F12 (Windows) или Cmd+F12 (для MacBook Cmd+Fn+F12) в панели Console (Консоль), переключаемся на режим Debug Database View. Там ставим галки перед пунктами ExporterMPEG4.Feature.Allow_NVidia_HWExport (для видеокарт NVIDIA) и ExporterMPEG4.Feature.Allow_AMD_HWExport (для видеокарт AMD). И снимаем галку перед пунктом ExporterMPEG4.Feature.Allow_Intel_HW_Export (отключаем аппаратное кодирование с помощью интегрированной видеокарты процессоров Intel).


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

После внесённых изменений перезагружаем программу Adobe Premiere Pro CC 2020 (v14.0.2.104). Идём в Настройки экспорта (Export Settings) (Ctrl+M) и выбираем формат: H.264. Далее, в Видео > Параметры кодирования > Производительность: С аппаратным ускорением (Hardware Encoding). И нажимаем на кнопку: Экспорт (Export).


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

Загрузка Video Encode Load в утилите мониторинга GPU-Z, говорит о том, что работает NVENC кодирование у видеокарты NVIDIA GeForce GTX 660 (Kepler).


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

В Диспетчере Задач, видно, что декодирование 4K видео занимается интегрированная видеокарта (iGPU), а кодированием дискретная, загружен блок Video Encode.


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

1 минута 4K видео UHD (3840x2160p30) H.264 Long-GOP была экспортирована за 77 секунд.

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

Информация которая доступна в Console после экспорта:
<1300> <5> AME app path: C:\Program Files\Adobe\Adobe Media Encoder 2020\Adobe Media Encoder.exe
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Object: Source
<1300> <5> X: 1920, Y: 1080
<1300> <5> Format: ayuv444_8
<1300> <5> Pitch: 7680, Padded: 0, Size: 8294400
<1300> <5> CrPlanes: 2, CrPitch: 3840
<1300> <5> CrWidth: 0, CrHeight: 0
<1300> <5> CrOffset: 0, CrRowBytes: 0
<1300> <1> Input bitstream, size:20000000
<1300> <1> Encode conversion: AYUV444_8. Pass thru.
<1300> <1> Reconfigure, w:1920, h:1080
<1300> <4> nvEncReconfigureEncoder() Failed!, status: 8
<1300> <5> Output bitstream, size:36
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Object: Source
<1300> <5> X: 720, Y: 480
<1300> <5> Format: ayuv444_8
<1300> <5> Pitch: 2880, Padded: 0, Size: 1382400
<1300> <5> CrPlanes: 2, CrPitch: 1440
<1300> <5> CrWidth: 0, CrHeight: 0
<1300> <5> CrOffset: 0, CrRowBytes: 0
<1300> <1> Input bitstream, size:20000000
<1300> <1> Encode conversion: AYUV444_8. Pass thru.
<1300> <1> Reconfigure, w:720, h:480
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <5> Object: EncoderInput
<1300> <5> X: 720, Y: 480
<1300> <5> Format: ayuv444_8
<1300> <5> Pitch: 2880, Padded: 3072, Size: 1474560
<1300> <5> CrPlanes: 2, CrPitch: 1440
<1300> <5> CrWidth: 0, CrHeight: 0
<1300> <5> CrOffset: 0, CrRowBytes: 0
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <1> Encoder input frame (GPU), size:1474560
<1300> <5> Output bitstream, size:36
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Object: Source
<1300> <5> X: 3840, Y: 2160
<1300> <5> Format: ayuv444_8
<1300> <5> Pitch: 15360, Padded: 0, Size: 33177600
<1300> <5> CrPlanes: 2, CrPitch: 7680
<1300> <5> CrWidth: 0, CrHeight: 0
<1300> <5> CrOffset: 0, CrRowBytes: 0
<1300> <1> Input bitstream, size:20000000
<1300> <1> Encode conversion: AYUV444_8. Pass thru.
<1300> <1> Reconfigure, w:3840, h:2160
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <5> Object: EncoderInput
<1300> <5> X: 3840, Y: 2160
<1300> <5> Format: ayuv444_8
<1300> <5> Pitch: 15360, Padded: 15360, Size: 33177600
<1300> <5> CrPlanes: 2, CrPitch: 7680
<1300> <5> CrWidth: 0, CrHeight: 0
<1300> <5> CrOffset: 0, CrRowBytes: 0
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <1> Encoder input frame (GPU), size:33177600
<1300> <5> Output bitstream, size:36
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<1300> <5> Found encoder: EncoderNVH264.
<3880> <5> Found encoder: EncoderNVH264.
<3880> <5> Found encoder: EncoderNVH264.
<2220> <5> Looking for H/W codecs for H.264
<2220> <5> Found encoder: EncoderNVH264.
<2220> <5> Object: Source
<2220> <5> X: 3840, Y: 2160
<2220> <5> Format: ayuv444_8
<2220> <5> Pitch: 15360, Padded: 0, Size: 33177600
<2220> <5> CrPlanes: 2, CrPitch: 7680
<2220> <5> CrWidth: 0, CrHeight: 0
<2220> <5> CrOffset: 0, CrRowBytes: 0
<2220> <1> Input bitstream, size:20000000
<2220> <1> Encode conversion: AYUV444_8. Pass thru. <2220> <5> Found H/W codec for H.264 - nVidia H.264 Codec
<6660> <5> System Compatibility Report HTTP GET failed with status 0
<2220> <1> Encoded using H/W codec for H.264
<2220> <5> Output bitstream, size:17605672
<2220> <1> Time taken for; video =75442 audio=193 mux=498
<2220> <5> Exporter finished in : 77.71 seconds. Result code: 0 Destination:C:\Users\1\Documents\DJI_0002.mp4
Утилита Media Info показывает следующую информацию о полученном видео:


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

Картинка в квадратах при воспроизведении в медиапроигрывателе MPC, также говорит о том, что эта функция пока сыровата. Но с реализацией Intel Quick Sync Video тоже не всё сразу гладко было.


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

Смотрим на значение: N - это число кадров в GOP. N=1 - это весь поток будет состоять только из ключевых кадров. Чем больше N - тем большая степень компрессии может быть достигнута.
В отличие от QSV, работают высокие битрейты, при 100Мбит, получаем нормальное качество и те же характеристики GOP: N=1, ReFrames: 1 frame.
Видео, как включить аппаратное кодирование на видеокартах построенных на чипсетах AMD и NVIDIA, в обновлении Adobe Premiere Pro 2020 (v14.0.2.104).



*В обновлении Adobe Premiere Pro 2022 (v22.4) мы включили аппаратное ускорение кодирования через карту AMD GPU для 10 бит 4:2:0 HEVC.
Что это значит для вас? Это означает, что время экспорта для ваших 10-битных 4:2:0 HEVC-кадров будет значительно быстрее на поддерживаемом оборудовании AMD!
Если у вас есть карта AMD GPU, поддерживающая 10 бит 4:2:0 HEVC encode на вашем компьютере с Windows, вы сможете использовать эту функцию. HEVC 10bit включен в Navi10 и выше, Radeon: RX 5XXX, RX 6XXX, Pro: W 5XXX, W 6XXX. Минимальная требуемая версия драйвера - 21.10.1. Соответствующая версия Windows Driver Store для Win 10/11 - 30.0.13025.1000.
Чтобы включить эту опцию, выберите HEVC из раскрывающегося списка Формат (Format) в разделе Параметры экспорта (Export Settings). Затем на вкладке Видео (Video) перейдите в Настройки кодирования (Encoding Settings). Если карта GPU поддерживает кодирование HW, поле Performance будет установлено на Аппаратное кодирование (Hardware Encoding). Установите уровень профиля на Main 10. Установка программного кодирования (Software Encoding) отключит аппаратное кодирование, и Adobe Premiere Pro не будет использовать AMD HW для кодирования носителей. Пожалуйста, смотрите прилагаемый скриншот.
Функция включена в бета-версии Adobe Premiere Pro и бета-версии Adobe Media Encoder.


Аппаратное кодирование 10-битного HEVC

NVENC против QSV.

 
Рейтинг@Mail.ru