Video FFMPEG-Can';t使用RGB24像素格式从一系列图像创建视频 目标

Video FFMPEG-Can';t使用RGB24像素格式从一系列图像创建视频 目标,video,ffmpeg,video-encoding,libavcodec,libav,Video,Ffmpeg,Video Encoding,Libavcodec,Libav,我正在编写一个小的概念验证应用程序,以获取我从数码相机获取的一些原始图像数据(一系列RGB24图像),并将它们组合成一个简单的、无音频的视频文件 工作至今 初始化代码如下所示: 非常干燥。但是,当我尝试注册编解码器时,它失败了,并显示了我的自定义错误消息,其中一条消息直接从FFMPEG库中以漂亮的颜色编码格式丢弃: 我可以很容易地确认像素格式是有效的: 我还可以确认我尝试使用的视频编解码器对编码有效 问题: 为什么不支持这种像素格式?当与其他实用程序(如MATLAB、Open

我正在编写一个小的概念验证应用程序,以获取我从数码相机获取的一些原始图像数据(一系列RGB24图像),并将它们组合成一个简单的、无音频的视频文件


工作至今 初始化代码如下所示:



非常干燥。但是,当我尝试注册编解码器时,它失败了,并显示了我的自定义错误消息,其中一条消息直接从FFMPEG库中以漂亮的颜色编码格式丢弃:



我可以很容易地确认像素格式是有效的:



我还可以确认我尝试使用的视频编解码器对编码有效



问题:
为什么不支持这种像素格式?当与其他实用程序(如MATLAB、OpenCV、FreeImage等)一起使用时,这似乎是一个常见的问题。FFMPEG/AVcodec中是否有一组选项或函数可以解决此问题?如果可能的话,我希望避免手动将图像转换为不同的颜色空间,因此我不会先将RGB24图像转换为新格式,然后用它编码视频帧,从而消耗CPU周期


谢谢。

如果运行
ffmpeg-h encoder=mjpeg
,您将看到

...
Encoder mjpeg [MJPEG (Motion JPEG)]:
    General capabilities: threads
    Threading capabilities: frame and slice
    Supported pixel formats: yuvj420p yuvj422p yuvj444p
JPEG使用编码为YUV的像素
qtrle
png
libx264rgb
等将接受RGB,但应另存为
.mov
-Quicktime。

似乎我误解了命令行中的“支持的格式”。我将(通过额外的步骤)重新转换为支持的格式。谢谢
[mjpeg @ 0x650d00] Specified pixel format rgb24 is invalid or not supported
Codec not available.
Pixel formats:
I.... = Supported Input  format for conversion
.O... = Supported Output format for conversion
..H.. = Hardware accelerated format
...P. = Paletted format
....B = Bitstream format

2>&1 ffmpeg -pix_fmts | grep -i -e rgb24 -e flags
FLAGS NAME            NB_COMPONENTS BITS_PER_PIXEL
IO... rgb24                  3            24
Codecs:
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression

2>&1 ffmpeg -codecs | grep -i mjpeg              
 DEVIL. mjpeg                Motion JPEG
...
Encoder mjpeg [MJPEG (Motion JPEG)]:
    General capabilities: threads
    Threading capabilities: frame and slice
    Supported pixel formats: yuvj420p yuvj422p yuvj444p