在视频中对JPEG图像进行编码,同时始终保持视频可播放

时间:2016-01-28 13:15:06

标签: video jpeg mjpeg

我有一个应用程序从URL中提取一些JPEG图像,我想在视频到达时对每个图像进行编码。

约束如下:

  • 视频格式应尽可能简单,因此我可以在C中快速实现它,或者应该存在一个相对不膨胀的库来执行此操作
  • 如果电源在任何时候出现故障(或我强行关闭应用程序),视频应保持“可视”状态并可在普通视频播放器中播放,无需任何其他特殊处理,无论有多少(1或n)JPEG图像我加入了它。在我看来,这是这样的:从第一张图片开始,我希望视频“完整”,并且仅为了制作更长的视频而附加以下图像。

我读过关于M-JPEG的内容,但是我无法通过编程找到任何关于如何通过编程生成这样的内容的示例和文档。

同样,语言将是C.

1 个答案:

答案 0 :(得分:0)

尝试在每张图片前写一个简单的标题,

--random-boundary-string
Content-Type: image/jpeg
Content-Length: NNNNN
data...
--random-boundary-string
Content-Type: image/jpeg
Content-Length: NNNNN
data...

其中NNNNN是Jpeg图像的大小,data...是完整的Jpeg图像。写入.mjpeg扩展名的文件。 mplayer可以播放产生的结果,但我不知道其他玩家将如何处理它。可能任何使用libavcodec的东西都可以处理它。您必须使用mplayer -fps N以合理的速度播放。

我有一些项目可以做到这一点,而且效果很好。