在FLV文件的TAG中写入H264数据

由于最近在弄编解码的东西,抽空写了个摄像头录像机工具。

视频使用x264编码,音频使用AAC(音频还在添加中)。

录像文件挑了个看上去格式最简单的FLV格式,但没想到折腾了半天。

不清楚FLV里的H.264的tag数据内容到底是怎么写,开始我是把编码后的数据直接打进tag中。

结果使用射手影音播放器,有些机器能正常播放,有些图像缺是花了。

后来干脆将所有的NALU全部分离了,只留下NALU_TYPE_IDR,NALU_TYPE_SLICE这两个裸数据,

反正FLV文件头中已经带了,sps,pps数据,去除startcode后,终于所有机器都能都正常播放了。

由于是裸264数据,写264实际数据前需要插入4个字节的长度信息,所以整个tag长度需要+4

实际的内存分布是tag头12字节,加4字节264 AVCPacketType 和 CompositionTime,然后就是

4字节的数据长度,再写裸的IDR和SLICE.

这样分布

12byte tag头 |  4字节264avtype&ctime | 4字节长度信息 |  裸IDR和SLICE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值