CN105516739B - 一种视频直播方法、转码服务器、网页客户端及*** - Google Patents
一种视频直播方法、转码服务器、网页客户端及*** Download PDFInfo
- Publication number
- CN105516739B CN105516739B CN201510969968.XA CN201510969968A CN105516739B CN 105516739 B CN105516739 B CN 105516739B CN 201510969968 A CN201510969968 A CN 201510969968A CN 105516739 B CN105516739 B CN 105516739B
- Authority
- CN
- China
- Prior art keywords
- video stream
- stream data
- format
- cdn
- node server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000005540 biological transmission Effects 0.000 claims abstract description 118
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims 4
- 238000001514 detection method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 230000011664 signaling Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种视频直播方法、转码服务器、网页客户端及***,其中方法包括:接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;将所述流传输格式的视频流数据通过内容分发网络CDN节点发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。本发明实施例提供的视频直播方法可降低在网页上播放直播视频时的延迟。
Description
技术领域
本发明涉及视频技术领域,具体涉及一种视频直播方法、转码服务器、网页客户端及***。
背景技术
视频直播是指用户通过网络收看远端正在进行的现场音视频实况,比如赛事、会议、教学、手术等实况,由于视频直播可在本地再现远端的现场音视频实况,用户收看到的视频具有较高的实时性,因此近年来视频直播技术得到了较为迅猛的发展。
视频直播的方式主要是用户通过用户设备向直播服务器发起直播请求,直播服务器根据直播请求将直播频道的播放地址告知用户设备,用户设备根据该播放地址加入对应的组播组,实现在用户设备上播放直播视频;直播视频为用户所观看到的视频内容。
影响视频直播质量的一个主要因素为,用户设备播放直播视频时的延迟,较高的延迟较严重影响到互动视频直播的效果,和用户的直播视频收看体验,因此控制用户设备播放直播视频时的延迟处于较低水平,显得尤为必要。
目前,用户设备播放直播视频的常见方式为,通过专用的视频直播客户端播放直播视频和通过网页播放直播视频;专用的视频直播客户端一般由提供视频直播服务的服务提供商提供,因此专用的视频直播客户端在开发时,对于播放直播视频时的延迟一般有控制手段;而网页所承载的浏览器多种多样,这就导致通过网页播放直播视频时的延迟控制手段较难普及到所有的浏览器,因此通过网页播放直播视频的方式,相比于通过专用的视频直播客户端播放直播视频的方式,延迟较高。
可以看出,为提升互动视频直播的效果,提升用户的直播视频收看体验;如何降低在网页上播放直播视频时的延迟,成为本领域技术人员亟需的问题。
发明内容
有鉴于此,本发明实施例提供一种视频直播方法、转码服务器、网页客户端及***,以降低在网页上播放直播视频时的延迟。
为实现上述目的,本发明实施例提供如下技术方案:
一种视频直播方法,应用于转码服务器,所述方法包括:
接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;
将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;
将所述流传输格式的视频流数据通过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(Content Delivery Network,内容分发网络)节点30,和网页客户端40;
其中,视频流分发服务器10为采集视频源提供的原始视频流数据,并传输给专用的视频直播客户端和网页客户度的服务器;视频流分发服务器10可以由单台服务器实现,也可以由多台服务器组成的群组实现;
转码服务器20为本发明实施例设置的用于将视频流分发服务器10提供的视频流数据的原始格式,转换为流传输格式的服务器;转码服务器20可以由单台服务器实现,也可以由多台服务器组成的群组实现;
CDN节点30为本发明实施例设置的将转码服务器20转换后的流传输格式的视频流数据,以流形式分发给网页客户端的网络节点;CDN节点30可以由多层级的CDN节点服务器构成,各CDN节点服务器支持所述流传输格式的视频流数据的传输;
网页客户端40为设置于用户设备上的支持网页展示的客户端,如浏览器,设置于某一应用内的网页组件(如web组件)等。
基于图1所示视频直播***,图2示出了本发明实施例提供的视频直播方法的信令流程图,参照图2,该流程可以包括:
步骤S10、视频流分发服务器采集视频源提供的原始视频流数据,将所述原始视频流数据发送给转码服务器,所述原始视频流数据的格式为预设的原始格式;
可选的,预设的原始格式可以为提供视频直播服务的服务提供商所定义的私有协议格式;
另一方面,该私有协议格式的解析方式可在专用的视频直播客户端上约定,因此在专用的视频直播客户端播放直播视频的场景下,视频流分发服务器可将所述原始视频流数据发送给专用的视频直播客户端,由专用的视频直播客户端解析所述原始视频流数据,从而播放解析出的直播视频。
步骤S11、转码服务器将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式,得到流传输格式的视频流数据;
由于网页所承载的网页客户端(如浏览器)多种多样,并不能在所有的网页客户端都约定私有协议格式的解析方式,因此本发明实施例中,转码服务器需将原始视频流数据的格式转换为可被网页客户端解析的格式,即将所述原始视频流数据的格式由所述原始格式转换为预定的流传输格式;
可选的,预定的流传输格式可以为RTMP(Real Time Messaging Protocol,实时消息传输协议)格式,也可以是RTMP格式的变种流传输格式,如RTMPT(RTMP用http包装后的协议)、RTMPS(在RTMPT的基础上,增加了SSL(Secure Sockets Layer,安全套接层)的安全功能)、RTMPE(在RTMPT的基础上进行了加密)等格式。
步骤S12、转码服务器将所述流传输格式的视频流数据发送给CDN节点;
步骤S13、CDN节点将所述流传输格式的视频流数据发送给网页客户端;
CDN节点可以由多层级的CDN节点服务器构成,包括与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;CDN中间节点服务器的数量可以为至少一个,即一个或多个;
通过CDN顶层节点服务器,CDN中间节点服务器,CDN底层节点服务器,可使得所述流传输格式的视频流数据可以网络流的方式传输至网页客户端,提升视频流数据到达网页客户端的实时性,为降低直播视频在网页客户端的播放延迟提供可能。
步骤S14、网页客户端解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
由于流传输格式(如RTMP格式,或RTMP的变种格式)的属性,网页客户端解析流传输格式的视频流数据后,解析出的视频流数据是以帧数据的方式进行播放,并不是以小文件的方式进行播放,而网页客户端以帧播放方式(帧数据的方式播放)解析出的视频流数据,将使得网页客户端播放直播视频的延迟为帧级别的,这将极大的降低网页客户端播放直播视频时的延迟;
可选的,网页客户端中可设置Adobe Flash Player播放器,由Adobe FlashPlayer播放器实现以帧播放方式播放解析出的视频流数据;由于RTMP格式,或RTMP的变种格式是基于Adobe Flash Player播放器开发的标准协议,因此流传输格式的视频流数据的解析和播放将在网页客户端中得到很好的适配。
本发明实施例提供的视频直播方法中设置有转码服务器,可将原始视频流数据由预设的原始格式转换为可被网页客户端解析的流传输格式,得到流传输格式的视频流数据,从而通过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(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器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(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器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、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (20)
1.一种视频直播方法,其特征在于,应用于转码服务器,所述方法包括:
接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;
在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性;
依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装;
将所述流传输格式的视频流数据以网络流的方式依次通过内容分发网络CDN节点中的CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
2.根据权利要求1所述的视频直播方法,其特征在于,所述原始格式为私有协议格式,所述流传输格式为实时消息传输协议RTMP格式,或RTMP的变种格式。
3.根据权利要求1或2所述的视频直播方法,其特征在于,所述在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性包括:
若检测到所述原始视频流数据存在中断,确定所述原始视频流数据的中断位置,在所述中断位置添加入替代的视频数据,得到连续的原始视频流数据;
所述将所述原始视频流数据的格式由所述原始格式转换为可被网页客户端解析的预定的流传输格式包括:
将所述连续的原始视频流数据的格式由所述原始格式转换为可被网页客户端解析的预定的流传输格式。
4.根据权利要求3所述的视频直播方法,其特征在于,所述在所述中断位置添加入替代的视频数据包括:
确定所述中断位置需替代的视频数据量,在所述原始视频流数据中断前的视频流数据的最后位置,选取与所述视频数据量相应的数据,在所述中断位置添加入所选取的数据;
或,选取所述原始视频流数据中断前的最后一个数据,根据所述最后一个数据确定与所述中断位置需替代的视频数据量相应的替代数据,在所述中断位置添加入所述替代数据。
5.一种视频直播方法,其特征在于,应用于内容分发网络CDN节点,所述方法包括:
接收转码服务器在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性,依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装后,发送流传输格式的视频流数据,所述原始视频流数据的格式为预设的原始格式;
将所述流传输格式的视频流数据以网络流的方式依次通过CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
6.根据权利要求5所述的视频直播方法,其特征在于,原始格式为私有协议格式,所述流传输格式为实时消息传输协议RTMP格式,或RTMP的变种格式。
7.根据权利要求5或6所述的视频直播方法,其特征在于,所述CDN节点包括多层级的CDN节点服务器;所述多层级的CDN节点服务器包括:与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;
所述将所述流传输格式的视频流数据发送给请求直播视频的网页客户端包括:
CDN底层节点服务器根据网页客户端所请求的播放地址,确定与所述播放地址对应的视频流数据;
CDN底层节点服务器通过CDN中间节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据;
CDN底层节点服务器接收CDN顶层节点服务器通过CDN中间节点服务器逐层级发送的,与所述播放地址相应的流传输格式的视频流数据;
CDN底层节点服务器将所述流传输格式的视频流数据发送给所述网页客户端。
8.一种视频直播方法,其特征在于,应用于网页客户端,所述方法包括:
确定直播视频的播放地址,向内容分发网络CDN节点请求与所述播放地址对应的视频流数据;
接收CDN节点以网络流的方式依次通过CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性,依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装后生成,所述原始视频流数据的格式为预设的原始格式;
解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
9.根据权利要求8所述的视频直播方法,其特征在于,原始格式为私有协议格式,所述流传输格式为实时消息传输协议RTMP格式,或RTMP的变种格式。
10.根据权利要求8或9所述的视频直播方法,其特征在于,所述CDN节点包括多层级的CDN节点服务器;所述多层级的CDN节点服务器包括:与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;
所述向CDN节点请求与所述播放地址对应的视频流数据包括:
向与网页客户端通信的CDN底层节点服务器请求与所述播放地址对应的视频流数据;
所述接收CDN节点发送的预定的流传输格式的视频流数据包括:
接收CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,CDN底层节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据,及CDN顶层节点服务器逐层级向CDN底层节点服务器发送与所述播放地址相应的流传输格式的视频流数据。
11.一种转码服务器,其特征在于,包括:
原始视频流数据接收模块,用于接收视频流分发服务器发送的原始视频流数据,所述原始视频流数据的格式为预设的原始格式;格式转换模块,用于依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装;
视频流数据发送模块,用于将所述流传输格式的视频流数据以网络流的方式依次通过内容分发网络CDN节点中的CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送给请求直播视频的网页客户端,以便所述网页客户端在接收所述流传输格式的视频流数据后,使得网页客户端解析所述流传输格式的视频流数据,并使得网页客户端基于所述流传输格式,以帧播放方式播放解析出的视频流数据;
所述转码服务器还用于在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性。
12.根据权利要求11所述的转码服务器,其特征在于,所述原始格式为私有协议格式,所述流传输格式为实时消息传输协议RTMP格式,或RTMP的变种格式。
13.根据权利要求11或12所述的转码服务器,其特征在于,所述转码服务器具体包括:
中断确定模块,用于接收视频流分发服务器发送的原始视频流数据之后,若检测到所述原始视频流数据存在中断,确定所述原始视频流数据的中断位置;
数据替代模块,用于在所述中断位置添加入替代的视频数据,得到连续的原始视频流数据;
所述格式转换模块具体用于,将所述连续的原始视频流数据的格式由所述原始格式转换为预定的流传输格式。
14.根据权利要求13所述的转码服务器,其特征在于,所述数据替代模块包括:
第一替代单元,用于确定所述中断位置需替代的视频数据量,在所述原始视频流数据中断前的视频流数据的最后位置,选取与所述视频数据量相应的数据,在所述中断位置添加入所选取的数据;
或,第二替代单元,用于选取所述原始视频流数据中断前的最后一个数据,根据所述最后一个数据确定与所述中断位置需替代的视频数据量相应的替代数据,在所述中断位置添加入所述替代数据。
15.一种网页客户端,其特征在于,包括:
视频流数据请求模块,用于确定直播视频的播放地址,向内容分发网络CDN节点请求与所述播放地址对应的视频流数据;
视频流数据接收模块,用于接收CDN节点以网络流的方式依次通过CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,所述流传输格式的视频流数据由转码服务器在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性,依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装后生成,所述原始视频流数据的格式为预设的原始格式;
解析播放模块,用于解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
16.根据权利要求15所述的网页客户端,其特征在于,原始格式为私有协议格式,所述流传输格式为实时消息传输协议RTMP格式,或RTMP的变种格式。
17.根据权利要求15或16所述的网页客户端,其特征在于,所述CDN节点包括多层级的CDN节点服务器;所述多层级的CDN节点服务器包括:与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;
所述视频流数据请求模块包括:
底层节点请求单元,用于向与网页客户端通信的CDN底层节点服务器请求与所述播放地址对应的视频流数据;
所述视频流数据接收模块包括:
底层节点数据接收单元,用于接收CDN底层节点服务器发送的预定的流传输格式的视频流数据,其中,CDN底层节点服务器逐层级向CDN顶层节点服务器,请求与所述播放地址对应的视频流数据,及CDN顶层节点服务器逐层级向CDN底层节点服务器发送与所述播放地址相应的流传输格式的视频流数据。
18.一种视频直播***,其特征在于,包括:视频流分发服务器,转码服务器,内容分发网络CDN节点,和网页客户端;
其中,所述视频流分发服务器用于,采集视频源提供的原始视频流数据,并将所述原始视频流数据发送给转码服务器,所述原始视频流数据的格式为预设的原始格式;
所述转码服务器,用于接收视频流分发服务器发送的原始视频流数据,在检测到所接收的原始视频流数据中断时,在中断位置添加入替代的视频数据,保持转码为流传输格式的视频流数据的连续性,依据所述原始视频流数据的格式,解析出原始视频流数据的内容,根据预定的流传输格式的组包协议,将原始视频流数据的内容转变为可被网页客户端解析的预定的流传输格式,得到流传输格式的视频流数据,实现对流传输格式的视频流数据的封装,将所述流传输格式的视频流数据发送给CDN节点;
所述CDN节点,用于将所述流传输格式的视频流数据以网络流的方式依次通过CDN顶层节点服务器、CDN中间节点服务器、CDN底层节点服务器发送给请求直播视频的网页客户端;
所述网页客户端,用于确定直播视频的播放地址,向CDN节点请求与所述播放地址对应的视频流数据;及接收CDN节点发送的所述流传输格式的视频流数据,解析所述流传输格式的视频流数据,并基于所述流传输格式,以帧播放方式播放解析出的视频流数据。
19.根据权利要求18所述的视频直播***,其特征在于,所述CDN节点包括多层级的CDN节点服务器;所述多层级的CDN节点服务器包括:与转码服务器通信的CDN顶层节点服务器,与网页客户端通信的CDN底层节点服务器,及CDN顶层节点服务器和CDN底层节点服务器之间的CDN中间节点服务器;
其中,所述CDN底层节点服务器用于,根据网页客户端所请求的直播视频的播放地址,确定与所述播放地址对应的视频流数据,通过CDN中间节点服务器逐层级向CDN顶层节点服务器请求与所述播放地址对应的视频流数据;及接收CDN顶层节点服务器通过CDN中间节点服务器逐层级发送的,与所述播放地址相应的流传输格式的视频流数据,将所述流传输格式的视频流数据发送给所述网页客户端;
所述CDN中间节点服务器,用于将CDN底层节点服务器请求与所述播放地址对应的视频流数据的请求信息,逐层级发送至CDN顶层节点服务器;及将CDN顶层节点服务器发送的所述流传输格式的视频流数据,逐层级发送至CDN底层节点服务器;
所述CDN顶层节点服务器,用于接收CDN中间节点服务器逐层级发送的,所述CDN底层节点服务器所请求的与所述播放地址对应的视频流数据的请求信息;及将转码服务器发送的所述流传输格式的视频流数据,通过CDN中间节点服务器逐层级发送至所述CDN底层节点服务器。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至10任一项所述的视频直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510969968.XA CN105516739B (zh) | 2015-12-22 | 2015-12-22 | 一种视频直播方法、转码服务器、网页客户端及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510969968.XA CN105516739B (zh) | 2015-12-22 | 2015-12-22 | 一种视频直播方法、转码服务器、网页客户端及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105516739A CN105516739A (zh) | 2016-04-20 |
CN105516739B true CN105516739B (zh) | 2020-05-05 |
Family
ID=55724329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510969968.XA Active CN105516739B (zh) | 2015-12-22 | 2015-12-22 | 一种视频直播方法、转码服务器、网页客户端及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105516739B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872581A (zh) * | 2016-05-31 | 2016-08-17 | 深圳市佑嘉互动科技有限公司 | 一种提供视频直播间服务的***及方法 |
CN107517402A (zh) * | 2016-06-16 | 2017-12-26 | 广州市动景计算机科技有限公司 | 客户端及浏览器直播视频的录制方法与装置 |
CN106020852B (zh) * | 2016-06-30 | 2020-07-07 | 北京奇虎科技有限公司 | 运行窗口直播方法、***及浏览器 |
CN107846633B (zh) | 2016-09-18 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 一种直播方法及*** |
CN106503111B (zh) * | 2016-10-18 | 2017-12-26 | 广州市动景计算机科技有限公司 | 网页转码方法、装置及客户终端 |
CN106488263A (zh) * | 2016-10-24 | 2017-03-08 | 北京小米移动软件有限公司 | 推送直播流媒体数据的方法及装置 |
CN106534863A (zh) * | 2016-11-11 | 2017-03-22 | 协创数据技术股份有限公司 | 一种视频直播流转码装置 |
CN106686101B (zh) * | 2017-01-03 | 2020-07-17 | 北京奇虎科技有限公司 | 一种流数据的传输集群的调度方法和装置 |
CN107222755B (zh) * | 2017-06-27 | 2019-09-17 | 北京小米移动软件有限公司 | 节目发布方法、装置及*** |
CN107197363B (zh) * | 2017-07-04 | 2020-07-10 | 武汉斗鱼网络科技有限公司 | 一种视频播放方法及装置 |
CN107360226A (zh) * | 2017-07-11 | 2017-11-17 | 上海鋆创信息技术有限公司 | 直播视频的保存方法及装置 |
CN109756756B (zh) * | 2017-11-08 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 视频播放方法和视频播放装置 |
CN108173861A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 一种视频直播的方法、装置和直播分发连接器 |
CN108540816B (zh) * | 2018-03-28 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种直播视频获取方法、装置及存储介质 |
CN109257344B (zh) * | 2018-09-06 | 2021-01-26 | 广州高清视信数码科技股份有限公司 | 一种基于Docker容器技术的WebRTC媒体网关及其互通方法 |
CN109525578B (zh) * | 2018-11-12 | 2020-10-13 | 深圳市网心科技有限公司 | 一种cdn分发网络传输方法、装置、***以及存储介质 |
CN110049348B (zh) * | 2019-04-03 | 2022-04-05 | 网宿科技股份有限公司 | 一种视频解析方法、***及视频解析服务器 |
CN110099252B (zh) * | 2019-05-06 | 2021-01-08 | 四川效率源信息安全技术股份有限公司 | 一种转换监控视频为可播放视频的方法 |
CN110381340A (zh) * | 2019-06-10 | 2019-10-25 | 广州虎牙信息科技有限公司 | 视频文件处理*** |
CN110545439A (zh) * | 2019-08-29 | 2019-12-06 | 中邮科通信技术股份有限公司 | 一种基于流媒体服务的rtmp多并发直播***及方法 |
CN112511783A (zh) * | 2019-09-16 | 2021-03-16 | 武汉斗鱼网络科技有限公司 | 音视频流的混合显示方法、装置、服务器和存储介质 |
CN111107386A (zh) * | 2019-12-27 | 2020-05-05 | 北京达佳互联信息技术有限公司 | 直播视频的回看方法、装置、电子设备、***及存储介质 |
CN111757136A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 网页音频直播方法、装置、设备和存储介质 |
CN112333466B (zh) * | 2020-11-02 | 2023-05-09 | 创盛视联数码科技(北京)有限公司 | 视频处理方法、装置及*** |
CN113068059B (zh) * | 2021-03-22 | 2022-12-13 | 平安普惠企业管理有限公司 | 视频直播方法、装置、设备及存储介质 |
CN113794932A (zh) * | 2021-09-15 | 2021-12-14 | 云茂互联智能科技(厦门)有限公司 | 网页端播放视频流的方法、装置、电子设备和存储介质 |
CN115002518B (zh) * | 2022-05-30 | 2024-03-22 | 咪咕视讯科技有限公司 | 数据监测方法、装置及计算机可读存储介质 |
CN114723181B (zh) * | 2022-06-07 | 2022-09-02 | 常州云燕医疗科技有限公司 | 基于区块链的数字一体化手术室信号传输***及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播***、方法及装置 |
WO2011090715A2 (en) * | 2009-12-28 | 2011-07-28 | Akamai Technologies, Inc. | Edge server for format-agnostic streaming architecture |
CN102231749A (zh) * | 2011-08-12 | 2011-11-02 | 乐视网信息技术(北京)股份有限公司 | 一种利用cdn网络传输直播流的***和方法 |
CN103826139A (zh) * | 2014-02-27 | 2014-05-28 | 北京六间房科技有限公司 | Cdn***、观看服务器以及流媒体数据传输方法 |
CN103986976A (zh) * | 2014-06-05 | 2014-08-13 | 北京赛维安讯科技发展有限公司 | 基于cdn网络的传输***及方法 |
CN103986942A (zh) * | 2014-06-05 | 2014-08-13 | 北京赛维安讯科技发展有限公司 | 基于cdn网络的数据分发***及方法 |
CN104185082A (zh) * | 2013-05-22 | 2014-12-03 | 深圳中兴网信科技有限公司 | 一种音/视频直播方法及***、客户端、服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656442B1 (en) * | 2007-11-21 | 2014-02-18 | BitGravity, Inc. | Efficient video delivery |
US8769031B1 (en) * | 2013-04-15 | 2014-07-01 | Upfront Media Group, Inc. | System and method for implementing a subscription-based social media platform |
-
2015
- 2015-12-22 CN CN201510969968.XA patent/CN105516739B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播***、方法及装置 |
WO2011090715A2 (en) * | 2009-12-28 | 2011-07-28 | Akamai Technologies, Inc. | Edge server for format-agnostic streaming architecture |
CN102231749A (zh) * | 2011-08-12 | 2011-11-02 | 乐视网信息技术(北京)股份有限公司 | 一种利用cdn网络传输直播流的***和方法 |
CN104185082A (zh) * | 2013-05-22 | 2014-12-03 | 深圳中兴网信科技有限公司 | 一种音/视频直播方法及***、客户端、服务器 |
CN103826139A (zh) * | 2014-02-27 | 2014-05-28 | 北京六间房科技有限公司 | Cdn***、观看服务器以及流媒体数据传输方法 |
CN103986976A (zh) * | 2014-06-05 | 2014-08-13 | 北京赛维安讯科技发展有限公司 | 基于cdn网络的传输***及方法 |
CN103986942A (zh) * | 2014-06-05 | 2014-08-13 | 北京赛维安讯科技发展有限公司 | 基于cdn网络的数据分发***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105516739A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105516739B (zh) | 一种视频直播方法、转码服务器、网页客户端及*** | |
US10826807B2 (en) | Media player analytics | |
US9967161B2 (en) | Coordinating analytics between media player and server | |
TWI580237B (zh) | 單一播放適應性位元率串流 | |
TWI574531B (zh) | 於相同視訊傳送管線內之客戶前提元件中將多重播放適應性位元率及單一播放適應性位元率與累進下載適應性位元率合併之技術 | |
US9762642B2 (en) | Storing and transmitting content for downloading and streaming | |
US20150200992A1 (en) | Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal | |
US20140297804A1 (en) | Control of multimedia content streaming through client-server interactions | |
US20180376177A1 (en) | System and methods for individualized digital video program insertion | |
US11356493B2 (en) | Systems and methods for cloud storage direct streaming | |
US11206297B2 (en) | Video streaming | |
CN104854838A (zh) | 用于向客户端设备分发视听内容的***和方法 | |
JP6329964B2 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
EP3001692A1 (en) | Streaming media processing method, apparatus and system | |
US20160330500A1 (en) | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments | |
US9118742B2 (en) | Delivering a video stream | |
CN103813185A (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
CN105872572A (zh) | 直播视频的处理方法及装置 | |
CN109005430A (zh) | 一种音/视频内容的点播方法、***、装置及存储介质 | |
CN108449613B (zh) | 一种融合多业务的cdn***、融合方法和装置 | |
Evensen et al. | Adaptive media streaming to mobile devices: challenges, enhancements, and recommendations | |
RU2663187C2 (ru) | Устройство и способ подачи содержания, программа, устройство терминала и система подачи содержания | |
Lazic et al. | One Implementation of adaptive streaming over HTTP on Android DTV platform | |
KR102123208B1 (ko) | 콘텐츠 공급 장치, 콘텐츠 공급 방법, 프로그램, 단말 장치, 및 콘텐츠 공급 시스템 | |
KR20100059117A (ko) | 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |