【技术实现步骤摘要】
FLV数据传输方法、系统、设备及可读存储介质
本专利技术涉及通信
,尤其涉及一种FLV数据传输方法、系统、设备及可读存储介质。
技术介绍
随着电信运营商对减少直播时延的需求日渐增加,导致FLV数据的使用频率也越来越高。但是由于FLV数据其格式的特殊性,目前只能使用TCP传输,属于单播模式。而观看直播的用户往往数以万计,若通过单播模式为这些用户传输FLV数据,需要占用巨大的网络带宽资源,给现有的网络带宽资源带来严重冲击。
技术实现思路
本专利技术的主要目的在于提供一种FLV数据传输方法、系统、设备及可读存储介质,旨在解决现有技术中通过单播模式传输FLV数据,需要占用巨大的网络带宽资源的技术问题。第一方面,本专利技术提供一种FLV数据传输方法,所述FLV数据传输方法包括:发送端将FLV数据解析成多个TAG,并分别将每个TAG封装至RTP包;发送端基于组播传输的方式,将RTP包传输到接收端;接收端接收RTP包,并在RTP包丢失时,对丢失的RTP包所封装的TAG进行恢复,得到新的TAG,并基于未丢失的RTP包所封装的TAG以及所述新的TAG,得到新的FLV数据。可选的,所述分别将每个TAG封装至RTP包的步骤包括:当一TAG的数据长度小于m时,将所述TAG封装至一个RTP包中;当一TAG的数据长度大于n倍的m时,将所述TAG封装至n+1个RTP包中;当一TAG的数据长度等于n倍的m时,将所述TAG封装至n个RTP包中;其中,n为 ...
【技术保护点】
1.一种FLV数据传输方法,其特征在于,所述FLV数据传输方法包括:/n发送端将FLV数据解析成多个TAG,并分别将每个TAG封装至RTP包;/n发送端基于组播传输的方式,将RTP包传输到接收端;/n接收端接收RTP包,并在RTP包丢失时,对丢失的RTP包所封装的TAG进行恢复,得到新的TAG,并基于未丢失的RTP包所封装的TAG以及所述新的TAG,得到新的FLV数据。/n
【技术特征摘要】
1.一种FLV数据传输方法,其特征在于,所述FLV数据传输方法包括:
发送端将FLV数据解析成多个TAG,并分别将每个TAG封装至RTP包;
发送端基于组播传输的方式,将RTP包传输到接收端;
接收端接收RTP包,并在RTP包丢失时,对丢失的RTP包所封装的TAG进行恢复,得到新的TAG,并基于未丢失的RTP包所封装的TAG以及所述新的TAG,得到新的FLV数据。
2.如权利要求1所述的FLV数据传输方法,其特征在于,所述分别将每个TAG封装至RTP包的步骤包括:
当一TAG的数据长度小于m时,将所述TAG封装至一个RTP包中;
当一TAG的数据长度大于n倍的m时,将所述TAG封装至n+1个RTP包中;
当一TAG的数据长度等于n倍的m时,将所述TAG封装至n个RTP包中;
其中,n为正整数,m为一个RTP包可承载的最大数据长度。
3.如权利要求2所述的FLV数据传输方法,其特征在于,RTP包的扩展字节中填充有所封装的TAG的关键信息,所述关键信息包括TAG序号、TAG数据类型、TAG的时间戳、TAG的数据长度,且当RTP包为封装开始和/或封装结束包时,在其扩展字节中填充开始和/或结束标记,所述对丢失的RTP包所封装的TAG进行恢复,得到新的TAG的步骤包括:
若丢失的RTP包为封装有一TAG部分数据的RTP包,则基于接收到的封装有所述TAG其他部分数据的其他RTP包的扩展字节中填充的关键信息,以及所述TAG其他部分数据的数据长度,构建所述TAG新的部分数据;
基于所述TAG新的部分数据以及所述TAG其他部分数据,得到新的TAG。
4.如权利要求3所述的FLV数据传输方法,其特征在于,所述若丢失的RTP包为封装有一TAG部分数据的RTP包,则基于接收到的封装有所述TAG其他部分数据的其他RTP包的扩展字节中填充的关键信息,以及所述TAG其他部分数据的数据长度,构建所述TAG新的部分数据的步骤包括:
若丢失的RTP包为封装有一TAG部分数据的RTP包,且所述TAG部分数据包括TAGheader参数;
根据接收到的封装有所述TAG其他部分数据的其他RTP包,得到所述TAG其他部分数据的数据长度;
以所述TAG其他部分数据的数据长度,替换所述其他RTP包的扩展字节中填充的关键信息中记录的TAG的数据长度,得到新的关键数据;
以所述新的关键数据构建所述TAG新的部分数据。
5.如权利要求4所述的FLV数据传输方法,其特征在于,在所述得到所述TAG其他部分数据的数据长度的步骤之后,还包括:
计算所述其他RTP包的扩展字节中填充的关键信息中记录的TA...
【专利技术属性】
技术研发人员:陈鹤,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。