我遇到了以下問題。
我在 Windows 10 上使用 ffmpeg 批量調整/壓縮照片和影片。我發現我需要修改我的腳本並明確定義輸出編碼器,但是在定義 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 不適用於我的編碼。