System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及视频传输领域,特别涉及一种码率调整方法、装置、设备及存储介质。
技术介绍
1、随着音视频行业的发展,基于p2p(peer-to-peer,点对点)的视频传输方式逐渐成为主流。相比于基于http-flv(hypertext transfer protocol-flash video,超文本传输协议-流媒体格式)的视频传输方式,基于p2p的视频传输方式会同时从边缘cdn(contentdelivery network,内容分发网络)节点与一些链路质量较好的用户设备(即peer)处同时获取数据,以降低cdn负载。
2、在p2p场景下,传输链路的链路质量可能会出现恶化。在这种情况下,为了最大化用户观看的清晰度和播放流畅度,目前亟需一种针对p2p场景的自适应多码率算法。即,如何在视频流传输过程中动态调整码率以保证视频质量,是时下本领域亟待解决的一个问题。
技术实现思路
1、本公开提供一种码率调整方法、装置、设备及存储介质。本公开的技术方案如下:
2、根据本公开实施例的一方面,提供一种码率调整方法,应用于第一终端,所述第一终端从一个边缘cdn节点和多个第二终端处获取数据;所述方法包括:
3、获取当前时刻的缓冲区长度;其中,所述缓冲区长度是指所述第一终端的播放器缓冲区中已缓存数据的播放时长;
4、响应于所述缓冲区长度不大于第一阈值,获取所述第一终端在当前时刻的多个可用带宽;其中,所述可用带宽与所述第一终端对应的传输耗时相关;所述传输耗时是
5、根据所述多个可用带宽,调整所述第一终端进行数据播放时的清晰度档位;其中,一个所述清晰度档位对应一种码率,所述码率是指向所述第一终端传输数据采用的码率。
6、在一些实施例中,所述获取所述第一终端在当前时刻的多个可用带宽,包括:
7、根据当前清晰度档位对应的码率,确定所述第一终端在当前时刻需获取的总数据量;
8、根据所述总数据量和所述第一终端对应的不同传输耗时,获取所述多个可用带宽。
9、在一些实施例中,所述多个第二终端的数量为n个;所述方法还包括:
10、根据当前时刻从所述边缘cdn节点和n-1个第二终端处获取数据所需的时长,为所述第一终端确定第一个传输耗时;
11、根据当前时刻从所述边缘cdn节点和n-2个第二终端处获取数据所需的时长,为所述第一终端确定第二个传输耗时;
12、以此类推,重复执行上述步骤,直至根据当前时刻从所述边缘cdn节点和n-m个第二终端处获取数据所需的时长,为所述第一终端确定出第m个传输耗时;
13、其中,m和n为正整数,m不大于n;所述n-1个第二终端是n个第二终端中除了链路质量最差的一个终端之外的其他终端;所述n-2个第二终端是所述n个第二终端中除了链路质量最差的两个终端之外的其他终端;所述n-m个第二终端是所述n个第二终端中除了链路质量最差的m个终端之外的其他终端。
14、在一些实施例中,所述根据当前时刻从所述边缘cdn节点和n-1个第二终端处获取数据所需的时长,为所述第一终端确定第一个传输耗时,包括:
15、根据当前时刻需从所述边缘cdn节点处获取的数据量和所述边缘cdn节点在当前时刻的下行可用带宽,确定当前时刻从所述边缘cdn节点处获取数据所需的时长;
16、对于n-1个第二终端中的任一终端,根据当前时刻需从所述终端处获取的数据量和所述终端在当前时刻的上行可用带宽,确定当前时刻从所述终端处获取数据所需的时长;
17、将获取到的n个时间中的最大者作为所述第一个传输耗时。
18、在一些实施例中,所述根据所述多个可用带宽,调整所述第一终端进行数据播放时的清晰度档位,包括:
19、根据所述多个可用带宽和每个所述可用带宽对应的权重值,获取所述第一终端在当前时刻的最终可用带宽;
20、在所述最终可用带宽的约束下,将所述第一终端进行数据播放时的清晰度档位进行下调;其中,下调后的清晰度档位对应的码率小于当前清晰度档位对应的码率。
21、在一些实施例中,所述方法还包括:
22、响应于所述缓冲区长度不小于第二阈值,确定所述第一终端在当前时刻需获取的总数据量;其中,所述第二阈值大于所述第一阈值;
23、根据当前时刻从所述边缘cdn节点和所述多个第二终端处获取数据所需的时长,为所述第一终端再确定一个传输耗时;
24、根据所述总数据量和新确定的传输耗时,获取所述第一终端在当前时刻的最终可用带宽;
25、在所述最终可用带宽的约束下,将所述第一终端进行数据播放时的清晰度档位进行上调;其中,上调后的清晰度档位对应的码率大于当前清晰度档位对应的码率。
26、在一些实施例中,所述方法还包括:
27、响应于所述缓冲区长度大于所述第一阈值且小于第二阈值,保持当前清晰度档位;其中,所述第二阈值大于所述第一阈值。
28、在一些实施例中,所述第一终端获取的数据为直播场景下的直播视频流。
29、根据本公开实施例的另一方面,提供一种码率调整装置,应用于第一终端,所述第一终端从一个边缘cdn节点和多个第二终端处获取数据;所述装置包括:
30、第一获取模块,被配置为获取当前时刻的缓冲区长度;其中,所述缓冲区长度是指所述第一终端的播放器缓冲区中已缓存数据的播放时长;
31、第二获取模块,被配置为响应于所述缓冲区长度不大于第一阈值,获取所述第一终端在当前时刻的多个可用带宽;其中,所述可用带宽与所述第一终端对应的传输耗时相关;所述传输耗时是指从所述边缘cdn节点和部分第二终端处获取数据所需的时长,所述部分第二终端由传输链路的链路质量确定;
32、调整模块,被配置为根据所述多个可用带宽,调整所述第一终端进行数据播放时的清晰度档位;其中,一个所述清晰度档位对应一种码率,所述码率是指向所述第一终端传输数据采用的码率。
33、在一些实施例中,所述第二获取模块,被配置为:
34、根据当前清晰度档位对应的码率,确定所述第一终端在当前时刻需获取的总数据量;
35、根据所述总数据量和所述第一终端对应的不同传输耗时,获取所述多个可用带宽。
36、在一些实施例中,所述多个第二终端的数量为n个;所述第二获取模块,还被配置为:
37、根据当前时刻从所述边缘cdn节点和n-1个第二终端处获取数据所需的时长,为所述第一终端确定第一个传输耗时;
38、根据当前时刻从所述边缘cdn节点和n-2个第二终端处获取数据所需的时长,为所述第一终端确定第二个传输耗时;
39、以此类推,重复执行上述步骤,直至根据当前时刻从所述边缘cdn节点和n-m个第二终端处获取数据所需的时长,为所述第本文档来自技高网...
【技术保护点】
1.一种码率调整方法,其特征在于,应用于第一终端,所述第一终端从一个边缘内容分发网络CDN节点和多个第二终端处获取数据;所述方法包括:
2.根据权利要求1所述的码率调整方法,其特征在于,所述获取所述第一终端在当前时刻的多个可用带宽,包括:
3.根据权利要求1所述的码率调整方法,其特征在于,所述多个第二终端的数量为N个;所述方法还包括:
4.根据权利要求3所述的码率调整方法,其特征在于,所述根据当前时刻从所述边缘CDN节点和N-1个第二终端处获取数据所需的时长,为所述第一终端确定第一个传输耗时,包括:
5.根据权利要求1所述的码率调整方法,其特征在于,所述根据所述多个可用带宽,调整所述第一终端进行数据播放时的清晰度档位,包括:
6.根据权利要求1所述的码率调整方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的码率调整方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的码率调整方法,其特征在于,所述第一终端获取的数据为直播场景下的直播视频流。
9.一种码率调整装置,其特征
10.一种电子设备,其特征在于,所述电子设备包括:
11.一种计算机可读存储介质,其特征在于,在所述计算机可读存储介质中的指令由电子设备的处理器执行的情况下,使得电子设备能够执行如权利要求1至8中任一项所述的码率调整方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被电子设备的处理器执行时实现如权利要求1至8中任一项所述的码率调整方法。
...【技术特征摘要】
1.一种码率调整方法,其特征在于,应用于第一终端,所述第一终端从一个边缘内容分发网络cdn节点和多个第二终端处获取数据;所述方法包括:
2.根据权利要求1所述的码率调整方法,其特征在于,所述获取所述第一终端在当前时刻的多个可用带宽,包括:
3.根据权利要求1所述的码率调整方法,其特征在于,所述多个第二终端的数量为n个;所述方法还包括:
4.根据权利要求3所述的码率调整方法,其特征在于,所述根据当前时刻从所述边缘cdn节点和n-1个第二终端处获取数据所需的时长,为所述第一终端确定第一个传输耗时,包括:
5.根据权利要求1所述的码率调整方法,其特征在于,所述根据所述多个可用带宽,调整所述第一终端进行数据播放时的清晰度档位,包括:
6.根据权利要求1所述的码率调整方法,其特征在于,所述方法...
【专利技术属性】
技术研发人员:班怡璇,周超,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。