我遇到了以下问题。
我在 Windows 10 上使用 ffmpeg 批量调整/压缩照片和视频。我使用的是版本 3,自从升级到 ffmpeg 版本 4.4 后,输出质量下降了。我发现我需要修改脚本并明确定义输出编码器,但在定义 h264 时,我总是收到此错误
DLL amfrt64.dll failed to open
答案1
我还想向您介绍我找到的解决方案。看来 ffmpeg(Windows 版本)编译了几个 h264 选项。看看这个:
ffmpeg.exe -encoders | find "264"
<cut>
V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
V..... h264_amf AMD AMF H.264 Encoder (codec h264)
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
因此,如果您只输入“h264”,它将假定第一个列出的选项,即适用于 AMD 的选项。如果您没有运行 AMD CPU,您很可能会收到此错误。
解决方案是定义正确的编解码器版本,如 ffmpeg 中所述。对我来说它是:
ffmpeg4.4 -i input.mp4 -codec:v h264_qsv output.mp4
请注意,您可能还会收到其他 DLL 错误消息,例如
Cannot load nvcuda.dll
这完全取决于您使用的编解码器名称以及您运行的平台(Intel、AMD、NVIDIA)。还请注意,对于编码,您也可以使用这些列为“编码器”的编解码器,例如,上面列表中的 libx264 对我来说不适用于编码。