ffmpeg se rendre au format de pixel non géré 0x11111111 uniquement avec certaines images

1

Salut, j'utilise ffmpeg pour transformer des images en vidéo. J'ai besoin d'une image fixe pour une vidéo de 2 secondes, j'utilise cet appel:

ffmpeg -loop 1 -i img.jpg -t 2 -vcodec mpeg2video result.avi

Si j'utilise des images de test (générées sous forme d'images unicolores 200x200px avec Photoshop), le résultat obtenu est le suivant:

ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 26 2013 20:18:03 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mjpeg @ 0x7fba0901e800] Unhandled pixel format 0x11111111
    Last message repeated 8 times
[image2 @ 0x7fba09006600] decoding for stream 0 failed
[image2 @ 0x7fba09006600] Could not find codec parameters for stream 0 (Video: mjpeg, 200x200): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
1.jpg: could not find codec parameters

Notez que la même commande avec des images aléatoires téléchargées sur Internet fonctionne bien.

Voici l'image de test qui échoue: entrez la description de l'image ici

Quelques idées?

nkint
la source
1
Si l'image est défectueuse, avez-vous essayé de la générer à nouveau?
Slhck
comment pouvez-vous dire que, je veux dire, avez-vous essayé de télécharger et fait quelque chose ou juste à cause de l'erreur ffmpe que j'ai
nkint

Réponses:

0

Vous pouvez rencontrer un bogue: Ticket # 896: ljpeg - supporte 32bpp RGBA . Heureusement, il a été corrigé avec commit 6db57fa il y a environ une semaine le 2013-07-25:

$ cd ~/ffmpeg; git log 6db57fa
commit 6db57fa8bc1a40c16293f9224d195e43ae52aabd
Author: Michael Niedermayer <[email protected]>
Date:   Thu Jul 25 00:32:44 2013 +0200

    avcodec/mjpegdec: Support RGBA lpegs

    Fixes Ticket896

    Signed-off-by: Michael Niedermayer <[email protected]>

Cela signifie simplement que vous devez obtenir une nouvelle version de ffmpeg. Voir la page de téléchargement de FFmpeg pour des liens vers des versions pour OSX, Windows et Linux. Bien sûr, vous pouvez aussi toujours compiler ffmpeg .

llogan
la source
@nkint Firefox affiche l'image en bleu, mais ffmpeg en rouge. Pouvez-vous confirmer quelle est la bonne couleur?
llogan
Mhm ... il devrait être cyan .. donc le contraire du rouge, que pour nos yeux est comme un bleu clair .. en.wikipedia.org/wiki/Cyan
nkint
@ nkint Ensuite, ma réponse était prématurée. Désolé pour ça. Il semble que vous rencontriez maintenant un bogue connexe probable # 2799: Pas de support pour cmyk jpeg qui est actuellement un bogue ouvert.
llogan