Experimenté el siguiente problema.
Estoy usando ffmpeg para cambiar el tamaño/comprimir fotos y videos por lotes en Windows 10. Utilicé una versión 3 y desde que actualicé a la versión 4.4 de ffmpeg, la calidad de los resultados disminuyó. Descubrí que necesito modificar mi script y definir explícitamente el codificador de salida, sin embargo, al definir h264 siempre recibí este error
DLL amfrt64.dll failed to open
Respuesta1
También quiero informarles sobre una solución que encontré. Parece que ffmpeg (compilación de Windows) tiene pocas opciones de h264 compiladas. mira esto:
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)
Por lo tanto, si escribe sólo "h264", asumirá la primera opción de la lista, que es la de AMD. Si no estás ejecutando una CPU AMD, lo más probable es que recibas este error.
la solución es definir la versión de códec correcta, como se indica en ffmpeg. Para mi fue:
ffmpeg4.4 -i input.mp4 -codec:v h264_qsv output.mp4
Tenga en cuenta que también puede recibir otros mensajes de error de DLL como
Cannot load nvcuda.dll
Todo depende del nombre del códec que utilizarás y de la plataforma que ejecutes (Intel, AMD, NVIDIA). Tenga en cuenta también que para codificar también puede utilizar estos códecs que figuran como "codificadores", por ejemplo, libx264 en la lista anterior no funcionó para mí para codificar.