以flv.js框架为基础,替换flv格式视频

                                     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)项目总结

从零开始接触一个项目,最后还是比较顺利的解决了,从中还是学到了很多新的专业知识,以及对于自己解决项目问题的能力有了提高。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值