视频轮播方法、装置、电子设备及存储介质

文档序号:33150458发布日期:2023-02-03 22:45阅读:22来源:国知局
视频轮播方法、装置、电子设备及存储介质

1.本发明涉及通信技术领域,尤其涉及一种视频轮播方法、装置、电子设备及存储介质。


背景技术:

2.视频点播(video on demand,vod)服务的理想效果是用户发送请求后不用等待即可流畅观看整个视频。对于早期的广播系统,每一个信道只传输一个节目,但是这样用户的等待时间会很长。为了减少用户的等待时间,对早期的广播系统做出了改进,即分配多个信道来推播同一个节目,以此达到vod的效果;但通过多个信道来推播同一个节目需要耗费巨大的带宽资源,因此需要对该方案作出进一步的改进,以减少带宽资源的浪费。
3.现有技术中,通常采用调和轮播(harmonic broadcasting,hb)方案,首先将视频按时长均等切分为n个视频分片,分别用s1,s2,s3,...,sn表示。第i个视频分片的时长di等于满足=第j个视频分片的时长dj;然后将第i个视频分片按照带宽均等切分为i个视频子分片,分别用s
i,1
,s
i,2
,...,s
i,i
表示。针对每个视频分片,将视频分片的所有视频子分片按序号从小到大放置在一个轮播信道ci内,轮播信道的数目等于视频分片数;其中,ci的带宽为b/i,b为视频的常规播放速率。在ci内,每个视频子分片被周期性的广播。
4.但上述现有技术中,轮播信道的数目随着视频分片数的增加而增加,当视频分片数较多时,轮播信道的数目也多,这样的信道设计需要消耗许多资源来维护每个轮播信道,从而造成资源的浪费。


技术实现要素:

5.针对现有技术存在的问题,本发明实施例提供一种视频轮播方法、装置、电子设备及存储介质。
6.本发明提供一种视频轮播方法,包括:
7.基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
8.基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
9.基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
10.基于所述第一份数将所述目标视频均等切分为至少一个视频分片;
11.基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
12.根据本发明提供的一种视频轮播方法,所述基于所述初始树结构确定视频分片的第一份数,包括:
13.步骤a、针对视频分片参考编号i,遍历当前叶子集合中的每个叶子结点,确定所述
当前叶子集合中的每个叶子结点的待选周期,基于每个叶子结点的待选周期确定目标叶子结点,并将所述视频分片参考编号i分配给所述目标叶子结点;所述i的起始值等于1;
14.步骤b、对所述目标叶子结点增加第二数量个新的叶子结点,将所述目标叶子结点从所述当前叶子集合中删除,将第二数量个新的叶子结点加入所述当前叶子集合中,并更新所述当前叶子集合中之前的叶子结点的编号;所述第二数量包括所述目标叶子结点的待选倍数减一;
15.将i增加1,重复执行所述步骤a和所述步骤b,直至所述当前叶子集合为空,将当前i的值确定为所述视频分片的第一份数。
16.根据本发明提供的一种视频轮播方法,所述确定所述当前叶子集合中的每个叶子结点的待选周期,包括:
17.针对每个叶子结点,基于预设延时系数、所述视频分片参考编号和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选倍数;所述初始树结构的父结点的待选周期等于1;
18.基于所述叶子结点的待选倍数和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选周期。
19.根据本发明提供的一种视频轮播方法,所述基于预设延时系数、所述视频分片参考编号和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选倍数,包括:
20.基于公式(1)确定所述叶子结点的待选倍数;
21.mji=(i+delay)/tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
22.其中,mji表示所述叶子结点的待选倍数,i表示所述视频分片参考编号,delay表示所述预设延时系数,tflj表示所述叶子结点的父结点的待选周期;
23.所述基于所述叶子结点的待选倍数和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选周期,包括:
24.基于公式(2)确定所述叶子结点的待选周期;
25.tji=mji*tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
26.其中,所述tji表示所述叶子结点的待选周期。
27.根据本发明提供的一种视频轮播方法,所述基于每个叶子结点的待选周期确定目标叶子结点,包括:
28.将最大待选周期对应的叶子结点确定为目标叶子结点;或者,
29.在所述视频分片参考编号位于预设编号范围时,在所述当前叶子集合的所有叶子结点中,确定出待选周期小于或等于所述视频分片参考编号,且大于预设值的至少一个待选叶子结点;
30.在所述至少一个待选叶子结点中确定所述目标叶子结点。
31.根据本发明提供的一种视频轮播方法,所述在所述至少一个待选叶子结点中确定所述目标叶子结点,包括:
32.确定每个所述待选叶子结点对应的父结点的待选周期;
33.将待选周期最大的父结点对应的待选叶子结点确定为所述目标叶子结点。
34.根据本发明提供的一种视频轮播方法,所述更新所述当前叶子集合中之前的叶子结点的编号,包括:
35.将所述当前叶子集合中编号大于所述目标叶子结点的编号的每个叶子结点的编号均增加目标值;所述目标值等于所述第二数量减一。
36.根据本发明提供的一种视频轮播方法,所述将最大待选周期对应的叶子结点确定为目标叶子结点,包括:
37.在最大待选周期对应的叶子结点的数量大于1时,将最大待选周期对应的每个叶子结点中编号最小的叶子结点确定为所述目标叶子结点。
38.根据本发明提供的一种视频轮播方法,所述方法还包括:
39.确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点;
40.所述基于所述初始树结构确定视频分片的排布方式,包括:
41.针对每个目标叶子结点,将所述目标叶子结点对应的所述视频分片参考编号、视频分片的排布周期、轮播信道的编号、以及视频分片的轮播起始点,确定为目标视频分片的排布方式;所述视频分片的排布周期为所述目标叶子结点的待选周期;
42.所述目标视频分片的编号与所述视频分片参考编号对应;所述至少一个视频分片基于播放顺序进行编号。
43.根据本发明提供的一种视频轮播方法,所述确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点,包括:
44.基于公式(3)确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点;
45.sp=sp0+tflj*k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
46.其中,sp表示所述叶子结点对应的视频分片的轮播起始点,sp0表示所述叶子结点的父结点对应的视频分片的轮播起始点,tflj表示所述叶子结点的父结点的待选周期,k表示所述叶子结点的父结点增加的第k个新的叶子结点。
47.本发明还提供一种视频轮播装置,包括:
48.第一确定单元,用于基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
49.构建单元,用于基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
50.第二确定单元,用于基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
51.第三确定单元,用于基于所述第一份数确定所述目标视频的至少一个视频分片;
52.排布单元,用于基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
53.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述视频轮播方法。
54.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述视频轮播方法。
55.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述视频轮播方法。
56.本发明提供的视频轮播方法、装置、电子设备及存储介质,基于预设轮播总带宽和目标视频的播放速率确定了轮播信道的第一数量,基于按照第一数量构建的初始树结构确定视频分片的排布方式和视频分片的第一份数,基于第一份数将目标视频均等切分为多个视频分片,最后基于视频分片的排布方式将多个视频分片周期排布在第一数量的轮播信道上进行广播。可知,本发明的轮播信道数量是固定的,多个视频分片是周期排布在固定数量的轮播信道上,轮播信道的数量不会随着视频分片的数量的增加而增加,从而无需消耗较多的资源来维护每个轮播信道,节约了资源。
附图说明
57.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本发明实施例提供的视频轮播方法的流程示意图之一;
59.图2是本发明实施例提供的树结构的示意图之一;
60.图3是本发明实施例提供的树结构的示意图之二;
61.图4是本发明实施例提供的树结构的示意图之三;
62.图5是本发明实施例提供的树结构的示意图之四;
63.图6是本发明实施例提供的树结构的示意图之五;
64.图7是本发明实施例提供的所有视频分片在每个轮播信道上的排布示意图;
65.图8是本发明实施例提供的视频轮播方法的流程示意图之二;
66.图9是本发明实施例提供的时间序列示意图;
67.图10是本发明实施例提供的视频轮播装置的结构示意图;
68.图11是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
69.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.下面结合图1-图9描述本发明的视频轮播方法。
71.图1是本发明实施例提供的视频轮播方法的流程示意图之一,如图1所示,该视频轮播方法包括以下步骤:
72.步骤101、基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率。
73.其中,该视频轮播方法可以应用于内容分发网络服务器中。具体地,内容分发网络服务器构成内容分发网络(content delivery network,cdn),cdn是构建在互联网之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用后就近获取所需的视频内容,降低互联网拥塞,提高用户访问响应速度和
命中率。本发明对内容分发网络服务器的数量不作限定,可以为一个内容分发网络服务器,也可以为多个内容分发网络服务器,也可以为若干内容分发网络服务器形成的服务器集群。
74.示例地,将预设轮播总带宽除以目标视频的播放速率得到轮播信道的第一数量;假设有一个时长为d=120分钟(min)的目标视频,目标视频的播放速率为b,则目标视频的总大小为s=d*b。以时长d=120分钟(min)的目标视频为例,假设播放速率b=10兆比特每秒(mbps),那么该视频的总大小等于120*60*10/1024/8约等于9千兆字节(gb);假设对该目标视频分配的预设轮播总带宽b=4b,则预设轮播总带宽b=40mbps,则轮播信道的第一数量=40/10=4,即给定的轮播信道的数量为4,每个轮播信道的带宽为10mbps。
75.步骤102、基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道。
76.示例地,每个轮播信道对应一个叶子结点,则叶子结点的数量也等于第一数量,基于第一数量的叶子结点构建初始树结构。图2是本发明实施例提供的树结构的示意图之一,如图2所示,初始树结构的父结点(根结点)有4个叶子结点,叶子结点的编号分别为l1、l2、l3和l4,l1、l2、l3和l4组成一个可增可减的当前叶子集合,设定父结点的待选周期=1,叶子结点l1对应的轮播信道编号为c1,叶子结点l2对应的轮播信道编号为c2,叶子结点l3对应的轮播信道编号为c3,叶子结点l4对应的轮播信道编号为c4,每个信道的轮播起始点均记录为0。
77.步骤103、基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数。
78.示例地,将初始树结构中的所有叶子结点组成一个可增可减的叶子集合,即为当前叶子集合,遍历当前叶子集合中的每个叶子结点来确定视频分片的排布方式和视频分片的第一份数。
79.步骤104、基于所述第一份数将所述目标视频均等切分为至少一个视频分片。
80.优选地,将目标视频按照第二份数均等切分为多个视频分片,第二份数小于或等于第一份数。
81.示例地,假设有一个时长为d=120分钟(min)的目标视频,第一份数等于120,则可以将目标视频均等切分为120个时长为1分钟的视频分片,另外可以对每个视频分片按照目标视频的播放顺序进行编号,得到每个视频分片si;其中,i为视频分片的编号;所有视频分片si按编号递增的顺序串联起来构成目标视频;例如,目标视频切分得到120个分片,则将每个视频分片按照播放顺序依次编号s1、s2,

,s120。
82.步骤105、基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
83.示例地,基于每个视频分片的排布方式,将切分得到的每个视频分片周期排布在对应的轮播信道上,进而在每个轮播信道上广播对应的视频分片,便于终端在每个轮播信道上接收对应的视频分片,实现视频分片的播放。
84.本发明提供的视频轮播方法,基于预设轮播总带宽和目标视频的播放速率确定了轮播信道的第一数量,基于按照第一数量构建的初始树结构确定视频分片的排布方式和视频分片的第一份数,基于第一份数将目标视频均等切分为多个视频分片,最后基于视频分
片的排布方式将多个视频分片周期排布在第一数量的轮播信道上进行广播。可知,本发明的轮播信道数量是固定的,多个视频分片是周期排布在固定数量的轮播信道上,轮播信道的数量不会随着视频分片的数量的增加而增加,从而无需消耗较多的资源来维护每个轮播信道,节约了资源。
85.在一实施例中,基于所述初始树结构确定视频分片的第一份数,具体可通过以下方式实现:
86.步骤a、针对视频分片参考编号i,遍历当前叶子集合中的每个叶子结点,确定所述当前叶子集合中的每个叶子结点的待选周期,基于每个叶子结点的待选周期确定目标叶子结点,并将所述视频分片参考编号i分配给所述目标叶子结点;所述i的起始值等于1;
87.步骤b、对所述目标叶子结点增加第二数量个新的叶子结点,将所述目标叶子结点从所述当前叶子集合中删除,将第二数量个新的叶子结点加入所述当前叶子集合中,并更新所述当前叶子集合中之前的叶子结点的编号;所述第二数量包括所述目标叶子结点的待选倍数减一;
88.将i增加1,重复执行所述步骤a和所述步骤b,直至所述当前叶子集合为空,将当前i的值确定为所述视频分片的第一份数。
89.具体地,更新所述当前叶子集合中之前的叶子结点的编号具体为:
90.将所述当前叶子集合中编号大于所述目标叶子结点的编号的每个叶子结点的编号均增加目标值;所述目标值等于所述第二数量减一。
91.在一实施例中,确定所述当前叶子集合中的每个叶子结点的待选周期,具体可通过以下方式实现:
92.针对每个叶子结点,基于预设延时系数、所述视频分片参考编号和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选倍数;所述初始树结构的父结点的待选周期等于1;
93.基于所述叶子结点的待选倍数和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选周期。
94.具体地,基于公式(1)确定所述叶子结点的待选倍数;
95.mji=(i+delay)/tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
96.其中,mji表示所述叶子结点的待选倍数,i表示所述视频分片参考编号,delay表示所述预设延时系数,tflj表示所述叶子结点的父结点的待选周期;
97.基于公式(2)确定所述叶子结点的待选周期;
98.tji=mji*tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
99.其中,所述tji表示所述叶子结点的待选周期。
100.示例地,假设delay=2,四个叶子结点的父结点(初始树结构的根结点)的待选周期=1,则四个叶子结点的待选倍数=(1+延时系数)/t=(1+2)/1=3,四个叶子结点的待选周期=3*t=3,即四个叶子结点的待选周期均为3。
101.在一实施例中,基于每个叶子结点的待选周期确定目标叶子结点,具体可通过以下两种方式实现:
102.第一种方式,将最大待选周期对应的叶子结点确定为目标叶子结点。
103.进一步地,在最大待选周期对应的叶子结点的数量大于1时,将最大待选周期对应
的每个叶子结点中编号最小的叶子结点确定为所述目标叶子结点。
104.示例地,若四个叶子结点的待选周期均为3,此时将编号最小的叶子结点l1作为目标叶子结点。
105.第二种方式,在所述视频分片参考编号位于预设编号范围时,在所述当前叶子集合的所有叶子结点中,确定出待选周期小于或等于所述视频分片参考编号,且大于预设值的至少一个待选叶子结点;在所述至少一个待选叶子结点中确定所述目标叶子结点。
106.具体地,确定每个所述待选叶子结点对应的父结点的待选周期;将待选周期最大的父结点对应的待选叶子结点确定为所述目标叶子结点。
107.其中,预设编号范围可基于需求进行设定;预设值为接近视频分片参考编号的值,例如,视频分片参考编号为4时,预设值可以为2或者3。
108.示例地,delay=1,预设编号范围可以为[4,5],在视频分片参考编号为4、预设值为2时,则视频分片参考编号位于预设编号范围内,若当前叶子集合包括的叶子结点有叶子节点l1、叶子节点l2和叶子节点l3,其中,叶子节点l1的父节点的待选周期为3、叶子节点l2的父节点的待选周期为2,叶子节点l3的父节点的待选周期为1,则叶子节点l1的待选周期为3,叶子节点l2的待选周期为4,叶子节点l3的待选周期为5,此时确定叶子节点l1和叶子节点l2为待选叶子节点,由于待选叶子节点l1的父节点的待选周期大于待选叶子节点l2的父节点的待选周期,则最终将待选叶子节点l1作为目标叶子节点。
[0109]
需要说明的是,在每个待选叶子结点对应的父结点的待选周期均相同时,在所有待选叶子节点中随机选择一个待选叶子节点作为目标叶子节点。
[0110]
在一实施例中,该视频轮播方法还包括以下步骤:
[0111]
确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点。
[0112]
具体地,基于公式(3)确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点;
[0113]
sp=sp0+tflj*k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0114]
其中,sp表示所述叶子结点对应的视频分片的轮播起始点,sp0表示所述叶子结点的父结点对应的视频分片的轮播起始点,tflj表示所述叶子结点的父结点的待选周期,k表示所述叶子结点的父结点增加的第k个新的叶子结点。
[0115]
在一实施例中,上述基于所述初始树结构确定视频分片的排布方式,具体可通过以下方式实现:
[0116]
针对每个目标叶子结点,将所述目标叶子结点对应的所述视频分片参考编号、视频分片的排布周期、轮播信道的编号、以及视频分片的轮播起始点,确定为目标视频分片的排布方式;所述视频分片的排布周期为所述目标叶子结点的待选周期;
[0117]
其中,所述目标视频分片的编号与所述视频分片参考编号对应;所述至少一个视频分片基于播放顺序进行编号。
[0118]
其中,当前叶子集合中每个新增的叶子节点对应的轮播信道的编号,与新增的叶子节点的父节点对应的轮播信道的编号相同。
[0119]
具体地,基于分配给目标叶子结点的视频分片参考编号、视频分片的排布周期、轮播信道的编号、以及视频分片的轮播起始点,将与视频分片参考编号对应的目标视频分片,周期排布在目标叶子结点对应的目标轮播信道上。
[0120]
下面举例说明遍历当前叶子集合确定每个视频分片的排布方式和目标视频需要均等切分视频分片的第一份数。
[0121]
示例地,预先设定视频分片参考编号i,假设delay=2,按照视频分片参考编号号从小到大依次分配目标叶子结点。
[0122]
图3是本发明实施例提供的树结构的示意图之二,如图3所示,在i=1时,四个叶子结点的父结点(初始树结构的根结点)的待选周期t0等于1,四个叶子结点的待选倍数=(1+延时系数)/t0=(1+2)/1=3,四个叶子结点的待选周期t=3*t0=3,即四个叶子结点的待选周期均为3,此时可以将编号最小的叶子结点分配给i=1,即将叶子结点l1确定为目标叶子结点,将叶子结点l1分配给视频分片参考编号i=1,叶子结点l1对应的轮播信道的编号c=1;此时给叶子结点l1增加叶子结点l1的待选倍数减一个新的叶子结点,即给叶子结点l1增加3-1=2个新的叶子结点,将叶子结点l1从当前叶子集合中删除,变为目标叶子结点l1,也就是目标中间节点m1,并记录分配给目标中间结点m1的视频分片参考编号i=1、排布周期t=3、轮播信道的编号c=1以及轮播起始点sp0=0;将2个新的叶子结点编号为l1和l2,并将新的叶子结点l1和l2加入当前叶子集合中,其中,新的叶子结点l1对应的轮播起始点sp0=0+1*1=1,新的叶子结点l2对应的轮播起始点sp0=0+1*2=2,且新的叶子节点l1和新的叶子节点l2对应的轮播信道与目标中间结点m1的轮播信道编号相同;另外,将原本记作l2的叶子结点记作l3,将原本记作l3的叶子结点记作l4,将原本记作l4的叶子结点记作l5。
[0123]
图4是本发明实施例提供的树结构的示意图之三,如图4所示,在i=2时,从图3可以看出,当前叶子集合中包括的叶子结点有l1至l5,其中,l1和l2的待选倍数均等于1,l1和l2的待选周期均等于3;l3至l5的待选倍数均等于4,l3至l5的待选周期均等于4,按照当前叶子集合中每个叶子结点编号的顺序,将叶子结点l3确定为目标叶子结点,即将叶子结点l3分配给视频分片参考编号i=2,叶子结点l3对应的轮播信道的编号c=2;此时给叶子结点l3增加叶子结点l3的待选倍数减一个新的叶子结点,即给叶子结点l3增加4-1=3个新的叶子结点,将叶子结点l3从当前叶子集合中删除,变为目标中间结点m2,并记录分配给目标中间结点m2的视频分片参考编号i=2、排布周期t=4、轮播信道的编号c=2以及轮播起始点sp0=0;将3个新的叶子结点编号为l3、l4和l5,并将新的叶子结点l3、l4和l5加入当前叶子集合中,其中,新的叶子结点l3对应的轮播起始点sp0=0+1*1=1,新的叶子结点l4对应的轮播起始点sp0=0+1*2=2,新的叶子结点l5对应的轮播起始点sp0=0+1*3=3;,且新的叶子节点l3至新的叶子节点l5对应的轮播信道与目标中间结点m2的轮播信道编号相同,另外,将原本记作l4的叶子结点记作l6,将原本记作l5的叶子结点记作l7。
[0124]
图5是本发明实施例提供的树结构的示意图之四,如图5所示,在i=3时,从图4可以看出,当前叶子集合中包括的叶子结点有l1至l7,其中,l1和l2的待选倍数=(3+2)/3的向下取整=1,l1和l2的待选周期均等于3;l3至l5的待选倍数=(3+2)/4的向下取整均等于1,l3至l5的待选周期均等于4,l6和l7的待选倍数=(3+2)/1=5,l6和l7的待选周期均等于5;按照当前叶子集合中每个叶子结点编号的顺序,将叶子结点l6确定为目标叶子结点,即将叶子结点l6分配给视频分片参考编号i=3,叶子结点l6对应的轮播信道的编号c=3;此时给叶子结点l6增加叶子结点l6的待选倍数减一个新的叶子结点,即给叶子结点l6增加5-1=4个新的叶子结点,将叶子结点l6从当前叶子集合中删除,变为目标中间结点m3,并记录分配给目标中间结点m3的视频分片参考编号i=3、排布周期t=5、轮播信道的编号c=3以
及轮播起始点sp0=0;将4个新的叶子结点编号为l6、l7、l8和l9,并将新的叶子结点l6、l7、l8和l9加入当前叶子集合中,其中,新的叶子结点l6对应的轮播起始点sp0=0+1*1=1,新的叶子结点l7对应的轮播起始点sp0=0+1*2=2,新的叶子结点l8对应的轮播起始点sp0=0+1*3=3,新的叶子结点l9对应的轮播起始点sp0=0+1*4=4;另外,将原本记作l7的叶子结点记作l10。
[0125]
图6是本发明实施例提供的树结构的示意图之五,如图6所示,在i=4时,当前叶子集合中包括的叶子结点有l1至l10,其中,l1和l2的待选倍数=(4+2)/3=2,l1和l2的待选周期均等于6;l3至l5的待选倍数=(4+2)/4的向下取整等于1,l3至l5的待选周期均等于4,l6至l9的待选倍数=(4+2)/5的向下取整等于1,l6至l9的待选周期均等于5,l10的待选倍数=(4+2)/1=6,l10的待选周期等于6;按照当前叶子集合中每个叶子结点编号的顺序,将最小编号的叶子结点l1确定为目标叶子结点,即将叶子结点l1确定为目标叶子结点,即将叶子结点l1分配给视频分片参考编号i=4,叶子结点l1对应的轮播信道的编号c=1;此时给叶子结点l1增加叶子结点l1的待选倍数减一个新的叶子结点,即给叶子结点l1增加2-1=1个新的叶子结点,将叶子结点l1从当前叶子集合中删除,变为目标中间结点m4,并记录分配给目标中间结点m4的视频分片参考编号i=4、排布周期t=6、轮播信道的编号c=1以及轮播起始点sp0=1;将1个新的叶子结点编号为l1,并将新的叶子结点l1加入当前叶子集合中,其中,新的叶子结点l1对应的轮播起始点sp0=0+1*1=1。
[0126]
接下来的分配依次类推,直至当前叶子集合为空,分配结束,此时若i=120,则第一份数等于120,可以将目标视频均等切分为小于或等于120份的视频分片。而每个目标叶子节点记录的视频分片参考编号、排布周期、轮播信道的编号以及轮播起始点为对应视频分片的排布方式。
[0127]
例如,目标中间节点m1记录的视频分片参考编号i=1、排布周期t=3、轮播信道的编号c=1以及轮播起始点sp0=0,则将的一个视频分片s1按照排布周期3排布在编号为1的轮播信道上;目标中间结点m2记录的视频分片参考编号i=2、排布周期t=4、轮播信道的编号c=2以及轮播起始点sp0=0,则将第二个视频分片s2按照排布周期4排布在编号为2的轮播信道上;目标中间节点m3记录的视频分片参考编号i=3、排布周期t=5、轮播信道的编号c=3以及轮播起始点sp0=0,则将第三个视频分片s3按照排布周期5排布在编号为3的轮播信道上,以此类推。
[0128]
按照上述方法,完成所有轮播信道上的视频分片的周期排布。图7是本发明实施例提供的所有视频分片在每个轮播信道上的排布示意图,图7中展示了4条轮播信道对应的每个视频分片的周期排布示意,例如,视频分片s1排布在轮播信道c1上,由于视频分片s1的排布周期为3,所以,在轮播信道c1上每隔3次排布一个视频分片s1,实现视频分片s1在轮播信道c1上的周期排布,其他视频分片的排布与视频分片s1的排布类似,具体如图7所示。
[0129]
本发明实施例提供的视频轮播方法,采用垂直密集切片的方法,同时将多个分片放置在同一信道内进行广播,允许多个用户共享信道资源,不仅减少总体视频数据流量,而且有效的减少了传输视频所需信道数,极大地节省了维护传输信道需要的额外开销,保证了工程上实现的可行性;另外,本发明设定合理的预设延时系数,使得确定的视频分片的份数较多,从而能够缩短用户的等待时间。
[0130]
图8是本发明实施例提供的视频轮播方法的流程示意图之二,如图8所示,该视频
轮播方法包括以下步骤:
[0131]
步骤801、基于点播请求生成视频下载请求。
[0132]
示例地,用户在需要点播目标视频时,可以在相应界面上点击点播控件,使得终端接收到点播请求,并基于该点播请求生成视频下载请求,该视频下载请求用于请求下载目标视频。
[0133]
步骤802、将所述视频下载请求的生成时刻作为起始时刻,在每个预设时长内,检测每个轮播信道中广播的每个视频分片的轮播起始点;所述预设时长为每个所述视频分片的时长。
[0134]
示例地,在生成视频下载请求时,记录视频下载请求的生成时刻,将该生成时刻作为起始时刻开始计时,在每个预设时长内,检测每个轮播信道中广播的每个视频分片的轮播起始点。
[0135]
步骤803、针对每个所述视频分片,基于所述视频分片的轮播起始点下载所述视频分片。
[0136]
示例地,在检测到每个视频分片的轮播起始点时,基于视频分片的轮播起始点开始,基于广播该视频分片的轮播信道的带宽下载该视频分片,并将下载的视频分片进行存储和播放。
[0137]
可选地,在上述步骤803之后,该视频轮播方法还包括以下步骤:
[0138]
基于预设延时系数、所述视频分片的开始下载时间、以及所述预设时长确定所述视频分片的开始播放时间;
[0139]
基于所述开始播放时间播放所述视频分片。
[0140]
示例地,为保证视频能够连续播放,用户开始观看的时间点相对于开始下载时刻须延后一段时间。假设用户在t0时刻点播,在t1时刻开始下载目标视频的视频分片,每个视频分片的预设时长为d,延时系数为delay,则用户在t2=t1+delay*d时开始观看目标视频,实现不间断观看目标视频。图9是本发明实施例提供的时间序列示意图,如图9所示,delay=2时用户在t0时刻点播,在t1时刻下载数据,在t2时刻观看目标视频。
[0141]
图10是本发明实施例提供的视频轮播装置的结构示意图,如图10所示,该视频轮播装置包括第一确定单元1001、构建单元1002、第二确定单元1003、第三确定单元1004和排布单元1005;其中:
[0142]
第一确定单元1001,用于基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
[0143]
构建单元1002,用于基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
[0144]
第二确定单元1003,用于基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
[0145]
第三确定单元1004,用于基于所述第一份数确定所述目标视频的至少一个视频分片;
[0146]
排布单元1005,用于基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
[0147]
本发明提供的视频轮播装置,基于预设轮播总带宽和目标视频的播放速率确定了
轮播信道的第一数量,基于按照第一数量构建的初始树结构确定视频分片的排布方式和视频分片的第一份数,基于第一份数将目标视频均等切分为多个视频分片,最后基于视频分片的排布方式将多个视频分片周期排布在第一数量的轮播信道上进行广播。可知,本发明的轮播信道数量是固定的,多个视频分片是周期排布在固定数量的轮播信道上,轮播信道的数量不会随着视频分片的数量的增加而增加,从而无需消耗较多的资源来维护每个轮播信道,节约了资源。
[0148]
基于上述任一实施例,所述第二确定单元1003具体用于:
[0149]
步骤a、针对视频分片参考编号i,遍历当前叶子集合中的每个叶子结点,确定所述当前叶子集合中的每个叶子结点的待选周期,基于每个叶子结点的待选周期确定目标叶子结点,并将所述视频分片参考编号i分配给所述目标叶子结点;所述i的起始值等于1;
[0150]
步骤b、对所述目标叶子结点增加第二数量个新的叶子结点,将所述目标叶子结点从所述当前叶子集合中删除,将第二数量个新的叶子结点加入所述当前叶子集合中,并更新所述当前叶子集合中之前的叶子结点的编号;所述第二数量包括所述目标叶子结点的待选倍数减一;
[0151]
将i增加1,重复执行所述步骤a和所述步骤b,直至所述当前叶子集合为空,将当前i的值确定为所述视频分片的第一份数。
[0152]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0153]
针对每个叶子结点,基于预设延时系数、所述视频分片参考编号和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选倍数;所述初始树结构的父结点的待选周期等于1;
[0154]
基于所述叶子结点的待选倍数和所述叶子结点的父结点的待选周期,确定所述叶子结点的待选周期。
[0155]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0156]
基于公式(1)确定所述叶子结点的待选倍数;
[0157]
mji=(i+delay)/tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0158]
其中,mji表示所述叶子结点的待选倍数,i表示所述视频分片参考编号,delay表示所述预设延时系数,tflj表示所述叶子结点的父结点的待选周期;
[0159]
基于公式(2)确定所述叶子结点的待选周期;
[0160]
tji=mji*tflj
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0161]
其中,所述tji表示所述叶子结点的待选周期。
[0162]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0163]
将最大待选周期对应的叶子结点确定为目标叶子结点;或者,
[0164]
在所述视频分片参考编号位于预设编号范围时,在所述当前叶子集合的所有叶子结点中,确定出待选周期小于或等于所述视频分片参考编号,且大于预设值的至少一个待选叶子结点;
[0165]
在所述至少一个待选叶子结点中确定所述目标叶子结点。
[0166]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0167]
确定每个所述待选叶子结点对应的父结点的待选周期;
[0168]
将待选周期最大的父结点对应的待选叶子结点确定为所述目标叶子结点。
[0169]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0170]
将所述当前叶子集合中编号大于所述目标叶子结点的编号的每个叶子结点的编号均增加目标值;所述目标值等于所述第二数量减一。
[0171]
基于上述任一实施例,所述第二确定单元1003还具体用于:
[0172]
在最大待选周期对应的叶子结点的数量大于1时,将最大待选周期对应的每个叶子结点中编号最小的叶子结点确定为所述目标叶子结点。
[0173]
基于上述任一实施例,所述装置还包括:
[0174]
第四确定单元,用于确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点;
[0175]
所述排布单元1005具体用于:
[0176]
针对每个目标叶子结点,将所述目标叶子结点对应的所述视频分片参考编号、视频分片的排布周期、轮播信道的编号、以及视频分片的轮播起始点,确定为目标视频分片的排布方式;所述视频分片的排布周期为所述目标叶子结点的待选周期;
[0177]
所述目标视频分片的编号与所述视频分片参考编号对应;所述至少一个视频分片基于播放顺序进行编号。
[0178]
基于上述任一实施例,所述第四确定单元具体用于:
[0179]
基于公式(3)确定所述当前叶子集合中每个叶子结点对应的视频分片的轮播起始点;
[0180]
sp=sp0+tflj*k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0181]
其中,sp表示所述叶子结点对应的视频分片的轮播起始点,sp0表示所述叶子结点的父结点对应的视频分片的轮播起始点,tflj表示所述叶子结点的父结点的待选周期,k表示所述叶子结点的父结点增加的第k个新的叶子结点。
[0182]
下面对本发明提供的视频轮播装置进行描述,下文描述的视频轮播装置与上文描述的视频轮播方法可相互对应参照。
[0183]
图11是本发明实施例提供的电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)1110、通信接口(communications interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行视频轮播方法,该方法包括:基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
[0184]
基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
[0185]
基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
[0186]
基于所述第一份数将所述目标视频均等切分为至少一个视频分片;
[0187]
基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
[0188]
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0189]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的视频轮播方法,该方法包括:基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
[0190]
基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
[0191]
基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
[0192]
基于所述第一份数将所述目标视频均等切分为至少一个视频分片;
[0193]
基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
[0194]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的视频轮播方法,该方法包括:基于预设轮播总带宽和目标视频的播放速率确定轮播信道的第一数量;每个所述轮播信道的带宽等于所述目标视频的播放速率;
[0195]
基于所述第一数量构建初始树结构;所述初始树结构中包括所述第一数量的叶子结点;每个所述叶子结点对应一个所述轮播信道;
[0196]
基于所述初始树结构确定视频分片的排布方式,并基于所述初始树结构确定视频分片的第一份数;
[0197]
基于所述第一份数将所述目标视频均等切分为至少一个视频分片;
[0198]
基于所述视频分片的排布方式,将所述至少一个视频分片周期排布在所述第一数量的轮播信道上进行广播。
[0199]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0200]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0201]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1