FFMPEG: „DLL amfrt64.dll konnte unter Windows nicht geöffnet werden“

FFMPEG: „DLL amfrt64.dll konnte unter Windows nicht geöffnet werden“

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.

verwandte Informationen