Bei mir ist das folgende Problem aufgetreten.
Ich verwende ffmpeg, um Fotos und Videos unter Windows 10 stapelweise zu skalieren/komprimieren. Ich habe Version 3 verwendet und seit dem Upgrade auf Version 4.4 von ffmpeg hat die Qualität der Ausgaben nachgelassen. Ich habe herausgefunden, dass ich mein Skript ändern und den Ausgabe-Encoder explizit definieren muss, aber bei der Definition von h264 erhalte ich immer diesen Fehler
DLL amfrt64.dll failed to open
Antwort1
Ich möchte Sie auch über eine Lösung informieren, die ich gefunden habe. Es scheint, dass ffmpeg (Windows-Build) nur wenige h264-Optionen kompiliert hat. Sehen Sie sich das an:
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)
Wenn Sie also nur „h264“ eingeben, wird die erste aufgeführte Option angenommen, die für AMD ist. Wenn Sie keine AMD-CPU verwenden, wird dieser Fehler höchstwahrscheinlich auftreten.
Die Lösung besteht darin, die richtige Codec-Version zu definieren, wie sie in ffmpeg genannt wird. Bei mir war es:
ffmpeg4.4 -i input.mp4 -codec:v h264_qsv output.mp4
Beachten Sie, dass Sie möglicherweise auch andere DLL-Fehlermeldungen erhalten wie
Cannot load nvcuda.dll
Es hängt alles davon ab, welchen Codec-Namen Sie verwenden und welche Plattform Sie verwenden (Intel, AMD, NVIDIA). Beachten Sie auch, dass Sie zum Kodieren auch diese Codecs verwenden können, die als „Encoder“ aufgeführt sind. Beispielsweise hat libx264 in der obigen Liste bei mir zum Kodieren nicht funktioniert.