FFMPEG - 未找到编解码器参数

问题描述 投票:0回答:6

我正在尝试通过 FFMPEG 将图像序列转换为 mpeg 电影,尽管我不断收到错误消息,指出找不到代码参数(视频:mjpeg)。谷歌搜索并没有找到太多有用的信息。

ffmpeg -f image2 -i /tmp/img%03d.jpg video.mpgFFmpeg 版本 SVN-r0.5.1-4:0.5.1-1ubuntu1,版权所有 (c) 2000-2009 Fabrice Bellard 等人。
  配置: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --启用libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
  libavutil 49.15。 0 / 49.15。 0
  libavcodec 52.20。 1 / 52.20。 1
  libav 格式 52.31。 0 / 52.31。 0
  libavdevice 52.1.0 / 52.1.0
  libavfilter 0.4.0 / 0.4.0
  libswscale 0.7.1 / 0.7.1
  libpostproc 51.2.0 / 51.2.0
  建于 2010 年 3 月 4 日 12:35:30,gcc:4.4.3
[mjpeg @ 0x9069870]dqt:16位精度
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(c9)
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(cf)
[mjpeg @ 0x9069870]仅接受 8 位/组件
[mjpeg @ 0x9069870]dqt:16位精度
[mjpeg @ 0x9069870]霍夫曼表解码错误
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(ca)
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(ce)
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(cb)
[mjpeg @ 0x9069870]decode_sos:无效的长度(60581)
[mjpeg @ 0x9069870]仅接受 8 位/组件
[mjpeg @ 0x9069870]decode_sos:无效的长度(56833)
[mjpeg @ 0x9069870]无效的 ID 207
[mjpeg @ 0x9069870]mjpeg:不支持的编码类型(cd)
[mjpeg @ 0x9069870]霍夫曼表解码错误
[image2 @ 0x90682c0]找不到编解码器参数(视频:mjpeg)
/tmp/img%03d.jpg:找不到编解码器参数

图像位于 /tmp 目录中,名称为 img001.jpg 和 img002.jpg。

有什么想法吗?

谢谢 -坦纳

image ffmpeg
6个回答
9
投票

ffmpeg 实际上想告诉您的是,您的文件扩展名为 jpeg,但该文件实际上是 bmp 或其他格式。

确保文件以 jpeg 编码,问题就会消失。


5
投票

有些人这里说这是因为mjpeg编解码器无法真正找到。 他们建议从源代码安装它。 我感觉更有可能是没有安装mjpeg。 我觉得这个问题有两种解决方案。

  1. 您可以尝试安装该编解码器,看看是否有帮助 MJpeg 下载 Win
  2. 您可以尝试强制 ffmpeg 将其导出到不同的编解码器 尝试: ffmpeg -f image2 -i /tmp/img%03d.jpg -vcodec mpeg2video video.mpg

3
投票

可能需要指定该系列图像的输入编解码器。请注意第二个示例中的

-c:v gif
添加,放置在输入源之前:

$ ffmpeg -f image2 -i %03d.gif zzz.webm
# Error: %03d.gif: could not find codec parameters

$ ffmpeg -f image2 -c:v gif -i %03d.gif zzz.webm
# Works! ffmpeg version 2.7

3
投票

FFmpeg 可能存在多个问题,无法解码您的图像。其他答案对这个问题没有深刻的见解,没有解决不支持的编码算法的问题。

JFIF 标准允许霍夫曼或算术编码(附录 B.1.1.5)。然而,FFmpeg 的实现不考虑算术编码,它会输出与您类似的错误消息。


# query the coding type
exiftool image.jpg | grep -i "encoding"

0
投票

试试这个:

ffmpeg -f image2 -i /tmp/img%03d.**jpeg** video.mpg

实际上,我这里也有类似的问题..(并已解决)。

我有一系列名为 file-001、file-002 等的图像(.tiff 文件)。我忘记提供扩展名“.tiff”,所以当我运行 ffmpeg 命令时出现错误

ffmpeg -f image2 -i file-%03d.tiff video.mpg

当我通过添加“.tiff”扩展名重命名文件时,问题就解决了。


-1
投票

一图胜千言,视频更胜一筹!捕捉视频并立即分享。将最大 2GB 的文件上传到云端并与任何人共享链接。使用鼠标或键盘立即访问视频捕获和屏幕截图功能。

© www.soinside.com 2019 - 2024. All rights reserved.