3

我即将开始一个项目,该项目将涉及以 rgb32 格式逐像素处理 avconv/ffmpeg 的输出。我打算使用原始字节流,例如来自pipe协议的。基本指针算法 (C/C++) 将用于迭代这些像素,并以任意方式实时修改它们。

我使用 rawvideo 格式和编解码器创建了一个非常小的文件,并在十六进制编辑器中打开它。正如预期的那样,它只是一系列像素,从右到左,从上到下阅读。不区分行 - 没问题,如果您事先知道视频的宽度。不区分帧 - 没问题,如果你也知道视频有多高。没有帧速率的文件头,甚至没有编码(rgb32、rgb24、yuv 等)是什么——同样,只要你已经知道,它就可以使用。

当 - 由于某种原因 - 缺少某些字节时,就会出现问题。也许从一开始就没有检查流,这可能是我的项目中的情况,或者可能只是丢失了一些东西。世界上所有预先存在的知识(除了可能错过的字节数,不会发生)不会阻止它愉快地前进,线条和框架的偏移不正确。

所以,我正在寻找的是 rawvideo 的一个选项,或者可能是其他一些格式/编解码器,这将允许我在像素级别以 RGB 处理生成的流,但仍然有一个新的明确定义帧开始,即使它恰好在帧中间开始“寻找”。(宽度、高度和帧率确实是已知的。)

4

0 回答 0