gpt4 book ai didi

video - FFMPEG - 无法从 RGB24 像素格式的图像系列创建视频

转载 作者:行者123 更新时间:2023-12-04 23:00:08 26 4
gpt4 key购买 nike

目标

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

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

AVCodec* pCodec = NULL;
AVCodecContext* pCodecContext = NULL;
AVFrame* pFrame = NULL;

/* Register all available codecs. */
avcodec_register_all();

/* Determine if desired video encoder is installed. */
pCodec = avcodec_find_encoder(CODEC_ID_MJPEG);
if (!pCodec) {
printf("Codec not installed!\n");
}

pCodecContext = avcodec_alloc_context3(pCodec);
pFrame = avcodec_alloc_frame();

非常干燥。但是,当我尝试注册编解码器时,它会因我的自定义错误消息而失败,并且直接从 FFMPEG 库中以漂亮的颜色编码格式删除了一个:
[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

问题

为什么不支持这种像素格式?与 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 , pnglibx264rgb ,除其他外,将接受 RGB,但应保存为 .mov - 快速时间。

关于video - FFMPEG - 无法从 RGB24 像素格式的图像系列创建视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com