Как использовать Intel Quick Sync Video для кодирования в VP9 с помощью ffmpeg в Windows
Как использовать ffmpeg в Windows с помощью Intel Quick Sync Video (qsv) для кодирования видео в VP9? Команда, которую я использую сейчас:
ffmpeg.exe -init_hw_device qsv=hw -filter_hw_device hw -i input.mkv -vf hwupload=extra_hw_frames=64,format=qsv -c:v vp9_qsv -b:v 10M -maxrate 10M -preset veryslow output.mkv
В результате появляется следующее сообщение об ошибке:
Я должен быть очень близко, потому что если я использую ту же команду, ноhevc_qsv
вместо этого он запускается и выдает ожидаемый результат. Так что же я делаю не так?
Я использую Windows 11 Pro и процессор Intel i5-1145G7 11-го поколения, который является Tiger Lake и должен поддерживатьvp9_qsv
согласно этой таблице поддержки .
2 ответа
Реализация оболочки кодировщика Intel QSV VP9 в FFmpeg на данный момент поддерживается только в Linux. См . этот коммит для получения более подробной информации, в частности потому, что кодирование VP9 привязано к режимам пониженного энергопотребления, предоставляемымiHD
интерфейс(ы) VDENC драйвера .
Я провел еще несколько исследований.
Недостаточно проверить, есть ли в процессоре Quick Sync. Сначала вам необходимо получить номер модели процессора (например, i5-3590, i7-3770), который используется большинством аппаратных и программных средств, а также поставщиками, которые идентифицируют процессор Intel. Вы можете использовать это для поиска в Интернете и перехода на веб-страницу с описанием процессора, например https://ark.intel.com/content/www/us/en/ark/products/80815/intel-core . -i54590-processor-6m-cache-up-to-3-70-ghz.html . Если QSV ответит «да», то вам нужно внутреннее кодовое имя, которое никто больше не использует, но которое важно для выяснения того, что на самом деле может делать процессор: это будет что-то вроде Raptor Lake, Aldor Lake, Muddy Water, Howling Wolf и т. д. Затем вы можете перейти на эту страницу Википедии https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video , где вы сможете узнать, что именно может делать каждый процессор. Процессоры в моих системах имеют аппаратное декодирование для ряда кодеков, но лишь частичную поддержку декодирования VP8 и VP9 и поддерживают только H.264 для аппаратного кодирования. Я не думаю, что это указано где-либо на веб-сайте Intel или где-либо «официально», но список в Википедии кажется точным. Это объясняет, почему я не могу использовать аппаратное ускорение для кодирования H.265 или VP9. Было бы полезно, если бы сообщение об ошибке ffmpeg было более точным и конкретным, но я не знаю, какую информацию возвращает программное обеспечение QSV, когда вы пытаетесь заставить его что-то сделать.