gpt4 book ai didi

FFmpeg : Encode Rgb Frames (AvFrames) to H264

转载 作者:行者123 更新时间:2023-12-04 23:01:06 25 4
gpt4 key购买 nike

当我用 H264 编码 Rgb24 帧时,我得到“输入宽度大于步幅”......
顺便说一句,如果我给出的是 Yuv420p 的原始图像,ffmpeg 会成功对其进行编码......
我想知道的是:
i) 我们是否必须提供 Yuv 格式进行编码?无法提供用于编码 h264 的 rgb 帧?
ii) 如果我们可以给出 rgb 帧,那么诀窍是什么?

最佳答案

我知道这有点晚了(自 2010 年以来没有答案),但听起来您需要(或需要)调整图像数据的包装。
来自以下 MSDN 文章(我知道它是 MSDN,但它对所涉及概念的解释非常好):

When a video image is stored in memory, the memory buffer mightcontain extra padding bytes after each row of pixels. The paddingbytes affect how the image is stored in memory, but do not affect howthe image is displayed.

The stride is the number of bytes from one row of pixels in memory tothe next row of pixels in memory. Stride is also called pitch. Ifpadding bytes are present, the stride is wider than the width of theimage, as shown in the following illustration.

Image stride illustration


Read more here
查看您为图像宽度和图像步幅指定的内容。无论您为该行提供什么数据,其位数都比您为步幅指定的要多(如果它们一致,我也在猜测宽度)。

关于FFmpeg : Encode Rgb Frames (AvFrames) to H264,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4410534/

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