FFMPEG:Windows 上的“DLL amfrt64.dll 无法打开”

FFMPEG:Windows 上的“DLL amfrt64.dll 无法打开”

我遇到了以下问题。

我在 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 对我来说不适用于编码。

相关内容