4

我正在寻找一种将 mjpeg(压缩)视频数据复用到 mp4 或 avi 等视频容器中的方法。(我将来还需要添加音频)。因为我在项目的其他部分也使用了 FFMPEG,所以如果可能的话,我想使用这些库。我不是在寻找命令行 FFMPEG 使用!我尝试在 ffmpeg 中使用 muxing 示例,我只能创建一个(非常大的)带有视频信息的 .mjpeg 文件。这不是我要找的。

示例将非常受欢迎,但指向正确方向的指针也可以!

编辑:我已将 yuvj422p 流输出到 jpeg 图像,我想将其放入 mp4 容器中。使用 ffmpeg 命令行可以:

ffmpeg -i yuvy%01d.jpg -vcodec mjpeg out.mp4

我想直接在我的代码中执行此操作(当然不首先创建 jpeg 图像)

4

2 回答 2

3

我通过以下方式修复了它:

我使用了 muxing 示例,而不是使用编码函数,我只是跳过它,直接将 JPEG 数据加载到数据包中。为了设置 OutputContext,我使用了猜测格式函数并将编解码器设置为 MJPEG。我将 PTS 数据更改为帧计数器。因为无论如何所有帧都是按时间顺序排列的。

于 2012-10-10T12:25:00.680 回答
-2

三个主要步骤

  1. 解码(使用 avcodec_decode_video() )
  2. 将原始帧转换为 yuv420p 格式(使用 swscale())
  3. 编码(使用 avcodec_encode_video() )

如果您需要,我可以提供示例代码

于 2012-10-09T11:55:41.803 回答