一种视频直播方法及装置的制造方法

文档序号:10492827阅读:398来源:国知局
一种视频直播方法及装置的制造方法
【专利摘要】本发明公开了一种视频直播方法及装置,属于在线视频技术领域。本发明使用CDN与P2P的复合方式获取视频数据,具有更强的抗网络抖动性能,提高了直播的稳定性,此外,由于P2P技术的引入,拓展了视频数据的来源,分散了CDN网络中服务器的压力,并有助于减小CDN网络中的服务器规模,从而可以降低网络视频直播系统的成本,有利于网络视频直播方式的广泛应用。本发明非常适用于低成本的在线教育、体育直播、新闻直播等等应用场景,具有低延时、高稳定性的优点,是对现有技术的一个重大改进。
【专利说明】
_种视频直播方法及装置
技术领域
[0001]本发明涉及在线视频技术领域,特别是指一种视频直播方法及装置。
【背景技术】
[0002]随着互联网技术的发展,越来越多的直播视频采用网络分发的形式,并大有取代传统电视直播的趋势。
[0003]目前的网络直播系统主要采用的是传统的单链路分发机制,这种机制具有延迟较小的优势,但却不利于抵抗网络抖动,因此当直播终端与远程视频服务器的连接出现障碍时就会严重地影响直播终端的视频播放,使网络用户的观看体验大打折扣。
[0004]此外,常用的视频分发机制还有⑶N(Content Delivery Network,内容分发网络)技术,CDN的核心是利用智能化策略技术,将中心服务器的内容和服务推送到边缘服务器,使得用户可以在最近的和服务质量最佳的地方获取服务,其关键技术包括高速缓存、负载均衡、内容路由、内容分发、内容存储和内容管理等。CDN技术能提高宽带资源的利用率,增加流媒体在互联网上的应用普及,但它还存在对视频编码格式支持不足、时延太大、无法提供广播级的视频服务、系统结构过于简单等等缺点。
[0005]在网络视频领域中还存在一种基于P2P技术的视频播放模式,所谓P2P即指peerto peer,中文可译为“对等网络”,这是一种相对于“服务器_终端”的网络模式。
[0006]对等网络又称工作组,指网络上的各个设备(即一个peer,又可称为对等节点)具有相同的地位,无主从之分,每一部设备都既可作为服务器,又可作为终端,从而使每台设备中的数据得到最大程度的共享,并避免传统“服务器-终端”模式中对服务器的大量访问所造成的网络拥堵现象,同时扩大每台终端的数据来源范围。
[0007]因此,P2P技术经常应用于网络下载、在线视频等等领域,以使得网络传输获得最佳的速度和稳定性。同时,由于P2P技术不需要维护一个庞大的服务器集群,因此基于P2P的网络应用也具有成本低廉的优势。
[0008]由于P2P技术本身的特点,一个对等节点所获得的数据不可能超出其他对等节点所具备的数据。因此,目前,P2P技术还主要应用于对实时性要求不高的点播视频中。
[0009]总之,目前,在现有技术中还不存在一种低成本、高稳定性,同时又能最大程度保证实时性的网络视频直播方法。

【发明内容】

[0010]有鉴于此,本发明的目的在于提出一种视频直播方法及装置,它具有低成本、低延时、高稳定性的优点,能够广泛适用于在线教育、体育直播、新闻直播等等应用场景,为视频的网络直播提供了一种新思路。
[0011 ]基于上述目的,本发明提供的技术方案为:
[0012]—种视频直播方法,其使用CDN与P2P的复合方式获取视频数据,视频数据以视频切片的形式在网络上传输,其包含:
[0013]通过⑶N网络从边缘服务器处获取视频切片;
[0014]通过P2P网络从对等节点处获取视频切片;
[0015]根据视频切片的时间戳信息将该视频切片所包含的视频片段放入缓存中,并使缓存中的视频片段按照时间顺序排列;
[0016]播放缓存中的视频数据。
[0017]具体地,获取视频数据的方式可以为订阅方式,当缓存中出现视频数据的缺位时,再以请求的方式向边缘服务器和\或对等节点拉取用于补位的视频数据。
[0018]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,数据体中包含视频片段;另外,对于流式和切片式的数据源,可以将源数据均转换为长度相等且结构一致的视频切片,即所有视频切片的格式都相同,这样以一种标准流的形式发送便于视频数据的传输和解码。
[0019]具体地,缓存可以为循环缓存(RingBuffer)。
[0020]具体地,缓存的大小可以采用动态方式设置,即当网络状态相同时,若用于播放所述视频数据的设备的空余存储空间越大,则缓存设置越大,当用于播放所述视频数据的设备的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。
[0021]具体地,上述方法还可以包含:
[0022]在播放过程中,如果缓存中视频数据的缺位情况超过阈值,则继续寻找新的边缘服务器和\或对等节点作为视频数据的来源。比如,该阈值可以是缺位数据的大小占整个缓存大小的某一比例。
[0023]具体地,CDN网络包含源服务器和至少一级中继服务器,CDN网络中的下级服务器均以订阅的方式从该下级服务器的上级服务器处获取数据,当该下级服务器的缓存中出现数据缺位时,该下级服务器通过请求的方式向其上级服务器拉取用于补位的数据。
[0024]一种视频直播装置,其包含:
[0025]网络连接模块,用于连接⑶N网络和P2P网络;
[0026]数据获取模块,用于以视频切片的形式获取视频数据;
[0027]缓存,用于以时间顺序存储视频数据;
[0028]播放模块,用于播放缓存中的视频数据。
[0029]具体地,数据获取模块可以包含:
[0030]视频订阅模块,用于订阅视频数据;
[0031]补位请求模块,用于当缓存中出现视频数据的缺位时以请求的方式拉取用于补位的视频数据。
[0032]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,且所有视频切片的格式都相同,即结构相同、长度相等。
[0033]具体地,缓存可以为循环缓存(RingBuffer)。
[0034]具体地,还包含缓存分配模块,缓存分配模块用于动态设置缓存的大小,即当网络状态相同时,若视频直播装置的空余存储空间越大,则缓存设置越大,当视频直播装置的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。
[0035]具体地,还可以包含动态调度模块,该动态调度模块用于在视频播放的过程中继续寻找新的数据来源;其中,数据来源为CDN网络中的边缘服务器和\SP2P网络中的对等节点。
[0036]具体地,还可以包含视频数据发送模块,该视频数据发送模块用于将缓存中的视频数据发送给其他直播设备,其中,其他直播设备为对本视频直播装置具有订阅请求或补位请求的设备。
[0037]从上面所述可以看出,本发明的有益效果在于:
[0038]本发明使用将P2P技术与CDN技术相融合的方式进行视频的网络直播,相对于现有技术中的“服务器-终端”模式具有更强的抗网络抖动性能,提高了直播的稳定性,此外,由于P2P技术的引入,拓展了视频数据的来源,分散了CDN网络中服务器的压力,并有助于减小CDN网络中的服务器规模,从而可以降低网络视频直播系统的成本,有利于网络视频直播方式的广泛应用。
[0039]总之,本发明非常适用于低成本的在线教育、体育直播、新闻直播等等应用场景,具有低延时、高稳定性的优点,是对现有技术的一个重大改进,为视频的网络直播提供了一种新思路,具有广阔的应用前景。
【附图说明】
[0040]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041 ]图1为本发明方法实施例的一种流程图;
[0042]图2为本发明装置实施例的一种结构框图;
[0043]图3为本发明装置实施例的另一种结构框图;
[0044]图4为本发明实施例的一种网络结构图。
【具体实施方式】
[0045]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0046]需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一” “第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0047]—种视频直播方法,其使用CDN与P2P的复合方式获取视频数据,视频数据以视频切片的形式在网络上传输,其包含:
[0048]通过⑶N网络从边缘服务器处获取视频切片;
[0049]通过P2P网络从对等节点处获取视频切片;
[0050]根据视频切片的时间戳信息将该视频切片所包含的视频片段放入缓存中,并使缓存中的视频片段按照时间顺序排列;
[0051 ]播放缓存中的视频数据。
[0052]具体地,获取视频数据的方式可以为订阅方式,当缓存中出现视频数据的缺位时,再以请求的方式向边缘服务器和\或对等节点拉取用于补位的视频数据。
[0053]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,数据体中包含视频片段;另外,对于流式和切片式的数据源,可以将源数据均转换为长度相等且结构一致的视频切片,即所有视频切片的格式都相同,这样以一种标准流的形式发送便于视频数据的传输和解码。
[0054]具体地,缓存可以为循环缓存(RingBuffer)。
[0055]具体地,缓存的大小可以采用动态方式设置,即当网络状态相同时,若用于播放所述视频数据的设备的空余存储空间越大,则缓存设置越大,当用于播放所述视频数据的设备的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。
[0056]具体地,上述方法还可以包含:在播放过程中,如果缺位数据的占整个缓存大小的比例超过10%,则继续寻找新的边缘服务器和\或对等节点作为视频数据的来源。
[0057]具体地,CDN网络包含源服务器和至少一级中继服务器,CDN网络中的下级服务器均以订阅的方式从该下级服务器的上级服务器处获取数据,当该下级服务器的缓存中出现数据缺位时,该下级服务器通过请求的方式向其上级服务器拉取用于补位的数据。一种具体的网络结构如图4所示。
[0058]一种视频直播装置,其包含:
[0059]网络连接模块,用于连接⑶N网络和P2P网络;
[0060]数据获取模块,用于以视频切片的形式获取视频数据;
[0061 ]缓存,用于以时间顺序存储视频数据;
[0062 ]播放模块,用于播放缓存中的视频数据。
[0063]具体地,数据获取模块可以包含:
[0064]视频订阅模块,用于订阅视频数据;
[0065]补位请求模块,用于当缓存中出现视频数据的缺位时以请求的方式拉取用于补位的视频数据。
[0066]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,且所有视频切片的格式都相同。
[0067]具体地,缓存可以为循环缓存(RingBuffer)。
[0068]具体地,还包含缓存分配模块,缓存分配模块用于动态设置缓存的大小,即当网络状态相同时,若视频直播装置的空余存储空间越大,则缓存设置越大,当视频直播装置的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。
[0069]具体地,还可以包含动态调度模块,该动态调度模块用于在视频播放的过程中继续寻找新的数据来源。比如,可以设定一个阈值,当缺位数据占缓存大小的比例超过该阈值时,则继续寻找新的数据来源;当然,也可以在整个播放过程中不断地寻找新的数据来源。其中,数据来源为CDN网络中的边缘服务器和\SP2P网络中的对等节点。
[0070]具体地,还可以包含视频数据发送模块,该视频数据发送模块用于将缓存中的视频数据发送给其他直播设备,其中,其他直播设备为对本视频直播装置具有订阅请求或补位请求的设备。
[0071 ]作为本发明方法的一个实施例,如图1所示,其应用于视频直播装置,使用CDN与P2P的复合方式获取视频数据,视频数据以视频切片的形式在网络上传输,其具体步骤如下:
[0072]步骤101,连接⑶N网络及P2P网络;
[0073]步骤102,根据视频直播装置的属性和网络状态设定该视频直播装置的播放延时和缓存大小;其具体方式是,当网络状态相同时,视频直播装置的空余存储空间越大,则该视频直播装置的缓存越大,当空余存储空间相同时,视频直播装置的网络状态越畅通,则该视频直播装置的播放延时越短且缓存越大;
[0074]步骤103,向⑶N网络中的边缘服务器及P2P网络中的对等节点订阅视频数据,视频数据以视频切片的形式在网络上传输;
[0075]步骤104,从边缘服务器及对等节点处接收视频切片,并根据视频切片的时间戳信息将视频切片所包含的视频片段放入缓存中,以使缓存中的视频片段按照时间顺序排列;
[0076]步骤105,播放缓存中的视频数据;
[0077]步骤106,判断视频直播是否已经播放完成,若播放完成则整个流程结束,若播放未完成则跳至步骤107;
[0078]步骤107,动态调整缓存的大小,具体方式为,当网络状态相同时,若用于播放所述视频数据的设备的空余存储空间越大,则缓存设置越大,当用于播放所述视频数据的设备的空余存储空间相同时,若网络状态越畅通,则缓存设置越大;
[0079]步骤108,判断缓存中是否存在视频数据的缺位,若是则跳至步骤109,否则跳至步骤 104.’
[0080]步骤109,判断缺位数据在缓存中的占比是否超过10%,若是则跳至步骤110,否则跳至步骤111;
[0081]步骤110,动态调整网络连接,即寻找新的、数据传输速度更快的对等节点或边缘服务器作为视频数据的来源,并淘汰网速较慢或数据滞后等等对于视频播放缺乏贡献的对等节点或边缘服务器;
[0082]步骤111,向边缘服务器或对等节点请求用于补位的视频数据,然后跳至步骤104。
[0083]容易理解,本实施例步骤103的视频数据获取方式也可以采用传统的“拉”的方式,即视频直播装置向数据源请求指定的视频数据,数据源接到请求后向视频直播装置发送数据,视频直播装置收到数据后再次向数据源请求新的视频数据。此外,对于步骤102,缓存也可以采用固定的大小,步骤109和步骤110也可以省略。
[0084]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,数据体中包含视频片段;另外,对于流式和切片式的数据源,可以将源数据均转换为长度相同且结构一致的视频切片,这样以一种标准流的形式发送便于视频数据的传输和解码。
[0085]具体地,缓存可以为循环缓存(RingBuffer)。
[0086]具体地,如图4所示为一种具体的网络结构,其中⑶N网络包含源服务器以及一级中继服务器和一级边缘服务器,其中边缘服务器以订阅的方式从中继服务器处获取数据,当边缘服务器的缓存中出现数据缺位时,则通过请求的方式向其中继服务器拉取用于补位的数据,中继服务器也以同样的方式从源服务器获取数据。
[0087]作为本发明装置的一个实施例,如图2所示,其与网络3连接,图中的虚线表示信号传递,实线表示数据传递,该装置包含:
[0088]网络连接模块21,用于连接⑶N网络和P2P网络;
[0089]数据获取模块22,用于以视频切片的形式获取视频数据;
[0090]缓存23,用于以时间顺序存储视频数据;
[0091 ]播放模块24,用于播放缓存中的视频数据;
[0092]动态调度模块25,用于在视频播放的过程中继续寻找新的数据来源,并淘汰对于本视频直播装置的视频播放缺乏贡献的对等节点或服务器,从而使数据获取维持在一个较佳的状态;其中,数据来源为CDN网络中的边缘服务器和\SP2P网络中的对等节点;
[0093]视频数据发送模块26,该模块用于接受其他直播设备的订阅和“拉取”请求,并将本视频直播装置的缓存23中的视频数据发送给其他直播设备,其他直播设备为对本视频直播装置具有订阅请求或补位请求的设备。
[0094]容易理解,本实施例装置中的动态调度模块25和视频数据发送模块26也可以省略。
[0095]具体地,视频切片可以包含描述头和数据体,其中描述头中包含该视频切片的时间戳信息,且所有视频切片的长度都相等。
[0096]具体地,缓存可以为循环缓存(RingBuffer)。
[0097]具体地,如图3所示,该视频直播装置还可以包含缓存分配模块27,该模块用于动态设置缓存的大小,即当网络状态相同时,若视频直播装置的空余存储空间越大,则缓存设置越大,当视频直播装置的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。
[0098]具体地,数据获取模块22还包含:
[0099]视频订阅模块,用于订阅视频数据;
[0100]补位请求模块,用于当缓存中出现视频数据的缺位时以请求的方式拉取用于补位的视频数据;
[0101]这样,本装置可以以订阅的方式从数据源获取视频数据,而当缓存中的数据出现缺位时,再以请求的方式从数据源拉取数据。
[0102]通过以上叙述可以看出,本发明各实施例相对于现有技术分别具有以下优势:
[0103]—、本发明实施例将P2P技术与CDN技术融合并应用于网络视频直播领域,相对于现有技术的“服务器-终端”模式具有更强的抗网络抖动性能,提高了直播的稳定性;
[0104]二、本发明实施例采用P2P技术与CDN技术的融合进行视频直播,与现有技术相比降低了服务器的部署规模,从而降低了直播成本;
[0105]三、本发明实施例中的视频直播装置主要是以订阅的方式从服务器或对等节点处获得视频数据,即通过注册使服务器或对等节点主动地向视频直播装置“推”送数据,不同于现有技术中“请求-获取-再请求-再获取”的所谓“拉”的方式,减少了传输步骤,缩短了传输时间,从而提高了视频的实时性;同时,作为补充,当数据出现缺位时,本发明也会采取“拉”的方式获取数据。
[0106]总之,本发明实施例非常适用于低成本的在线教育、体育直播、新闻直播等等应用场景,具有低延时、高稳定性的优点,是对现有技术的一个重大改进,为视频的网络直播提供了一种新思路,具有广阔的应用前景。
[0107]上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0108]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0109]另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
[0110]尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
[0111]本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种视频直播方法,其特征在于,使用CDN与P2P的复合方式获取视频数据,所述视频数据以视频切片的形式在网络上传输,其包含: 通过⑶N网络从边缘服务器处获取视频切片; 通过P2P网络从对等节点处获取视频切片; 根据视频切片的时间戳信息将该视频切片所包含的视频片段放入缓存中,并使缓存中的视频片段按照时间顺序排列; 播放缓存中的视频数据。2.根据权利要求1所述的视频直播方法,其特征在于,所述获取视频数据的方式为订阅方式,当缓存中出现视频数据的缺位时,以请求的方式向边缘服务器和\或对等节点拉取用于补位的视频数据。3.根据权利要求1所述的视频直播方法,其特征在于,所述视频切片包含描述头和数据体,所述描述头中包含该视频切片的时间戳信息,所述数据体中包含视频片段,所有视频切片的格式都相同。4.根据权利要求1所述的视频直播方法,其特征在于,所述缓存为循环缓存。5.根据权利要求1所述的视频直播方法,其特征在于,还包含动态设置缓存大小,所述动态设置的具体方式为:当网络状态相同时,若用于播放所述视频数据的设备的空余存储空间越大,则缓存设置越大,当用于播放所述视频数据的设备的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。6.根据权利要求1所述的视频直播方法,其特征在于,还包含: 在播放过程中,如果缓存中视频数据的缺位超过阈值,则继续寻找新的边缘服务器和\或对等节点作为视频数据的来源。7.根据权利要求1所述的视频直播方法,其特征在于,所述CDN网络包含源服务器和至少一级中继服务器,所述CDN网络中的下级服务器均以订阅的方式从该下级服务器的上级服务器处获取数据,当该下级服务器的缓存中出现数据缺位时,该下级服务器通过请求的方式向其上级服务器拉取用于补位的数据。8.一种视频直播装置,其特征在于,包含: 网络连接模块,用于连接CDN网络和P2P网络; 数据获取模块,用于以视频切片的形式获取视频数据; 缓存,用于以时间顺序存储视频数据; 播放模块,用于播放缓存中的视频数据。9.根据权利要求8所述的视频直播装置,其特征在于,所述数据获取模块包含: 视频订阅模块,用于订阅视频数据; 补位请求模块,用于当所述缓存中出现视频数据的缺位时以请求的方式拉取用于补位的视频数据。10.根据权利要求8所述的视频直播装置,其特征在于,所述视频切片包含描述头和数据体,所述描述头中包含该视频切片的时间戳信息,所有视频切片的格式都相同。11.根据权利要求8所述的视频直播装置,其特征在于,所述缓存为循环缓存。12.根据权利要求8所述的视频直播装置,其特征在于,还包含缓存分配模块,所述缓存分配模块用于动态设置所述缓存的大小,所述动态设置的具体方式为:当网络状态相同时,若视频直播装置的空余存储空间越大,则缓存设置越大,当视频直播装置的空余存储空间相同时,若网络状态越畅通,则缓存设置越大。13.根据权利要求8所述的视频直播装置,其特征在于,还包含动态调度模块,所述动态调度模块用于在视频播放的过程中继续寻找新的数据来源;所述数据来源为CDN网络中的边缘服务器和\SP2P网络中的对等节点。14.根据权利要求8所述的视频直播装置,其特征在于,还包含视频数据发送模块,所述视频数据发送模块用于将所述缓存中的视频数据发送给其他直播设备,所述其他直播设备为对本视频直播装置具有订阅请求或补位请求的设备。
【文档编号】H04N21/231GK105848011SQ201610201015
【公开日】2016年8月10日
【申请日】2016年3月31日
【发明人】蔡钧
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1