0

我试图从 rtsp mp4 流中提取每一帧,并使用 ffmpeg 将其转换为 jpeg/gif。我从 获取 sdp 标头000001b0.....000001b5,并将其添加到字节数组中,然后捕获从 开始的帧000001b6并将其附加到字节数组。

当我将其刷新到文件 (.mpg) 并使用 ffmpeg 时,它会引发错误而不是转换。我的标题看起来像000001B008000001B58913000001000000012000C488BA98514043C1463F,在此之后我附加了一个框架(从 开始000001b6)。

4

2 回答 2

0

根据编解码器的不同,您可能不需要添加任何东西,或者您可能需要添加很多..

这被称为解包,MPEG4-ES 没有打包模型……H264 有很多取决于配置文件。

查看 RFC ..

3016 或 3640 应该可以帮助您。

https://www.rfc-editor.org/rfc/rfc3640

https://www.rfc-editor.org/rfc/rfc3016

于 2012-12-11T23:37:45.067 回答
0

我对 FFMPEG 做了类似的事情,您从 FFMPEG 获得的帧数据似乎已经包含帧头,这就是您对数据进行转码所需的全部内容。请确保将 mp4 数据解码为原始格式(例如 RGB24),然后使用 libswscale 将其编码为 JPEG/GIF 编码器期望的像素格式(可能是 YUV 格式),然后再将数据传递给编码器。

于 2012-02-07T11:52:09.653 回答