MJPEG+PCM合成AVI视频格式文件

前段时间将Webcam的MJPEG获得了,也将MJPEG通过硬件解码显示出来了,现在要做的是将MJPEG数据合成视频文件。想到最简单的视频格式就是微软的AVI了,首先我们要对AVI的结构有些认识,下面我们通过结构分析软件,看看简单的AVI结构(AtomicBrowser很不错的分析软件),下面是我合成MJPEG  1280*720  25fps, 150张MJPEG图片,PCM双通道,22050Hz, 16bit位宽,的结构。

'AVI'    包涵整个视频文件;

‘hdrl’  记录avi的全局信息;

‘avih’ 记录了视频格式数据;

‘strl’   是视频的数据流信息,视频有多少流就有多少‘strl’

‘movi’是存放流信息的,其中视频流的标记是‘00dc’, 音频流是‘01wb’,其中00,01是代表流的编号。


只需要这些信息合成视频就能播放了,我们就没有必要,找麻烦写一些字段,如:‘JUNK’, ‘INFO’, ‘idx1’


下面我们一步一步的合成AVI,首先写头信息:

‘avih’


microsec/frame每个画面帧的间隔时间,纳秒为单位

max bytes/sec每秒数据流的byte数

frame指示该视频有多少视频帧

sug. bufsize建议解码的缓存

# stream视频流的数目,只有视频流和音频流,所以是2

width,height视频的宽高


视频流‘strh’和‘strf’


这些数据就不用解释了,看英文加数字,再对照我合成AVI的参数就清楚了


音频流‘strh’和‘strf’


同上这些数据就不用解释了。


真实数据存放在‘movi’里面

上面有对应的标记和size,很清晰吧。


有了上面清晰的数据结构,再对应一个一个字段写数据就可以合成AVI文件了,是不是很简单,我这里有用C语言写的,生成AVI视频源码,有需要可以联系我!



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值