首页> 中国专利> 一种视频直播方法、转码服务器、网页客户端及系统

一种视频直播方法、转码服务器、网页客户端及系统

摘要

本发明实施例提供一种视频直播方法、转码服务器、网页客户端及系统,其中方法包括:接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;将所述流传输格式的视频流数据通过内容分发网络CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。

著录项

  • 公开/公告号CN105516739A

    专利类型发明专利

  • 公开/公告日2016-04-20

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201510969968.X

  • 发明设计人 袁树健;

    申请日2015-12-22

  • 分类号H04N21/2343(20110101);H04N21/6437(20110101);H04N21/858(20110101);H04L29/06(20060101);

  • 代理机构深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人王仲凯

  • 地址 518000 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-18 15:42:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-05

    授权

    授权

  • 2018-01-02

    实质审查的生效 IPC(主分类):H04N21/2343 申请日:20151222

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本发明涉及视频技术领域,具体涉及一种视频直播方法、转码服务器、网页客户端及系统。

背景技术

视频直播是指用户通过网络收看远端正在进行的现场音视频实况,比如赛事、会议、教学、手术等实况,由于视频直播可在本地再现远端的现场音视频实况,用户收看到的视频具有较高的实时性,因此近年来视频直播技术得到了较为迅猛的发展。

视频直播的方式主要是用户通过用户设备向直播服务器发起直播请求,直播服务器根据直播请求将直播频道的播放地址告知用户设备,用户设备根据该播放地址加入对应的组播组,实现在用户设备上播放直播视频;直播视频为用户所观看到的视频内容。

影响视频直播质量的一个主要因素为,用户设备播放直播视频时的延迟,较高的延迟较严重影响到互动视频直播的效果,和用户的直播视频收看体验,因此控制用户设备播放直播视频时的延迟处于较低水平,显得尤为必要。

目前,用户设备播放直播视频的常见方式为,通过专用的视频直播客户端播放直播视频和通过网页播放直播视频;专用的视频直播客户端一般由提供视频直播服务的服务提供商提供,因此专用的视频直播客户端在开发时,对于播放直播视频时的延迟一般有控制手段;而网页所承载的浏览器多种多样,这就导致通过网页播放直播视频时的延迟控制手段较难普及到所有的浏览器,因此通过网页播放直播视频的方式,相比于通过专用的视频直播客户端播放直播视频的方式,延迟较高。

可以看出,为提升互动视频直播的效果,提升用户的直播视频收看体验;如何降低在网页上播放直播视频时的延迟,成为本领域技术人员亟需的问题。

发明内容

有鉴于此,本发明实施例提供一种视频直播方法、转码服务器、网页客户端及系统,以降低在网页上播放直播视频时的延迟。

为实现上述目的,本发明实施例提供如下技术方案:

一种视频直播方法,应用于转码服务器,所述方法包括:

接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例还提供一种视频直播方法,应用于CDN节点,所述方法包括:

接收转码服务器在将原始视频流数据的格式由原始格式转换为预定的流传输格式后,所发送的流传输格式的视频流数据;

将所述流传输格式的视频流数据发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例还提供一种视频直播方法,应用于网页客户端,所述方法包括:

确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;

接收CDN节点发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器将原始视频流数据的格式,由原始格式转换为预定的流传输格式后生成;

解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例还提供一种转码服务器,包括:

原始视频流数据接收模块,用于接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

格式转换模块,用于将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

视频流数据发送模块,用于将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例还提供一种网页客户端,包括:

视频流数据请求模块,用于确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;

视频流数据接收模块,用于接收CDN节点发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器将原始视频流数据的格式,由原始格式转换为预定的流传输格式后生成;

解析播放模块,用于解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例还提供一种视频直播系统,包括:视频流分发服务器,转码服务器,CDN节点,和网页客户端;

其中,所述视频流分发服务器用于,采集视频源提供的原始视频流数据,并将所述原始视频流数据发送给转码服务器,所述原始视频流数据的格式为预设的原始格式;

所述转码服务器,用于接收视频流分发服务器发送的原始视频流数据,将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据,将所述流传输格式的视频流数据发送给CDN节点;

所述CDN节点,用于将所述流传输格式的视频流数据发送给请求直播视频的网页客户端;

所述网页客户端,用于确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;及接收CDN节点发送的所述流传输格式的视频流数据,解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

基于上述技术方案,本发明实施例提供的视频直播方法中设置有转码服务器,可将原始视频流数据由预设的原始格式转换为可被网页客户端解析的流传输格式,得到流传输格式的视频流数据,从而通过CDN节点将流传输格式的视频流数据发送给网页客户端,由网页客户端解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据;由于本发明实施例通过流传输格式进行视频流数据至网页客户端的发送,因此视频流数据的传输延迟较低,同时基于所述流传输格式,网页客户端可以帧播放方式播放视频流数据,将直播视频播放的延迟控制在帧级别,因此极大的降低了网页客户端播放直播视频时的延迟;可见,本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的视频直播系统的结构示意图;

图2为本发明实施例提供的视频直播方法的信令流程图;

图3为本发明实施例提供的视频直播方法的流程图;

图4为本发明实施例提供的视频直播方法的另一流程图;

图5为本发明实施例提供的视频直播方法的再一流程图;

图6为本发明实施例提供的将视频流数据发送给网页客户端的方法流程图;

图7为本发明实施例提供的视频直播方法的又一流程图;

图8为本发明实施提供的视频直播方法的又另一流程图;

图9为本发明实施例提供的应用例的示意图;

图10为本发明实施例提供的转码服务器的结构框图;

图11为本发明实施例提供的转码服务器的另一结构框图;

图12为本发明实施例提供的数据替代模块的结构框图;

图13为本发明实施例提供的数据替代模块的另一结构框图;

图14为本发明实施例提供的转码服务器的硬件结构框图;

图15为本发明实施例提供的网页客户端的结构框图;

图16为本发明实施例提供的视频流数据请求模块的结构框图;

图17为本发明实施例提供的视频流数据接收模块的结构框图;

图18为本发明实施例提供的用户设备的硬件结构框图;

图19为本发明实施例提供的视频直播系统的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的视频直播系统的结构示意图,本发明实施例提供的视频直播方法可由该视频直播系统实施;参照图1,该视频直播系统可以包括:视频流分发服务器10,转码服务器20,CDN(ContentDeliveryNetwork,内容分发网络)节点30,和网页客户端40;

其中,视频流分发服务器10为采集视频源提供的原始视频流数据,并传输给专用的视频直播客户端和网页客户度的服务器;视频流分发服务器10可以由单台服务器实现,也可以由多台服务器组成的群组实现;

转码服务器20为本发明实施例设置的用于将视频流分发服务器10提供的视频流数据的原始格式,转换为流传输格式的服务器;转码服务器20可以由单台服务器实现,也可以由多台服务器组成的群组实现;

CDN节点30为本发明实施例设置的将转码服务器20转换后的流传输格式的视频流数据,以流形式分发给网页客户端的网络节点;CDN节点30可以由多层级的CDN节点服务器构成,各CDN节点服务器支持所述流传输格式的视频流数据的传输;

网页客户端40为设置于用户设备上的支持网页展示的客户端,如浏览器,设置于某一应用内的网页组件(如web组件)等。

基于图1所示视频直播系统,图2示出了本发明实施例提供的视频直播方法的信令流程图,参照图2,该流程可以包括:

步骤S10、视频流分发服务器采集视频源提供的原始视频流数据,将所述原始视频流数据发送给转码服务器,所述原始视频流数据的格式为预设的原始格式;

可选的,预设的原始格式可以为提供视频直播服务的服务提供商所定义的私有协议格式;

另一方面,该私有协议格式的解析方式可在专用的视频直播客户端上约定,因此在专用的视频直播客户端播放直播视频的场景下,视频流分发服务器可将所述原始视频流数据发送给专用的视频直播客户端,由专用的视频直播客户端解析所述原始视频流数据,从而播放解析出的直播视频。

步骤S11、转码服务器将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

由于网页所承载的网页客户端(如浏览器)多种多样,并不能在所有的网页客户端都约定私有协议格式的解析方式,因此本发明实施例中,转码服务器需将原始视频流数据的格式转换为可被网页客户端解析的格式,即将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式;

可选的,预定的流传输格式可以为RTMP(RealTimeMessagingProtocol,实时消息传输协议)格式,也可以是RTMP格式的变种流传输格式,如RTMPT(RTMP用http包装后的协议)、RTMPS(在RTMPT的基础上,增加了SSL(SecureSocketsLayer,安全套接层)的安全功能)、RTMPE(在RTMPT的基础上进行了加密)等格式。

步骤S12、转码服务器将所述流传输格式的视频流数据发送给CDN节点;

步骤S13、CDN节点将所述流传输格式的视频流数据发送给网页客户端;

CDN节点可以由多层级的CDN节点服务器构成,包括与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;CDN中间节点服务器的数量可以为至少一个,即一个或多个;

通过CDN顶层节点服务器,CDN中间节点服务器,CDN底层节点服务器,可使得所述流传输格式的视频流数据可以网络流的方式传输至网页客户端,提升视频流数据到达网页客户端的实时性,为降低直播视频在网页客户端的播放延迟提供可能。

步骤S14、网页客户端解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

由于流传输格式(如RTMP格式,或RTMP的变种格式)的属性,网页客户端解析流传输格式的视频流数据后,解析出的视频流数据是以帧数据的方式进行播放,并不是以小文件的方式进行播放,而网页客户端以帧播放方式(帧数据的方式播放)解析出的视频流数据,将使得网页客户端播放直播视频的延迟为帧级别的,这将极大的降低网页客户端播放直播视频时的延迟;

可选的,网页客户端中可设置AdobeFlashPlayer播放器,由AdobeFlashPlayer播放器实现以帧播放方式播放解析出的视频流数据;由于RTMP格式,或RTMP的变种格式是基于AdobeFlashPlayer播放器开发的标准协议,因此流传输格式的视频流数据的解析和播放将在网页客户端中得到很好的适配。

本发明实施例提供的视频直播方法中设置有转码服务器,可将原始视频流数据由预设的原始格式转换为可被网页客户端解析的流传输格式,得到流传输格式的视频流数据,从而通过CDN节点将流传输格式的视频流数据发送给网页客户端,由网页客户端解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据;由于本发明实施例通过流传输格式进行视频流数据至网页客户端的发送,因此视频流数据的传输延迟较低,同时基于所述流传输格式,网页客户端可以帧播放方式播放视频流数据,将直播视频播放的延迟控制在帧级别,因此极大的降低了网页客户端播放直播视频时的延迟;可见,本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。

下面以转码服务器的角度,对本发明实施例提供的视频直播方法进行介绍,下文描述的视频直播方法可与上文描述的信令流程内容相互对应参照。

图3为本发明实施例提供的视频直播方法的流程图,该方法可应用于转码服务器,参照图3,该方法可以包括:

步骤S100、接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

可选的,原始格式可以为提供视频直播服务的服务提供商所定义的私有协议格式。

步骤S110、将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

可选的,转码服务器可依据所述原始格式,解析出原始视频流数据的内容,从而根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为预定的流传输格式,实现对流传输格式的视频流数据的封装;

可选的,预定的流传输格式可以为RTMP格式,或RTMP的变种格式;以预定的流传输格式为RTMP格式为例,本发明实施例中,转码服务器可根据私有协议格式解析出原始视频流数据的内容,进而根据RTMP格式的组包协议,将原始视频流数据的内容封装成RTMP格式,得到RTMP格式的视频流数据。

步骤S120、将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例提供的视频直播方法包括:转码服务器接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;转码服务器将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;转码服务器将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

本发明实施例提供的视频直播方法中设置有转码服务器,可将原始视频流数据由预设的原始格式转换为可被网页客户端解析的流传输格式,得到流传输格式的视频流数据,从而通过CDN节点将流传输格式的视频流数据发送给网页客户端,由网页客户端解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据;由于本发明实施例通过流传输格式进行视频流数据至网页客户端的发送,因此视频流数据的传输延迟较低,同时基于所述流传输格式,网页客户端可以帧播放方式播放视频流数据,将直播视频播放的延迟控制在帧级别,因此极大的降低了网页客户端播放直播视频时的延迟;可见,本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。

可选的,转码服务器在接收视频流分发服务器发送的原始视频流数据时,有可能出现所接收的原始视频流数据中断的情况,这将导致转码服务器发送给CDN节点的视频流数据也出现中断的情况,从而对视频直播造成影响;基于此,转码服务器可在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,以保持转码为流传输格式的视频流数据的连续性;

对应的,图4示出了本发明实施例提供的视频直播方法的另一流程图,参照图4,该方法可以包括:

步骤S200、接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

步骤S210、若检测到所述原始视频流数据存在中断,确定所述原始视频流数据的中断位置,在所述中断位置添加入替代的视频数据,得到连续的原始视频流数据;

可选的,本发明实施例可确定所述中断位置需替代的视频数据量,从而在原始视频流数据中断前的视频流数据的最后位置,选取与所述视频数据量相应的数据,在所述中断位置添加入所选取的数据;

可选的,本发明实施例可选取原始视频流数据中断前的最后一个数据,根据所述最后一个数据确定与所述中断位置需替代的视频数据量相应的替代数据(如将最后一个数据进行复制,通过复制的多个最后一个数据组建成与需替代的视频数据量相应的替代数据),从而在所述中断位置添加入该替代数据。

步骤S220、将所述连续的原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

步骤230、将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

下面以CDN节点的角度对本发明实施例提供的视频直播方法进行介绍,下文描述的视频直播方法可与上文描述的信令流程内容,及以转码服务器角度描述的视频直播方法相互对应参照。

图5为本发明实施例提供的视频直播方法的再一流程图,该方法可应用于CDN节点,参照图5,该方法可以包括:

步骤S300、接收转码服务器在将原始视频流数据的格式由原始格式转换为预定的流传输格式后,所发送的流传输格式的视频流数据;

步骤S310、将所述流传输格式的视频流数据发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,预设的原始格式可以为提供视频直播服务的服务提供商所定义的私有协议格式;预定的流传输格式可以为RTMP格式,或RTMP的变种格式。

可选的,CDN节点可以包括多层级的CDN节点服务器;该多层级的CDN节点服务器可以包括与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;

可选的,与网页客户端通信的CDN底层节点服务器可以是网页客户端最近的CDN节点服务器;网页客户端在请求直播视频流数据时,可向最近的CDN节点服务器请求视频流数据,由该最近的CDN节点服务器逐层级向CDN顶层节点服务器请求视频流数据,从而使得视频流数据由CDN顶层节点服务器至CDN中间节点服务器至CDN底层节点服务器至网页客户端,的逐层级传输;

图6示出了本发明实施例提供的将视频流数据发送给网页客户端的方法流程图,参照图6,该方法可以包括:

步骤S400、与网页客户端通信的CDN底层节点服务器根据网页客户端所请求的播放地址,确定与所述播放地址对应的视频流数据;

可选的,播放地址可由网页客户端向直播服务器请求后,由直播服务器告知;网页客户端在确定播放地址后,可向最近的CDN节点服务器(即CDN底层节点服务器)请求与该播放地址相应的视频流数据。

步骤S410、CDN底层节点服务器通过CDN中间节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据;

具体的,CDN底层节点服务器可向与其通信的CDN中间节点服务器中的服务器,请求视频流数据;该服务器可在CDN中间节点服务器中向其上一层级的服务器请求视频流数据,以此类推,直至视频流数据的请求到达CDN中间节点服务器中的顶层服务器,该顶层服务器再向CDN顶层节点服务器请求视频流数据,从而实现视频流数据由CDN底层节点服务器至CDN顶层节点服务器的逐层级传输。

步骤S420、CDN底层节点服务器接收CDN顶层节点服务器通过CDN中间节点服务器逐层级发送的,与所述播放地址相应的流传输格式的视频流数据;

相应的,CDN顶层节点服务器可将转码服务器发送的流传输格式的视频流数据,通过CDN中间节点服务器逐层级的发送至CDN底层节点服务器,实现CDN底层节点服务器对视频流数据的获取,以便后续将视频流数据发送给相通信的网页客户端。

步骤S430、CDN底层节点服务器将所述流传输格式的视频流数据发送给所述网页客户端。

可选的,为使得CDN节点支持对流传输格式的视频流数据的传输,本发明实施例可在各CDN节点服务器(包括CDN顶层节点服务器,CDN中间节点服务器和CDN底层节点服务器)中设置流传输分发器,该流传输分发器可识别流传输格式的视频流数据,并实现流传输格式的视频流数据的逐层级传输;显然CDN节点除支持流传输格式的视频流数据的传输外,还可支持其他格式的数据的传输,相应的各CDN节点服务器需设置相应格式的数据分发器。

下面以网页客户端的角度,对本发明实施例提供的视频直播方法进行介绍,下文描述的视频直播方法可与上文的信令流程内容,以转码服务器和CDN节点角度描述的视频直播方法相互对应参照。

图7为本发明实施例提供的视频直播方法的又一流程图,该方法可应用于网页客户端,参照图7,该方法可以包括:

步骤S500、确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;

可选的,网页客户端可向直播服务器发起直播请求,直播服务器可根据直播请求将直播频道的播放地址告知用户设备,以使得网页客户端确定直播视频的播放地址;

网页客户端在确定播放地址后,可向CDN节点请求相应的视频流数据,以便CDN节点向网页客户端分发视频流数据。

步骤S510、接收CDN节点发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器将原始视频流数据的格式,由原始格式转换为预定的流传输格式后生成;

可选的,CDN节点发送给网页客户端的流传输格式的视频流数据可以由转码服务器处获得,转码服务器将原始视频流数据的格式由原始格式转换为预定的流传输格式后,转码服务器可将流传输格式的视频流数据发送给CDN节点。

步骤S520、解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,预设的原始格式可以为提供视频直播服务的服务提供商所定义的私有协议格式;预定的流传输格式可以为RTMP格式,或RTMP的变种格式。

可选的,CDN节点可以包括多层级的CDN节点服务器;该多层级的CDN节点服务器可以包括与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;

可选的,与网页客户端通信的CDN底层节点服务器可以是网页客户端最近的CDN节点服务器;

相应的,网页客户端可向CDN底层节点服务器请求与所述播放地址对应的视频流数据;CDN底层节点服务器再通过CDN中间节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据;从而使得CDN顶层节点服务器可通过CDN中间节点服务器向CDN底层节点服务器逐层发送,与所述播放地址相应的流传输格式的视频流数据;再由CDN底层节点服务器将所述流传输格式的视频流数据发送给网页客户端,实现网页客户端从CDN节点处接收流传输格式的视频流数据;

可选的,图8示出了本发明实施提供的视频直播方法的又另一流程图,该方法可应用于网页客户端,参照图8,该方法可以包括:

步骤S600、确定直播视频的播放地址,向与网页客户端通信的CDN底层节点服务器请求与所述播放地址对应的视频流数据;

步骤S610、接收CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,CDN底层节点服务器可逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据,及CDN顶层节点服务器可逐层级向CDN底层节点服务器发送与所述播放地址相应的流传输格式的视频流数据;

步骤S620、解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

下面对本发明实施例提供的视频直播方法的应用例进行介绍,图9示出了本发明实施例提供的应用例的示意图;参照图9,视频源采集现场的视频数据(所采集的视频数据可以是游戏现场的视频数据,赛事现场的视频数据等),并转化为私有协议格式的视频流数据发送给视频流分发服务器;一方面,视频流分发服务器将私有协议格式的视频流数据发送给专用的视频直播客户端(如专用的安卓视频直播客户端,专用的IOS视频直播客户端等),由专用的视频直播客户端解析私有协议格式的视频流数据,播放解析出的视频流数据;

另一方面,视频流分发服务器将私有协议格式的视频流数据发送给转码服务器,转码服务器将私有协议格式的视频流数据转换为RTMP格式的视频流数据;转码服务器将RTMP格式的视频流数据发送给CDN节点;CDN节点通过逐层级的传输方式,将RTMP格式的视频流数据传输至请求直播视频的网页客户端;网页客户端解析所述RTMP格式的视频流数据,并基于所述RTMP格式,以帧播放方式播放解析出的视频流数据。

本发明实施例提供的视频直播方法是通过流传输格式进行视频流数据至网页客户端的发送,因此视频流数据的传输延迟较低,同时基于所述流传输格式,网页客户端可以帧播放方式播放视频流数据,将直播视频播放的延迟控制在帧级别,因此极大的降低了网页客户端播放直播视频时的延迟,实现了在网页上播放直播视频时降低延迟的目的。

下面对本发明实施例提供的转码服务器进行介绍,下文描述的转码服务器可与上文信令流程内容,及以转码服务器角度描述的视频直播方法相互对应参照。

图10为本发明实施例提供的转码服务器的结构框图,参照图10,转码服务器可以包括:

原始视频流数据接收模块100,用于接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

格式转换模块110,用于将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

视频流数据发送模块120,用于将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,所述原始格式可以为私有协议格式,所述流传输格式为RTMP格式,或RTMP的变种格式。

可选的,图11示出了本发明实施例提供的转码服务器的另一结构框图,结合图10和图11所示,该转码服务器还可以包括:

中断确定模块130,用于接收视频流分发服务器发送的原始视频流数据之后,若检测到所述原始视频流数据存在中断,确定所述原始视频流数据的中断位置;

数据替代模块140,用于在所述中断位置添加入替代的视频数据,得到连续的原始视频流数据。

相应的,格式转换模块110具体可将所述连续的原始视频流数据的格式由所述原始格式转换为预定的流传输格式。

可选的,图12示出了本发明实施例提供的数据替代模块140的一种可选结构,参照图12,数据替代模块140可以包括:

第一替代单元141,用于确定所述中断位置需替代的视频数据量,在所述原始视频流数据中断前的视频流数据的最后位置,选取与所述视频数据量相应的数据,在所述中断位置添加入所选取的数据。

可选的,图13示出了本发明实施例提供的数据替代模块140的另一种可选结构,参照图13,数据替代模块140可以包括:

第二替代单元142,用于选取所述原始视频流数据中断前的最后一个数据,根据所述最后一个数据确定与所述中断位置需替代的视频数据量相应的替代数据,在所述中断位置添加入所述替代数据。

可选的,转码服务器可以为硬件设备,上文描述的单元模块可以为设置于转码服务器内的功能模块;图14示出了转码服务器的硬件结构框图,参照图14,转码服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;

处理器1,用于执行程序;存储器3,用于存放程序;程序可以包括程序代码,所述程序代码包括计算机操作指令;

处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,程序可具体用于:

接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;

将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;

将所述流传输格式的视频流数据通过CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

下面对本发明实施例提供的网页客户端进行介绍,下文描述的网页客户端可与上文信令流程内容,及以网页客户端角度描述的视频直播方法相互对应参照。

图15为本发明实施例提供的网页客户端的结构框图,参照图15,该网页客户端可以包括:

视频流数据请求模块200,用于确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;

视频流数据接收模块210,用于接收CDN节点发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器将原始视频流数据的格式,由原始格式转换为预定的流传输格式后生成;

解析播放模块220,用于解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,所述原始格式可以为私有协议格式,所述流传输格式可以为RTMP格式,或RTMP的变种格式。

可选的,CDN节点可以包括多层级的CDN节点服务器;所述多层级的CDN节点服务器包括:与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;

相应的,图16示出了本发明实施例提供的视频流数据请求模块200的一种可选结构,参照图16,视频流数据请求模块200可以包括:

底层节点请求单元201,用于向与网页客户端通信的CDN底层节点服务器请求与所述播放地址对应的视频流数据。

相应的,图17示出了本发明实施例提供的视频流数据接收模块210的一种可选结构,参照图17,视频流数据接收模块210可以包括:

底层节点数据接收单元211,用于接收CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,CDN底层节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据,及CDN顶层节点服务器逐层级向CDN底层节点服务器发送与所述播放地址相应的流传输格式的视频流数据。

本发明实施例提供的网页客户端可设置于用户设备中,用户设备如手机、电脑等终端设备,图18示出了本发明实施例提供的设置有网页客户端的用户设备的硬件结构框图,参照图18,该用户设备可以包括:处理器1’,通信接口2’,存储器3’和通信总线4’;其中处理器1’、通信接口2’、存储器3’通过通信总线4’完成相互间的通信;可选的,通信接口2’可以为通信模块的接口,如GSM模块的接口;

处理器1’,用于执行程序;存储器3’,用于存放程序;程序可以包括程序代码,所述程序代码包括计算机操作指令;

处理器1’可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器3’可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,程序可具体用于:

确定直播视频的播放地址,向内容分发网络CDN节点请求与所述播放地址对应的视频流数据;

接收CDN节点发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器将原始视频流数据的格式,由原始格式转换为预定的流传输格式后生成;

解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,上文所示程序可整合在网页客户端所属程序中。

下面对本发明实施例提供的视频直播系统进行介绍,该视频直播系统的结构可以如图1所示,包括:视频流分发服务器10,转码服务器20,CDN节点30,和网页客户端40;

其中,所述视频流分发服务器用于,采集视频源提供的原始视频流数据,并将所述原始视频流数据发送给转码服务器,所述原始视频流数据的格式为预设的原始格式;

所述转码服务器,用于接收视频流分发服务器发送的原始视频流数据,将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据,将所述流传输格式的视频流数据发送给CDN节点;

所述CDN节点,用于将所述流传输格式的视频流数据发送给请求直播视频的网页客户端;

所述网页客户端,用于确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;及接收CDN节点发送的所述流传输格式的视频流数据,解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。

可选的,所述原始格式可以为私有协议格式,所述流传输格式可以为RTMP格式,或RTMP的变种格式。

图19示出了本发明实施例提供的视频直播系统的另一结构示意图,参照图19,所述CDN节点30可以包括多层级的CDN节点服务器;所述多层级的CDN节点服务器可以包括:与转码服务器通信的CDN顶层节点服务器31,与网页客户端通信的CDN底层节点服务器33,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器32;

其中,所述CDN底层节点服务器用于,根据网页客户端所请求的直播视频的播放地址,确定与所述播放地址对应的视频流数据,通过CDN中间节点服务器逐层级向CDN顶层节点服务器请求与所述播放地址对应的视频流数据;及接收CDN顶层节点服务器通过CDN中间节点服务器逐层级发送的,与所述播放地址相应的流传输格式的视频流数据,将所述流传输格式的视频流数据发送给所述网页客户端;

所述CDN中间节点服务器,用于将CDN底层节点服务器请求与所述播放地址对应的视频流数据的请求信息,逐层级发送至CDN顶层节点服务器;及将CDN顶层节点服务器发送的所述流传输格式的视频流数据,逐层级发送至CDN底层节点服务器;

所述CDN顶层节点服务器,用于接收CDN中间节点服务器逐层级发送的,所述CDN底层节点服务器所请求的与所述播放地址对应的视频流数据的请求信息;及将转码服务器发送的所述流传输格式的视频流数据,通过CDN中间节点服务器逐层级发送至所述CDN底层节点服务器。

本发明实施例通过流传输格式进行视频流数据至网页客户端的发送,因此视频流数据的传输延迟较低,同时基于所述流传输格式,网页客户端可以帧播放方式播放视频流数据,将直播视频播放的延迟控制在帧级别,因此极大的降低了网页客户端播放直播视频时的延迟;可见,本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号