CN105392068B - 分布式多传输信道网络直播视频并行分发方法及系统 - Google Patents

分布式多传输信道网络直播视频并行分发方法及系统 Download PDF

Info

Publication number
CN105392068B
CN105392068B CN201510741114.6A CN201510741114A CN105392068B CN 105392068 B CN105392068 B CN 105392068B CN 201510741114 A CN201510741114 A CN 201510741114A CN 105392068 B CN105392068 B CN 105392068B
Authority
CN
China
Prior art keywords
subflow
pieces
sub
distribution
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510741114.6A
Other languages
English (en)
Other versions
CN105392068A (zh
Inventor
李铮
杨敬宇
姚键
潘柏宇
王冀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Youku Network Technology Beijing Co Ltd
Original Assignee
1Verge Internet Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201510741114.6A priority Critical patent/CN105392068B/zh
Publication of CN105392068A publication Critical patent/CN105392068A/zh
Application granted granted Critical
Publication of CN105392068B publication Critical patent/CN105392068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Abstract

本发明公开了一种分布式多传输信道网络直播视频并行分发方法和系统,通过对一个直播流进行比较精准的拆分,将实时直播流变成了若干个子流,然后再通过CDN和虚拟化的传输通路进行分别传输,最后在播放器端进行重组。通过将一个原始的直播流进行更细粒度的划分,使得每个子流所需要的带宽变为原值的若干分之一,在本发明所描述的虚拟化分发网络中能更好的调度和管理。本发明的方法可以解决用户日益提高的视频质量要求和现有网络带宽虚拟化解决方案中上行节点带宽不足或是不稳定的矛盾。通过降低对RD设备带宽分配的粒度,能更好的调度物理设备RD,抵抗突发带宽波动,使客户端播放视频时更加流畅,增强用户体验。

Description

分布式多传输信道网络直播视频并行分发方法及系统
技术领域
本发明涉及计算机网络视频分发技术,尤其涉及分布式多传输信道网络直播视频并行分发方法及系统。
背景技术
随着互联网的用户不断增多,用户对音视频直播画质/音质的要求不断提升,直播内容的码流不断提升,同时在线人数也不断增加,带宽和并发在线人数的要求渐渐成为制约这项业务的瓶颈。以1Mbps的码流计算,1G的带宽仅能支撑1000个用户并发,而要保证1百万用户的同时在线,就需要1000G的带宽,对于单一的直播节目来说,这个费用是非常高昂的。另一方面,1百万的并发流式访问,对普通的服务器的性能来说也是一个不可能完成的任务。所以当前通常采用服务器分层加客户端p2p的技术来分担并发访问的人数同时将服务器的一部访问转移到客户端,从而减轻访问压力和降低带宽的消耗。例如专利CN201510150133.1就采用了这种CDN+P2P的架构,播放器(客户端)之间作为P2P分组,而服务器之间采用源服务器+CDN分发服务器这样的分层组网。源服务器将直播内容复制若干份,分发到边缘的CDN服务器,每个CDN服务器负责一部分的用户访问,同时通过部署P2P的支撑服务器(tracker,NAT穿透),将客户端组成不同的网络,客户端之间可以互相访问,也可以直接请求CDN服务器。
基于这种架构,进一步的可以将CDN服务器和P2P支撑服务器按照运营商网络/或者是地域划分为不同的自治域(AS),形成若干p2p子网,如专利CN201510006008.3中所提及的组网方式。AS内部是域内连接,AS之间还有少量数据传输,属于域间连接。
在云计算虚拟化领域,通过虚拟化的技术将分布式的闲散的计算资源,存储资源组织起来,通过网络路由交换,再封装成一个整体并虚拟成一个单一的虚拟机给用户使用,也是当前的一个热点,例如专利CN201410468455.6,就提供了一种虚拟化的存储解决方案。通过在服务器上安装虚拟器的控制单元,控制本地的文件系统,并接受来自网络的集中调度,若干服务器的存储被虚拟化成一个大的存储,对外提供统一的访问接口。即外部调用存储访问的接口,或者是计算的接口,通过集中调度,将存储访问或者是计算需求分配给某一个节点,完成任务后再返回结果给接口。
以上的虚拟化方案针对的是存储系统,也有方案是针对带宽+存储,例如论文“Anew distributed storage scheme for cluster video server:Journal of SystemsArchitecture 51(2005)79–94”所提出的方案,通过切片方式,将视频分布式的存储到不同的节点,通过一个虚拟的服务器响应来自客户端的控制消息(如rtsp封装),然后再由具体的存储节点通过RTP协议将数据传输给客户端。首先当有客户端请求时,虚拟服务器根据请求的视频链接,得到按照实际存储节点的情况,得到一个播放路径,然后按照播放路径,依次通知对应的存储节点将数据以rtp协议发送给客户端,与此同时,继续保持和客户端的rtsp控制通信。通过这种方式,达到了将大文件化整为零,且分时复用不同节点带宽的作用。
当前有一种新型的解决方案是,依托于布置在互联网最后一英里的特殊设备,具体的如某种可以利用上下行富余带宽的网络接入路由器,或者是装有虚拟化程序并且能上网的电子设备等,其特征是对计算能力和存储能力要求不高,但是在运营商的带宽利用上,处于用户侧个人电脑的上一层,能够长时间稳定接入互联网,故而能够更好的利用运营商的上/下行的带宽。将这些设备通过虚拟化的方式集中起来,提供各种可以定制化的服务。在本专利中,这些设备都用RD表示(real device),他们一起组成一个VM(virtualmachine).RD在本专利中被看成是一个提供网络服务的容器,即它可以安装任何满足要求的网络服务程序(RD APP),另一方面它又是一个网络带宽的输出单元,就是说RD可以向互联网提供带宽资源。在这些RD上都安装有一个agent代理程序,其作用是监控RD的状态,主要是上下行带宽状态,获取RD的运行负载,向RD发送指令。在agent的上边,是虚拟化的API,是连接RD和虚拟化调度单元的桥梁。装有相同服务程序的RD会被组织成一个大的虚拟服务器,提供上文所述的网络服务。对于通过网络协议(rtmp/http/rtsp/hls/p2p协议)访问VM的客户端来说,他感受到的就是一个真实的服务器。对于使用上层UI界面的调用者来说,他管理的也就是一个个的真实服务器。
在具体应用中,如果想要利用VM来提供音视频直播加速,可以将这些虚拟服务器作为一个虚拟化应用层,并加入到传统的CDN-P2P网络中,替代了原有架构中CDN层和播放器的数据传送功能。这里VM还可以和云端的辅助系统进行通信,获取来自源站的信息,如视频直播内容源,然后VM就成为一个虚拟的CDN直播分发服务器,向播放器提供比如rtmp,http,hls,rtsp,dash服务等,也包括p2p的传输服务等。在实现上,按照不同的运营商区域,配置若干虚拟服务器,作为边缘的CDN节点,其上层是原有的真实CDN服务器层,这里只需要一条链路就可以把视频内容下发到虚拟服务器上,再由虚拟服务器转发给客户端。在实际使用中,为保证系统的健壮性,可以再增加若干条链路,保证系统可以稳定工作。即便如此,这种架构也将原有对CDN服务器的依赖,转变为对虚拟服务器的使用,大大降低了CDN服务器的带宽消耗。由于RD设备通常是可以保证24小时长期联网的,在加上通过在AS级别对客户端进行全局调度,由AS调度逻辑判断负载均衡,RD设备的可达性,自动选取最优的RD设备向客户端提供服务,还可以在VM的整体带宽不足的情况,自动实现VM的扩容,网络服务的可用性整体上看不低于传统架构中的CDN服务器。
此外,这种虚拟服务器除了作为CDN的音视频直播加速外,还可以作为一种通用的解决方案,提供任何带宽消耗型的网络服务,例如在VM上安装一个应用,实现视频拆包/打包/mux/demux/解码/编码等,它又可以成为一个源视频服务器,接收来自客户端编码器的推送流,将其转码打包为其它的格式发送给其它CDN节点。还比如通过更换RD上的APP,VM还可以提供vpn,proxy服务等等。由于选用不同的RD APP程序就可以提供不同的功能,客户端事实上只依赖于RD APP的选用,切换APP远比更改服务器端的架构要容易。
目前在互联网上有大量的终端设备具有一个共同的特点,就是具备一定的计算能力,可以运行第三方程序,其上行带宽利用率很低。比如智能路由器,移动终端,甚至接入互联网的家用PC。通过虚拟化技术,在这些设备上安装第三方代理程序,通过全局的虚拟化调度接口控制代理程序,将这些设备上闲置的上行带宽聚合起来,统一管理,从而实现向其他互联网用户分发内容的目标。但是如果将这些带宽用于音视频直播,情况就会变得复杂。
这是因为首先音视频直播要求有持续稳定的带宽,如果可用带宽波动大,比如某一时刻,RD设备的所有者上传一个大文件到网络上,就有可能导致该设备可用上行带宽减少,那么就会体现为使用该设备上行带宽收看直播的用户观看体验下降,延迟,缓冲次数多,卡顿等等。除此之外,相对于高质量的直播码流,这些设备所能提供的上行带宽是有限的,甚至有时直播码流比这些设备的可用上行带宽上限还要高,这时,作为一个单个的RD设备,已经无法起到带宽放大的作用。
发明内容
为了解决上述技术问题,本发明提出了一种分布式多传输信道网络直播视频并行分发方法,对网络视频直播进行拆分,传输,重组,本发明的方法可以解决用户日益提高的视频质量要求和现有网络带宽虚拟化解决方案中上行节点带宽不足或是不稳定的矛盾。这种拆分的好处是通过降低对RD设备带宽分配的粒度(变为原始直播流的若干分之一),能更好的调度RD设备,抵抗突发带宽波动。
本发明是这样实现的:分布式多传输信道网络直播视频并行分发方法,包括:
S1、将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
S2、以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;
在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
S3、客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
S4、客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
S5、客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
进一步地,步骤S1中还包括:将视频直播流中的关键帧子片单独分组,将剩余数据按时间等分的方式或按码流等分的方式等分为若干个普通子片,并进行编号;对所述关键帧子片进行单独编号;为每个子片增加一个内部协议头作为索引头;其中,所述关键帧片段包括直播流的元数据分片,所述元数据分片不需要加内部协议头。
进一步地,步骤S4包括:所述客户端通过P2P方式与其他客户端建立P2P连接,向其他客户端请求缺少的子流。
进一步地,所述单个子流对应的码率至少小于所述物理设备RD所能提供的上行带宽的2/5。
进一步地,所述SDP文件还包括子流的分割数目、每条子流的子频道编号、分组编号、分组类型和视频直播流的元数据。
本发明还提供了一种分布式多传输信道网络直播视频并行分发系统,包括:
切分模块,用于将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
分发模块,用于以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;
在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
请求模块,用于客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
获取模块,用于客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
拼装模块,用于客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
进一步地,所述切分模块包括分组单元,所述分组单元用于将视频直播流中的关键帧子片单独分组,将剩余数据按时间等分的方式或按码流等分的方式等分为若干个普通子片,并进行编号;对所述关键帧子片进行单独编号;为每个子片增加一个内部协议头作为索引头;其中,所述关键帧片段包括直播流的元数据分片,所述元数据分片不需要加内部协议头。
进一步地,所述获取模块包括:所述客户端通过P2P方式与其他客户端建立P2P连接,向其他客户端请求缺少的子流。
进一步地,所述单个子流对应的码率至少小于所述物理设备RD所能提供的上行带宽的2/5。
进一步地,所述SDP文件还包括子流的分割数目、每条子流的子频道编号、分组编号、分组类型和视频直播流的元数据。
本发明通过对一个直播流进行比较精准的拆分,将实时直播流变成了若干个子流,然后再通过CDN和虚拟化的传输通路进行分别传输,最后在播放器端进行重组。通过将一个原始的直播流进行更细粒度的划分,使得每个子流所需要的带宽变为原值的若干分之一,在本发明所描述的虚拟化分发网络中能更好的调度和管理。本发明的方法可以解决用户日益提高的视频质量要求和现有网络带宽虚拟化解决方案中上行节点带宽不足或是不稳定的矛盾。通过降低对RD设备带宽分配的粒度,能更好的调度物理设备RD,抵抗突发带宽波动,使客户端播放视频时更加流畅,增强用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的分布式多传输信道网络直播视频并行分发方法的流程图;
图2是本发明实施例提供的分布式多传输信道网络直播视频并行分发方法中对视频流切分的示意图;
图3是本发明实施例提供的分布式多传输信道网络直播视频并行分发系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参见图1,本发明实施例提供了一种分布式多传输信道网络直播视频并行分发方法,包括:
S1、将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
S2、以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;
在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
S3、客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
S4、客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
S5、客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
本发明提出的方法,具体的是应用于背景技术中所述的针对带宽虚拟化的直播场景中。通过将视频的直播流按照需要拆分成若干子流,然后再通过虚拟化API的管理,将某个虚拟机所管理的所有终端节点拆分成若干子集合,每个子集合负责分发一条子流。对于视频内容消费端,首先通过第一次请求,得到一个直播流的描述信息SDP(sessiondescription protocol)文件,里边记录了整个直播流的拆分情况,各个子流的描述情况,以便于消费端去获取各条子流并拼接成一个完整的直播流播放。本发明主要描述直播流的拆分,分发,以及客户端对子流的获取和拼接方法。
首先是拆分方法:
拆分直播流的目的是为了将直播流尽可能的等分成若干子流,然后起到降低单个子流码率,使其远小于终端RD设备所能提供的上行带宽(如至少小于终端RD设备所能提供的上行带宽的2/5),从而达到抵抗突发的RD设备可用带宽变少的作用。这个子流码率的上限选取,由两个因素决定,第一个是RD设备的平均可用上行带宽AvgB,子流码率至少要是AvgB的1/2,这样,RD接受一路子流后,至少可以向外输出两路子流,起到了带宽放大的作用;另一个因素是需要抵抗RD设备的突发上行流量的影响,需要再预留一部分余量,在这里,这个余量带宽是由RD设备使用行为分析所得到,不同的RD设备,这个余量值并不一致。通过化整为零,达到仅利用低端低上行带宽设备就可以对高清直播加速的效果。具体的,按照内部传输协议和编码方式的不同,可以采用按时间等分,或者是按分片大小等分的办法,还有考虑关键帧的分割算法。
按时间等分,就是以1秒为单位,将每秒钟的原始直播流均分为N个子片。假如N=3,则要求分成3个子流,那么每当积累的数据超过1/3秒,就切一个子片。
按分片大小等分,那么就是按码流平均,假设码流是M,需要均分为N片,则每当收集的流数据超过M/N,则生成一个切片。比如码流是1000kbps,那么当积累的数据超过333kb后就切一个子片。
考虑关键帧的分割算法,由于视频关键帧通常远大于其他的帧,可以将关键帧单独分到一组,然后剩余的数据按照按时间戳或者分片大小的方案再等分,否则单纯按照时间或者大小等分,会造成含关键帧的子片大小远大于其他子片,达不到均分的目的。即只要收到关键帧,就只为关键帧生成一个切片,也就是关键帧子片,其他的数据再按照时间或者是大小来进行等分。具体的,如果需要N(N>=3)等分,那么就是关键帧在一组,然后剩下的数据做N-1等分。但是由于关键帧的特殊性,其编号规则不能和普通帧一样,需要单独编号。这是因为,如果切关键帧时,普通帧的大小还不够成为一个新的子片,那么在复原时,关键帧就需要插入到这个后生成的普通子片中,而此时如果不独立编号,那么关键帧的编号就会比普通子片的要小,不利于后边播放器复原直播流。
从收到直播流开始,对所有子片从1开始编号,每切一个子片,编号加1。如果是针对关键帧单独分组,则采用独立编号,也是从1开始,每切一个关键帧,编号加1。特别的,直播流的元数据,如音视频的解码参数,直播流自带的描述信息,单独切成一个分片(子片)。对每个子片加一个内部协议头,协议头提供的信息包括但不限于:切片编号,起始时间戳,所属的直播流标识,切分方案,是否是关键帧分组还是普通分组等。特别的,元数据分片不需要加内部协议头,它通过不同于其他子片的方式分发。图2是一个切分的示意图。其中A表示音频帧,V表示视频帧,hdr表示新增加的切出的子片的头部。
分发方法:
首先以切片为单位将直播流推送到CDN网络的边缘节点,一个切片对应一个子片,然后通过虚拟化API调度不同RD节点去传输不同的切片分组,由于切片基本是等分的,所以分组可以由取模的方法决定。即分组编号=切片编号mod子流数目,例如子流的数目是3,那么分组编号就是切片编号对3取模得到。对于纯关键帧分组,则就是独立编号,作为一个特殊分组,不和普通分组混淆。推送的方法,和普通的完整的直播流的推送方法一样,而选择RD分组的方法,则是在同一个VM虚拟机内部再按照运维配置的子流数目N值,决定如何选取RD的分组。一旦划分完毕,RD分组只会去选取和分发自己这个分组所对应的子流。
将每个单位时间内(1s)的视频流切分为若干个切片,每个切片有一个协议编号,而且这个编号是连续增长的(普通帧所在的切片)。
所以一个直播流切完了以后会是“1,2,3,4,5,6……”这样的编号序列,且会一直增长。而且如果每s切三片的话,编号“1,2,3”是第1s的数据,编号“4,5,6”是第2s的数据,以此类推。
即按照取模的办法,从上述序列中选取一批编号的切片,作为一个子流,并用不同的信道分发。
如:
子流1的子片编号:1,4,7,10….
子流2的子片编号:2,5,8,11….
子流3的子片编号:3,6,9,12….
这里用子流来表述,是因为每个子流是由不同协议编号的切片所组成,且会一直增长。
另外如上所述,每个子流有一个独立的编号,包含了一组编号一直增长的切片,这些切片的共同特征是他们的编号取某个模时,值相等。
并且这个子流编号对应了不同的传输信道,并在SDP里进行区分。即SDP只会给出子流的获取路径。
客户端请求及响应,以及拼接方法:
首先客户端拿到的是一个完整的直播url,这个地址是一个虚拟地址,标识这个直播流,客户端向服务器发出直播url请求,得到的是一个对于直播url进行描述的SDP文件。这个文件里会给出的数据包括子流的分割数目,每条子流的子频道编号,分组编号,分组类型,每条子流所对应的RD节点列表,也可能会包括直播流的元数据或者是元数据所对应的RD节点列表等。如果这里把元数据也通过某一组RD节点下发,这样在进行虚拟化API调度时,会独立给出一个RD分组来分发元数据。客户端在获得SDP文件后,首先会去获取元数据,接着会按照所有子流所对应的RD节点列表,从中选择一个或多个RD设备分别进行子流的请求。客户端还可以通过P2P的方式与其它客户端建立P2P连接,直接按编号请求缺少的子流切片数据。另一方面,客户端内部维护一个播放窗口,将获取到子流拆除内部协议头部,进行拼装。
如果子流的切分方法是不考虑关键帧分组的,则直接按子切片编号顺序排列,依次填到播放窗口的对应位置。如果有缺失造成不连续,就再次请求,和传统的P2P-CDN直播方式类似,将窗口分区,紧急需要立即使用的数据从RD节点获取,非紧急数据从其他客户端获取。对于数据缺失或者异常情况的处理也和传统方法相同,如重传,忽略,窗口直接略过缺失数据,从下一个关键帧开始播放等等。
如果子流的切分方法是包含关键帧分组的,那么需要进行多次排序,规则如下:
按照编号顺序对普通子流切片统一排序,这里是指所有的普通子流切片,不管它是哪个分组;
按照编号顺序对关键帧分组排序;
在普通切片和关键帧切片都连续的情况下,按照每一帧的时间戳先后决定装填到播放器播放缓冲区的顺序。这时的模型类似于将两个有序链表归并为一个有序链表问题。
在按序装填后,播放器正常播放。对于异常情况,数据缺失的处理和上文相同。
如图3所示,本发明还提供了一种分布式多传输信道网络直播视频并行分发系统,包括:
切分模块,用于将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
分发模块,用于以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;
在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
请求模块,用于客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
获取模块,用于客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
拼装模块,用于客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
本发明通过对一个直播流进行比较精准的拆分,将实时直播流变成了若干个子流,然后再通过CDN和虚拟化的传输通路进行分别传输,最后在播放器端进行重组。通过将一个原始的直播流进行更细粒度的划分,使得每个子流所需要的带宽变为原值的若干分之一,在本发明所描述的虚拟化分发网络中能更好的调度和管理。本发明的方法可以解决用户日益提高的视频质量要求和现有网络带宽虚拟化解决方案中上行节点带宽不足或是不稳定的矛盾。通过降低对RD设备带宽分配的粒度,能更好的调度物理设备RD,抵抗突发带宽波动,使客户端播放视频时更加流畅,增强用户体验。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.分布式多传输信道网络直播视频并行分发方法,其特征在于,包括:
S1、将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
S2、以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
S3、客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
S4、客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
S5、客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
2.根据权利要求1所述的分布式多传输信道网络直播视频并行分发方法,其特征在于,步骤S1中还包括:将视频直播流中的关键帧子片单独分组,将剩余数据按时间等分的方式或按码流等分的方式等分为若干个普通子片,并进行编号;对所述关键帧子片进行单独编号;为每个子片增加一个内部协议头作为索引头;其中,所述关键帧片段包括直播流的元数据分片,所述元数据分片不需要加内部协议头。
3.根据权利要求1或2所述的分布式多传输信道网络直播视频并行分发方法,其特征在于,步骤S4包括:所述客户端通过P2P方式与其他客户端建立P2P连接,向其他客户端请求缺少的子流。
4.根据权利要求3所述的分布式多传输信道网络直播视频并行分发方法,其特征在于,单个所述子流对应的码率至少小于所述物理设备RD所能提供的上行带宽的2/5。
5.根据权利要求2所述的分布式多传输信道网络直播视频并行分发方法,其特征在于,所述SDP文件还包括子流的分割数目、每条子流的子频道编号、分组编号、分组类型和视频直播流的元数据。
6.分布式多传输信道网络直播视频并行分发系统,其特征在于,包括:
切分模块,用于将视频直播流切分成多个子片;其中,所述子片包括普通子片和关键帧子片;
分发模块,用于以所述子片为单位将视频直播流推送到CDN网络的边缘节点,调度虚拟机内的不同的物理设备RD传输不同的切片分组;
其中,所述虚拟机内设置有若干个物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来;所述切片分组为对所述子片进行分组得到;每个切片分组形成一个子流;在同一个虚拟机内部按照预先配置的子流数目选取RD分组,所述物理设备RD选取和分发与所述RD分组对应的子流;
请求模块,用于客户端发出直播url请求,获取用于描述直播url的SDP文件;其中,所述SDP文件包括每个子流对应的RD节点列表;
获取模块,用于客户端根据所述子流对应的RD节点列表选取一个或多个物理设备RD分别进行子流请求并获取所述子流;
拼装模块,用于客户端拆除获取的所述子流的内部协议头,对所述子流进行拼装。
7.根据权利要求6所述的分布式多传输信道网络直播视频并行分发系统,其特征在于,
所述切分模块包括分组单元,所述分组单元用于将视频直播流中的关键帧子片单独分组,将剩余数据按时间等分的方式或按码流等分的方式等分为若干个普通子片,并进行编号;对所述关键帧子片进行单独编号;为每个子片增加一个内部协议头作为索引头;其中,所述关键帧片段包括直播流的元数据分片,所述元数据分片不需要加内部协议头。
8.根据权利要求6或7所述的分布式多传输信道网络直播视频并行分发系统,其特征在于,所述获取模块包括:所述客户端通过P2P方式与其他客户端建立P2P连接,向其他客户端请求缺少的子流。
9.根据权利要求8所述的分布式多传输信道网络直播视频并行分发系统,其特征在于,单个所述子流对应的码率至少小于所述物理设备RD所能提供的上行带宽的2/5。
10.根据权利要求8所述的分布式多传输信道网络直播视频并行分发系统,其特征在于,所述SDP文件还包括子流的分割数目、每条子流的子频道编号、分组编号、分组类型和视频直播流的元数据。
CN201510741114.6A 2015-11-04 2015-11-04 分布式多传输信道网络直播视频并行分发方法及系统 Active CN105392068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510741114.6A CN105392068B (zh) 2015-11-04 2015-11-04 分布式多传输信道网络直播视频并行分发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510741114.6A CN105392068B (zh) 2015-11-04 2015-11-04 分布式多传输信道网络直播视频并行分发方法及系统

Publications (2)

Publication Number Publication Date
CN105392068A CN105392068A (zh) 2016-03-09
CN105392068B true CN105392068B (zh) 2019-01-01

Family

ID=55423825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510741114.6A Active CN105392068B (zh) 2015-11-04 2015-11-04 分布式多传输信道网络直播视频并行分发方法及系统

Country Status (1)

Country Link
CN (1) CN105392068B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076260A (zh) * 2016-05-05 2018-12-21 华为技术有限公司 视频业务的传输方法和装置
CN105933794A (zh) * 2016-06-15 2016-09-07 南京纳加软件有限公司 一种基于全联通架构的新媒体导播系统
CN107277134B (zh) * 2017-06-19 2020-08-04 网宿科技股份有限公司 一种基于对等网络的数据传输方法及系统
CN108063950B (zh) * 2017-12-26 2020-10-27 郑州威科姆科技股份有限公司 一种直播课堂实现方法
CN109040199A (zh) * 2018-07-13 2018-12-18 广州虎牙信息科技有限公司 一种分发资源数据的方法、系统及存储介质
CN108900907A (zh) * 2018-07-13 2018-11-27 广州虎牙信息科技有限公司 封装数据包方法及装置、电子设备、介质
CN108924609B (zh) * 2018-07-13 2021-06-29 广州虎牙信息科技有限公司 流媒体数据传输的方法、电子设备、装置及存储介质
CN109104617B (zh) * 2018-09-05 2021-04-27 杭州领智云画科技有限公司 视频请求响应方法和系统
CN109005430B (zh) * 2018-09-17 2021-05-18 深圳市网心科技有限公司 一种音/视频内容的点播方法、系统、装置及存储介质
CN111263221B (zh) * 2018-11-30 2023-04-25 南京超聚通信科技有限公司 视频信息轮播方法及装置、视频信息接收方法及装置
CN111131846A (zh) * 2019-12-05 2020-05-08 中国联合网络通信集团有限公司 视频播放方法、多媒体播放设备、边缘服务器和核心网
CN111193936B (zh) * 2019-12-27 2021-11-12 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN113453085B (zh) * 2020-03-27 2022-10-11 北京金山云网络技术有限公司 判断播放卡顿的方法、装置和电子终端
CN112118461B (zh) * 2020-09-22 2022-10-18 湖南快乐阳光互动娱乐传媒有限公司 一种音视频文件存储和分发方法与装置
CN116916054B (zh) * 2023-09-14 2023-12-05 美冠(北京)科技有限公司 基于云播控的数字化媒介内容分发系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997031A (zh) * 2006-12-01 2007-07-11 清华大学 一种视频网格自适应负载均衡调度方法
CN101155296A (zh) * 2006-09-29 2008-04-02 中国科学技术大学 数据传输的方法
CN101193294A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 一种视频内容服务系统和服务方法
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080004503A (ko) * 2005-03-23 2008-01-09 알까뗄 루슨트 네트워크 노드로부터의 디지털 멀티미디어 콘텐츠에 대하여플레이리스트 탐색을 실행하는 시스템 및 방법
US9712408B2 (en) * 2014-03-17 2017-07-18 Telefonaktiebolaget L M Ericsson (Publ) Bandwidth management in a content distribution network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155296A (zh) * 2006-09-29 2008-04-02 中国科学技术大学 数据传输的方法
CN101193294A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 一种视频内容服务系统和服务方法
CN1997031A (zh) * 2006-12-01 2007-07-11 清华大学 一种视频网格自适应负载均衡调度方法
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统

Also Published As

Publication number Publication date
CN105392068A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105392068B (zh) 分布式多传输信道网络直播视频并行分发方法及系统
AU2020200525B2 (en) Systems, devices and methods for distributing data with multi-tiered encoding
Sani et al. Adaptive bitrate selection: A survey
Mukerjee et al. Practical, real-time centralized control for cdn-based live video delivery
KR101089562B1 (ko) 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법
US10085123B2 (en) Information processing apparatus and method, program, and content supply system
US7970932B2 (en) View-upload decoupled peer-to-peer video distribution systems and methods
CN110502259B (zh) 服务器版本升级方法、视联网系统、电子设备及存储介质
CN101282281A (zh) 一种媒体分发系统、装置及流媒体播放方法
KR20070108219A (ko) 차세대 케이블 네트워크의 동적 다중화를 위한 시스템 및방법
CN105430046B (zh) 一种利用虚拟化技术实现的cdn加速系统及方法
Arefin et al. 4D TeleCast: Towards large scale multi-site and multi-view dissemination of 3DTI contents
US20140280701A1 (en) Distributed computing
Wang et al. PLVER: Joint stable allocation and content replication for edge-assisted live video delivery
Clayman et al. Low latency low loss media delivery utilizing in-network packet wash
CN105392025A (zh) 用户侧带宽聚合的方法、设备和内容分发系统
KR101566397B1 (ko) 대역폭 관리 장치, 중앙 관리 장치, 및 대역폭 관리 방법
US8660002B1 (en) Managing media resources utilizing session initiation protocol
CN105282248A (zh) 一种可进行日志管理的虚拟化cdn加速系统及方法
TWI630807B (zh) 負載平衡系統、負載平衡裝置及拓樸管理方法
Priyadharisini An adaptive cache switching based video streaming using Buffer seeded multi checkpoint peer responder to improve the quality of service in WSN
Mohamed et al. Effect of WiMAX networks on IPTV technology
Lambrinos et al. A Case for Multimedia Streaming over the Grid Infrastructure
Qi et al. Extensions of a TV playout system to support dynamic broadcast
Zhang et al. Server-based bitrate allocation in content delivery network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee after: Youku network technology (Beijing) Co.,Ltd.

Address before: 100080, A, 5, block 8, Sinosteel International Plaza, Haidian Avenue, Haidian District, Beijing

Patentee before: 1VERGE INTERNET TECHNOLOGY (BEIJING) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200622

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: Youku network technology (Beijing) Co.,Ltd.