¿Por qué no se muestra el video de ffmpeg en QuickTime, iMovie o vista previa rápida?

15

He estado usando ffmpeg para la conversión de video ocasional durante bastante tiempo, y recientemente descubrí que los videos H.264 (libx264) generados por ffmpeg no funcionan en iMovie o QuickTime (tampoco reproducirán ni mostrarán una vista previa en el Finder con la función de vista rápida).

Si genero videos usando aplicaciones OS X que usan ffmpeg internamente (por ejemplo, MP4tools o Adapter ) los videos funcionan bien, pero no cuando intento usar ffmpeg directamente, por ejemplo para convertir un video:

# ffmpeg -i input.avi output.mp4

o para combinar algunas imágenes en un video:

# ffmpeg -f image2 -pattern_type sequence image-%04d.png output.mp4

iMovie solo importa el video como negro / en blanco, la vista previa rápida solo muestra la información del archivo (pero no la vista previa del video), y Quicktime me dice que no se puede reproducir:

¡¿Qué está pasando ?!

    
pregunta drfrogsplat 09.01.2015 - 03:16

1 respuesta

22

En resumen, (a menudo) necesita incluir el argumento -pix_fmt yuv420p cuando usa ffmpeg para generar contenido H.264 para software / dispositivos de Apple, y un montón de otros decodificadores que no manejan yuv444p.

# ffmpeg -i input.avi -pix_fmt yuv420p output.mp4

Esto no se menciona en la salida cuando se utilizan los valores predeterminados, pero se puede encontrar en su Encode / H.264 guía .

Resulta que ffmpeg haya elegido un formato de píxeles predeterminado de yuv444p para la codificación libx264 (en algunas circunstancias) , que no es compatible con los decodificadores H.264 de software / hardware de Apple (y quizás no sea muy compatible en en general? ). Lamentablemente, parece poco probable que cambie, y no hay ninguna advertencia al respecto, así que solo hay algo que debes saber si utilizas ffmpeg para crear archivos H.264.

Por lo que puedo decir, si la conversión de un video que ya está usando yuv420p lo mantendrá, pero si la conversión de algo es un poco más exótico (por ejemplo, imágenes o un GIF o lo que sea), el formato de píxeles debe especificarse para el general Compatibilidad con Apple.

    
respondido por el drfrogsplat 09.01.2015 - 03:16

Lea otras preguntas en las etiquetas