Intel Quick Sync Video

На официальном форуме появилась интересная ветка, где ТС выложил скрины результатов кодирования: аппаратного и софтового. Внизу скрин, полученный после софтового кодирования (кликабельно):



Качество аппаратного кодирования


А этот скрин после аппаратного кодирования (кликабельно).


Качество аппаратного кодирования


Encoding Settings > Performance: Software Only (Только ПО).

Качество аппаратного кодирования

Encoding Settings > Performance: Hardware Accelerated (С аппаратным ускорением).

Качество аппаратного кодирования

Характеристики видео после софтового рендеринга, утилита MediaInfo отображает следующие:

Качество аппаратного кодирования

Характеристики видео после аппаратного рендеринга, утилита MediaInfo отображает следующие:

Качество аппаратного кодирования

И на официальном форуме появилась информация, что: "Эта функция находится в стадии разработки, и есть некоторые ограничения на данный момент. И одно из ограничений можно увидеть на вашем скрине: уровень ограничен числом 5.1 и ниже."
А у автора скринов, был выставлен Level: 5.2.
Тогда другой пользователь выложил свои скрины (слева - оригинал, справа - результат) оба результата после аппаратного кодирования, Level 4.2. Но у первого, частота кадров высталена оригинальная: 59.94 fps.


Качество аппаратного кодирования

А здесь частота кадров выставлена 60fps. Юзер отметил, что именно изменение частоты кадров, может негативно влиять на качество.


Качество аппаратного кодирования

Т.е. надо экспериментировать с уровнями и частотой кадров, например если у вас 30fps, то лучше выбрать уровень 4.0 и отключить кей фреймы, а уровень 5.1 и 30fps дают плохой результат.
Информация от Mainconcept, HEVC/H.265 аппаратное кодирование (с помощью Intel Quick Sync Video) поддерживается на процессорах Intel Core 6-го/7-го/8-го и 9-го поколений. Но шестое поколение поддерживает только профиль: 4:2:0 8-bit (Main), в том время как более высокое поколение, поддерживает профили: 4:2.0 8-bit & 10-bit (Main, Main 10).
*Посмотрел видео на ютубе с названием: "INTEL Hardware Encoding in PREMIERE PRO Was OVERHYPED!" там автор рассказывает, что он обнаружил, что QSV дает артефакты, и работает оно не быстрее, того же софтового режима (понятно как всегда, нет никаких скринов загрузок и прочей полезной информации).
Начал, он с того, что модернизировал свой ПК, было: i7-2600K (@4.7GHz), 24Гб оперативки, 2.5" SSD, GeForce GTX 970. Стало: i7-8700K (@4.9GHz), 24Гб оперативки, M.2 PCIe NVMe, GeForce GTX 1080.
На таймлайне у него 4K 24p 10-бит H.264 (.mp4), длительностью 11 минут, используется цветокоррекция, титры, переходы, звуковые эффекты, анимация и "картинка в картинке".
Далее, все это выводится в UHD видео, формат H.264, и тут момент на который ему указали в комментариях, он устанавливает галки Render at Maximum Depth (ее рекомендуют ставить когда работают с цветом и видео выводится 10-бит в 10-бит, да и этот совет давали до применения GPU ускорения) и Use Maximum Render Quality (используется при даунскалинге, но опять же у GPU скалинга более высокое качество и установка этой галки лишена смысла).
Software Encoding, High@L5.1, VBR 2 прохода, целевой битрейт 24 Мбит и зачем-то максимальный битрейт - 96 Мбит (хотя это обычное видео для YouTube, где автор рассказывает о компьютерах, без динамики и прочего).
Время рендеринга: i7-2600K - 41.3 минуты, а i7-8700K - 23.1 минута.
Ну а дальше автор начал "срывать покровы", оказывается при выборе Hardware Encoding недоступен двухпроходной режим VBR, он выгнал тот же тест в режиме VBR 1-pass и получил время: 12.1 минута. Но потом он те же параметры выставил для Software Encoding и получил почти тоже самое время: 12.5 минут. Плюс на видео были артефакты довольно характерные.
Так как все тестировалось на сборке 12.1.2 (Build 69), то автор ролика сравнил и кодирование в формат H.265/HEVC, аппаратное кодирование - 12.3 минуты, а софтовое закончилось за 18.1 минуту. Но, опять же на аппаратном результате HEVC были артефакты...
Автор ролика писал в комментариях, что он пробовал отключать RMD и Use Maximum Render Quality, артефакты остались в итоговом результате.
*При выставлении битрейта ниже 3.5Мбит/с в настройках Export Settings (Настройки экспорта), при выборе варианта рендеринга Hardware Accelerated (С аппаратным ускорением), автоматически битрейт возвращается на значение 3.5Мбит/с. При выборе варианта рендеринга Software Only (Только ПО) можно выставлять любой битрейт.
*В версии программы Adobe Premiere Pro CC 2019, при аппаратном кодировании, если выставить битрейт выше 60Мбит/с, то после экспорта получим значение 30-35Мбит/с.
*В версии программы Adobe Premiere Pro CC 2020, в списке Debug Database View есть пункты связанные с аппаратным кодированием:


Настройки аппаратного кодирования

IntelEncoder.DisableGPB - параметр для HEVC кодирования (значение по-умолчанию, false). Расстояние между I- или P (или GPB) - ключевые кадры; если он равен нулю, структура GOP не указана. Примечание: если GopRefDist = 1, B-кадры не используются (только P или GPB).
В архитектуре Skylake нет поддержки обычных P-кадров. Кодер не может кодировать обычные P-кадры. Вместо этого кодируются B-кадры с низкой задержкой Low Delay B (он же GPB).
IntelEncoder.GopRefDist_ZeroOverride - значение по-умолчанию: 0.
У процессоров Intel Kaby Lake (Intel Core 7-го поколения): добавлен прямой ARGB вход для HEVC кодирования. Добавлена поддержка QPOffset. Изменено значение по-умолчанию GopRefDist до 8. Также добавлено полное аппаратное кодирование и декодирование HEVC Main10 для графики Intel HD Graphics 630.
IntelEncoder.IdrInterval - интервал IDR – это среднее время между кадрами IDR в видеоклипе (значение по-умолчанию: 1). Для наилучшего использования средний интервал IDR должен составлять 4 секунды или меньше.
Для H.264 IdrInterval определяет интервал IDR-кадра в терминах I-кадров; если IdrInterval = 0, то каждый I-кадр является IDR-кадром. Если IdrInterval = 1, то каждый второй I-кадр является IDR-кадром и т.д.
Для HEVC, если IdrInterval = 0, тогда только первый I-кадр является IDR-кадром. Если IdrInterval = 1, то каждый I-кадр является IDR-кадром. Если IdrInterval = 2, то каждый другой I-кадр является IDR-кадром и т.д.
Если GopPicSize или GopRefDist равен нулю, IdrInterval не определен.
IntelEncoder.NumRefFrame - значение по-умолчанию: 0. MaxDecFrameBuffering указывает максимальное количество кадров, буферизованных в DPB. Также во время инициализации кодирования рекомендуется установить значение MaxDecFrameBuffering равным num_ref_frames для улучшения задержки декодирования.
Размер DPB зависит от количества используемых вами опорных кадров, чем больше опорных кадров, тем больше бит записано в буфер.
IntelEncoder.UseHwAccEncoding - включено аппаратное кодирование, значение: true, выключено аппаратное кодирование, значание: false.
*Не поддерживаются:
- Неквадратные пропорции пикселей (PAR) не ускоряются аппаратно.
- Только прогрессивный порядок полей будет аппаратно ускорен.
- Rec2020 и HDR не будут аппаратно ускорены.
- 8K UHD не будет аппаратно ускорены.
- Профиль Main10 не будет аппаратно ускорен.
- Уровень 5.1 и ниже будет аппаратно ускорен. (Максимальный уровень/Level для H.264 это 6.2, а разрешение 8192х4320, если нужно больше, то снимаем галку соотношение сторон, выбираем профиль: Высокий и уровень: без ограничений).
- Экспорт только видео не будет ускорен аппаратно (должны быть оба потока: видео и аудио).
- Кодирование битрейта: "CBR" & "VBR, 2 pass" не будет аппаратно ускорено.
- Мультиплексор: None и 3GPP не будут аппаратно кодироваться.
- Аппаратные кодировки часто не соответствуют профилю и уровню, заданным в настройках экспорта, но должны попадать в допустимые диапазоны.

  Печать на кружках кружки печать.
Рейтинг@Mail.ru