如何在 Windows 上使用 ffmpeg 使用英特尔快速同步视频 (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
它vp9_qsv
运行并给出预期的结果。那么我做错了什么?
我使用的是 Windows 11 Pro 和第 11 代英特尔 i5-1145G7 CPU,它是 Tiger Lake,应该vp9_qsv
支持此支持表。
答案1
答案2
我做了更多的研究。
仅检查 CPU 是否具有快速同步功能是不够的。首先,您必须获取 CPU 的型号(例如 i5-3590、i7-3770),这是大多数硬件和软件以及供应商识别 Intel CPU 的方式。您可以使用它进行网络搜索并转到描述 CPU 的网页,例如https://ark.intel.com/content/www/us/en/ark/products/80815/intel-core-i54590-processor-6m-cache-up-to-3-70-ghz.html。如果 QSV 的答案是肯定的,那么你需要内部代号,这个代号没有其他人使用,但对于找出 CPU 的实际功能至关重要:这将是 Raptor Lake、Aldor Lake、Muddy Water、Howling Wolf 等。然后你可以转到这个维基百科页面https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video您可以在其中查看每个处理器实际上可以做什么。我的系统中的 CPU 具有许多编解码器的硬件解码功能,但仅部分支持解码 VP8 和 VP9,并且仅支持 H.264 硬件编码。我不认为这在英特尔网站或任何“官方”网站上列出,但维基百科列表似乎是准确的。这解释了为什么我不能使用硬件加速来编码 H.265 或 VP9。如果 ffmpeg 错误消息更准确或更具体,那会有所帮助,但我不知道当您尝试让它做某事时 QSV 软件会返回什么信息。