以flv.js框架为基础,替换flv格式视频(待验证)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qbv321/article/details/81196732
                                     flv.js总结
这两个月来,开展这个flv.js项目学到的新东西还挺多的,从理解flv.js框架,到理解flv视频格式,到理解公司自己的视频格式,当每一步都理解后,整个过程是比较顺利的,下面是我对这个项目的研究流程

(1)流程
熟悉flv.js框架
熟悉flv视频格式
参考资料:http://www.360doc.com/content/16/1013/17/474846_598171645.shtml

Flv视频格式简单总结是

熟悉公司的视频格式

这是一个tag,相比于flv视频格式,我们自己的视频格式少了header 以及 PreviousTagSize

所以我们自己的视频格式是多个tag连接的

修改flv.js的flv格式,替换我们自己的视频格式(这个是重点)
      1、修改视频流文件头

2、修改parseChunks
       ParseChunks的工作主要是解析tag的信息包括tag类型,tag长度,timestamp, datasize,解析完之后就根据tag的类型去解析视频或者音频

3、解析关键帧
       解析关键帧主要是解析sps+pps,对于解析sps和pps,之前flv.js的框架已经有了,所以只需要正确传入我们的sps和pps就可以了,但是这个中间有个问题,就是meta.avcc,meta.avcc 这个东西不是直接放sps/pps ,它有一套自己的格式,iso的mepg4规范,avcc的格式,但是我当时直接放入sps/pps,所以debug了很久都不行,最后经过Aksen的debug,把问题解决了。最后把I帧视频放入到视频解析部分

4、解析视频
解析视频主要是将rawdata 放入 track,但是有个问题就是 track里面的data前四个字节是rawdata的size ,而且rawdata的size需要减4

5、解析音频
解析音频主要是解析rawdata前面7个字节,获取音频的一些SampleRate、channel,

因为我们自己的音频格式只有一种ACC,所以将aac rawdata 放入track

(2)技术难点

理解和熟悉flv.js框架,因为之前没接触过Javascript以及音频视频格式,很多东西都要从零开始
摸透flv视频格式和公司自己的视频格式,找出他们的共同点和异同点,这样就可以把公司自己的视频格式替换flv视频格式
最后是debug阶段,很多比较细的知识还是不懂,所以调试了很久,最后Aksen专业的解决了

(3)项目总结
从零开始接触一个项目,最后还是比较顺利的解决了,从中还是学到了很多新的专业知识,以及对于自己解决项目问题的能力有了提高。
————————————————
版权声明:本文为CSDN博主「Better_tang」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qbv321/article/details/81196732

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值