一种基于P2P流媒体服务器及SDK的码率自适应方法与流程

文档序号:36477120发布日期:2023-12-25 01:05阅读:36来源:国知局
一种基于的制作方法

本发明涉及网络传输,具体涉及一种基于p2p流媒体服务器及sdk的码率自适应方法。


背景技术:

1、随着多媒体行业的蓬勃发展,短视频和直播等业务场景的逐渐增多,视频数据的网络数据量也不断的增加。对于视频数据的提供商和运营商来说,降低视频数据产生的巨额的网络带宽费,提升服务质量显得格外重要,现有的视频网站都会采用p2p技术来降低带宽费用,通过播放器码率自适应来提升播放质量,常用的几种技术方案包括:

2、(1)服务器统一切片作为中心资源服务;(2)播放器上层实现p2p-sdk完成数据的获取,分享以及生成本地加速地址对接播放器;(3)使用hls,dash等标准协议统一切片并配合播放实现网络自适应。

3、因此,现有p2p流媒体码率自适应技术存在以下缺点:

4、1、服务器统一切片局限。使用固定大小切片,按照gop切片,按照帧切片等技术无法实现码率自适应功能,增加切片服务器成本,并且无法对接cdn系统形成pcdn服务架构。

5、2、自适应码率流程复杂。使用标准hls协议切片,传输并实现自适应码率需要服务端生成不同比特率的播放列表文件,并生成一级索引文件,播放器适配标准协议并根据自身网络状况来回切换一级索引文件和二级索引文件,流程复杂。

6、3、p2p-sdk自适应码率。增加p2p功能后自适应码率功能需要转移到p2p-sdk处理,播放器无需关注,目前没有相关p2p-sdk自适应码率的实现算法。基本都是基于播放器实现的例如vlc,ffplay等。


技术实现思路

1、本发明的目的在于提供一种基于p2p流媒体服务器及sdk的码率自适应方法,该方法主要用于解决现有p2p流媒体码率自适应技术存在的缺点。

2、为解决上述问题,本发明所采用的技术方案如下:

3、一种基于p2p流媒体服务器及sdk的码率自适应方法,该方法包括以下步骤:采用标准协议hls对接cdn系统架构,形成pcdn架构,获取与播放端匹配的对点内容分发网络pcdn节点;

4、删除服务器的一级索引文件以及其获取流程;

5、在每个客户端内设有p2p-sdk核心模块,由p2p-sdk核心模块通过码率采样算法计算出自身的码率需求,在请求过程中通过http请求头传递信息,实现不同码率的获取。

6、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,所述pcdn架构,包括:

7、内容管理系统,用于完成统一节目下发,并产生流媒体文件的唯一标识;

8、节目源服务器,用于将自身存储的原始流媒体资源的特征信息发送给服务器集群;

9、服务器集群,包括边缘集群服务器、cf入口、全球pop点,所述边缘集群服务器用于向节目源服务器发送请求节目内容、并接收下发的音视频数据,以及接收内容管理系统下发的节目内容;通过cf入口接收p2p客户端集群的流媒体节点查询请求,并根据客户端自身携带缓存数据的数据块位置、与流媒体数据缓存区间进行对比,找到播放流媒体数据相近的节点通过cf入口返回至客户端;通过全球pop点在全球范围内的不同地理位置设立的网络节点;

10、ts服务器,用于管理当前登录自身的各客户端的状态信息,并根据客户端的请求服务将系统当前所能提供的流媒体资源的特征信息显示给客户端;

11、p2p客户端集群,用于通过cf入口与边缘集群服务器进行信息交互,以及各个客户端之间用于流媒体数据的分享和给播放器提供播放的流媒体数据。

12、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,所述删除服务器的一级索引文件以及其获取流程,包括:

13、减去获取一级索引文件index.m3u8的步骤,直接请求获取480p.m3u8、720p.m3u8、1080p.m3u8文件,以减少服务器生成索引文件流程;

14、减去获取index.m3u8文件的步骤以及切换码率中获取1080p.m3u8的步骤,在解析ulr时,直接请求获取xxxp.m3u8文件,解析m3u8文件,请求ts文件,并在ts文件中添加http请求头信息。

15、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,所述pcdn架构还包括ts-web前端和ts-web后台服务器,所述ts-web前端用于向ts-web后台请求数据、并对下发的节目热门统计进行展现,所述ts-web后台用于读取ts服务器存储的相同文件节点共享数据的频率,并根据ts服务器确定的流媒体文件节点携带的节目唯一标识、来对节目活跃度进行统计,完成节目热门统计后、将给出的负载均衡方案上传至内容管理系统。

16、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,所述p2p-sdk核心模块通过码率采样算法计算出自身的码率需求,在下一次请求过程中,在http协议请求头部分增加字段live-adaptive:1080p,通过cf入口传输给边缘集群服务器,在读取到该字段后发送1080p的节目流数据通过cf入口给客户端从而实现切换码率。

17、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,所述码率采样算法包括:

18、统计过去k次接收数据的速率,使用数组或者链表保存,如果数据或者链表满了则移除第一个数据,再在末尾增加最新数据;其中,当接收速率较高且稳定时,可以认为网络带宽较大;而接收速率较低或波动较大时,则可能表示网络带宽较小。

19、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,接收速率为:recevi_rate=received_bytes/elapsed_time,其中,received_bytes为每一个.ts文件的大小,elapsed_time为发起请求时间到接收完数据的时间差;

20、接收速率平均值为:x为过去k次数据的平均值,xi为每一次的具体值;

21、接收速率标准差为:y为过去k组数据的标准差,xi为每一次的具体值,x为过去k次数据的平均值;

22、接收速率方差值为z为过去k组数据的方差,xi为每一次的具体值,x为过去k次数据的平均值。

23、根据本发明提供的一种基于p2p流媒体服务器及sdk的码率自适应方法,在进行切换码率时,若标准差接近与零,则认为网络波动小,考虑切换大码率;若标准差的值超过数据范围的50%,则认为网络波动较大,考虑切换小码率。

24、由此可见,相对于现有技术,本发明具有以下有益效果:

25、1、本发明采用标准协议hls对接cdn系统架构,减少分片系统的成本,形成pcdn架构;

26、2、本发明去除了一级索引文件优化自适应码率流程,通过http请求头传递信息,服务器切换码率;

27、3、本发明通过p2p-sdk实现码率的采样、计算等算法,发布http请求头信息,实现不同码率的获取。

28、下面结合附图和具体实施方式对本发明作进一步详细说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1