ffmpeg 仅对部分图像获取未处理的像素格式 0x11111111

ffmpeg 仅对部分图像获取未处理的像素格式 0x11111111

你好,我正在使用 ffmpeg 转换视频中的图像。我需要 1 张静止图像来制作 2 秒的视频,我使用以下调用:

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

如果我使用一些测试图像(使用 Photoshop 生成 200x200px 的单色图像),它会得到以下输出:

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

请注意,使用从互联网上下载的一些随机图像的相同命令效果很好。

这是失败的测试图像: 在此处输入图片描述

有什么想法?

答案1

您可能会遇到一个错误:票号#896:ljpeg - 支持 32bpp RGBA。幸运的是,这个问题已经修复了提交 6db57fa大约一周前,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]>

这只是意味着你必须获得较新的 ffmpeg 版本。请参阅FFmpeg 下载页面,获取 OSX、Windows 和 Linux 版本的链接。当然,您也可以随时编译 ffmpeg也。

相关内容