在FLV文件的TAG中写入H264数据
来源:互联网 发布:图片涂鸦软件 编辑:程序博客网 时间:2024/05/16 05:40
由于最近在弄编解码的东西,抽空写了个摄像头录像机工具。
视频使用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
- 在FLV文件的TAG中写入H264数据
- 在FLV文件的TAG中写入H264数据
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析
- h264中avc和flv数据的解析 .
- 从flv文件提取H264数据
- FLV文件分析 --2(提取h264数据)
- 打包H264码流到FLV文件
- h264封装为flv文件
- 打包H264码流到FLV文件
- 如何在网页中播放FLV文件的代码
- RTMP中FLV流到标准h264、aac的转换
- IEEE802.3具体格式
- 汉诺塔 非递归
- TCP三次握手及四次挥手详细图解
- 多核多线程同步
- S3C2440裸机实验之timer(定时器)
- 在FLV文件的TAG中写入H264数据
- Beyond MapReduce:谈2011年风靡的数据流计算系统(转)
- 1分钟内保护你的Linux服务器—Server Shield v1.0.2
- 用代码和UML图化解设计模式之《抽象工厂模式》
- 关于warning C4512: “`anonymous-namespace'::******”: 未能生成赋值运算符
- linux小技巧——添加永久生效的路由
- WINDOWS SERVER 2008密码丢失的处理(IBM x3650 m3)
- 收集几道题目
- tcpdump使用详解及评论摘要