Lorsque j'essaie d'ouvrir un film que je viens de créer avec la commande:
ffmpeg -pattern_type glob -i '*.JPG' -s 640x480 movie.mp4
Je reçois une erreur de QuickTime:
The document “movie.mp4” could not be opened.
The file may be damaged or may not be a movie file that is compatible with QuickTime Player.
J'ai utilisé la même commande sur un ensemble d'images générées à partir d'un laps de temps iSight, mais dans ce cas, les images ci-dessus proviennent d'un appareil photo numérique. La résolution est beaucoup plus élevée, mais je la redimensionne à 640x480 et je ne vois rien dans la sortie qui suggère un problème:
Input #0, image2, from '*.JPG':
Duration: 00:00:04.76, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc), 4928x3264, 25 tbr, 25 tbn, 25 tbc
par rapport au film de travail:
Input #0, image2, from '*.JPG':
Duration: 00:01:23.72, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc), 640x480 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc
Et pour la sortie:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj422p, 640x480, q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
vs pour celui qui travaille:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
Mis à part que le film de travail est plus long et une résolution source inférieure, la seule différence que je peux voir est qu'il y a un "[SAR 1: 1 DAR 4: 3] supplémentaire" mentionné dans le flux vidéo, mais je n'ai aucune idée de ce que cela est, ou comment essayer de le forcer dans le film non fonctionnel.
Mise à jour: Je viens de télécharger VLC et il joue bien le film. Je sais donc que ffmpeg n'est pas en faute ici.
ffprobe video.mp4
peut être utilisé pour vérifier le format de pixel utilisé.