CN105516739B - Video live broadcast method, transcoding server, webpage client and system - Google Patents

Video live broadcast method, transcoding server, webpage client and system Download PDF

Info

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
Application number
CN201510969968.XA
Other languages
Chinese (zh)
Other versions
CN105516739A (en
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510969968.XA priority Critical patent/CN105516739B/en
Publication of CN105516739A publication Critical patent/CN105516739A/en
Application granted granted Critical
Publication of CN105516739B publication Critical patent/CN105516739B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

The embodiment of the invention provides a video live broadcast method, a transcoding server, a webpage client and a system, wherein the method comprises the following steps: receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format; converting the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in the stream transmission format; and sending the video stream data in the streaming format to a webpage client requesting for live video through a Content Delivery Network (CDN) node, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the streaming format. The video live broadcast method provided by the embodiment of the invention can reduce the delay when the live broadcast video is played on the webpage.

Description

Video live broadcast method, transcoding server, webpage client and system
Technical Field
The invention relates to the technical field of videos, in particular to a live video broadcasting method, a transcoding server, a webpage client and a system.
Background
The live video broadcast refers to that a user watches live audio and video live scenes, such as events, meetings, teaching, operations and the like, which are carried out at a far end through a network.
The video live broadcast mode is mainly that a user initiates a live broadcast request to a live broadcast server through user equipment, the live broadcast server informs the user equipment of a broadcast address of a live broadcast channel according to the live broadcast request, and the user equipment joins a corresponding multicast group according to the broadcast address to realize the broadcast of a live broadcast video on the user equipment; live video is video content viewed by a user.
One of the main factors affecting the quality of live video is the delay of the user equipment playing live video, and the higher delay seriously affects the interactive video live broadcast effect and the live video watching experience of the user, so it is particularly necessary to control the delay of the user equipment playing live video to be at a lower level.
Currently, a common way for a user equipment to play a live video is to play the live video through a dedicated live video client and play the live video through a web page; the special live video client is generally provided by a service provider providing live video service, so that the special live video client generally has a control means for delay in playing live video during development; the browsers borne by the web pages are various, so that the delay control means when the live video is played through the web pages is difficult to popularize in all the browsers, and therefore the delay is higher in a mode of playing the live video through the web pages compared with a mode of playing the live video through a special video live client.
Therefore, in order to improve the effect of interactive video live broadcast, the live video watching experience of a user is improved; how to reduce the delay of playing live video on a web page becomes a problem that those skilled in the art need urgently.
Disclosure of Invention
In view of this, embodiments of the present invention provide a video live broadcasting method, a transcoding server, a web page client and a system, so as to reduce delay when a live video is played on a web page.
In order to achieve the above purpose, the embodiments of the present invention provide the following technical solutions:
a video live broadcast method is applied to a transcoding server and comprises the following steps:
receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format;
converting the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in the stream transmission format;
and sending the video stream data in the streaming format to a webpage client requesting for live video through a CDN node, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the streaming format.
The embodiment of the invention also provides a video live broadcast method, which is applied to the CDN node and comprises the following steps:
receiving video stream data in a streaming transmission format sent by a transcoding server after converting the format of the original video stream data from the original format into a predetermined streaming transmission format;
and sending the video stream data in the streaming format to a webpage client requesting for live video, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the streaming format.
The embodiment of the invention also provides a video live broadcast method which is applied to the webpage client and comprises the following steps:
determining a playing address of a live video, and requesting video stream data corresponding to the playing address from a CDN node;
receiving video stream data in a preset stream transmission format sent by a CDN node, wherein the video stream data in the stream transmission format is generated by converting the format of original video stream data into a preset stream transmission format through a transcoding server;
and analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing mode based on the streaming format.
An embodiment of the present invention further provides a transcoding server, including:
the system comprises an original video stream data receiving module, a video stream distribution server and a video processing module, wherein the original video stream data receiving module is used for receiving original video stream data sent by the video stream distribution server, and the format of the original video stream data is a preset original format;
the format conversion module is used for converting the format of the original video stream data from the original format to a preset stream transmission format to obtain video stream data in the stream transmission format;
and the video stream data sending module is used for sending the video stream data in the stream transmission format to a webpage client requesting for live video through a CDN node, so that the webpage client analyzes the video stream data in the stream transmission format after receiving the video stream data in the stream transmission format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the stream transmission format.
An embodiment of the present invention further provides a web page client, including:
the video streaming data request module is used for determining a playing address of a live video and requesting video streaming data corresponding to the playing address to the CDN node;
the video stream data receiving module is used for receiving video stream data in a preset stream transmission format sent by a CDN node, wherein the format of the video stream data in the stream transmission format is generated by converting the original format into the preset stream transmission format through a transcoding server;
and the analysis playing module is used for analyzing the video stream data in the streaming format and playing the analyzed video stream data in a frame playing mode based on the streaming format.
An embodiment of the present invention further provides a video live broadcasting system, including: the system comprises a video stream distribution server, a transcoding server, CDN nodes and a webpage client;
the video stream distribution server is used for collecting original video stream data provided by a video source and sending the original video stream data to the transcoding server, wherein the format of the original video stream data is a preset original format;
the transcoding server is used for receiving original video stream data sent by the video stream sending server, converting the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in a stream transmission format, and sending the video stream data in the stream transmission format to the CDN node;
the CDN node is used for sending the video stream data in the stream transmission format to a webpage client requesting for live video;
the webpage client is used for determining a playing address of a live video and requesting video stream data corresponding to the playing address from a CDN node; and receiving the video stream data in the streaming format sent by the CDN node, analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing manner based on the streaming format.
Based on the technical scheme, the video live broadcast method provided by the embodiment of the invention is provided with the transcoding server, and can convert original video stream data from a preset original format into a streaming format capable of being analyzed by the webpage client to obtain the video stream data in the streaming format, so that the video stream data in the streaming format is sent to the webpage client through the CDN node, the webpage client analyzes the video stream data in the streaming format, and the analyzed video stream data is played in a frame playing mode based on the streaming format; because the embodiment of the invention transmits the video stream data to the webpage client through the stream transmission format, the transmission delay of the video stream data is lower, and simultaneously, based on the stream transmission format, the webpage client can play the video stream data in a frame playing mode and control the delay of the live video playing at a frame level, thereby greatly reducing the delay of the webpage client in playing the live video; therefore, the video live broadcast method provided by the embodiment of the invention can reduce the delay when the live broadcast video is played on the webpage.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a video live broadcasting system according to an embodiment of the present invention;
fig. 2 is a signaling flowchart of a video live broadcasting method according to an embodiment of the present invention;
fig. 3 is a flowchart of a video live broadcasting method according to an embodiment of the present invention;
fig. 4 is another flowchart of a video live broadcasting method according to an embodiment of the present invention;
fig. 5 is a further flowchart of a video live broadcasting method according to an embodiment of the present invention;
fig. 6 is a flowchart of a method for sending video stream data to a web client according to an embodiment of the present invention;
fig. 7 is a flowchart of a video live broadcasting method according to an embodiment of the present invention;
FIG. 8 is yet another flow chart of a method for live video provided in accordance with an embodiment of the present invention;
fig. 9 is a schematic diagram of an application example provided in the embodiment of the present invention;
fig. 10 is a block diagram of a transcoding server according to an embodiment of the present invention;
fig. 11 is another block diagram of a transcoding server according to an embodiment of the present invention;
FIG. 12 is a block diagram of a data substitution module according to an embodiment of the present invention;
FIG. 13 is another block diagram of a data substitution module according to an embodiment of the present invention;
fig. 14 is a block diagram of a hardware structure of a transcoding server according to an embodiment of the present invention;
fig. 15 is a block diagram of a web client according to an embodiment of the present invention;
fig. 16 is a block diagram illustrating a structure of a video stream data request module according to an embodiment of the present invention;
fig. 17 is a block diagram of a video stream data receiving module according to an embodiment of the present invention;
fig. 18 is a block diagram of a hardware structure of a user equipment according to an embodiment of the present invention;
fig. 19 is another schematic structural diagram of a video live broadcasting system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic structural diagram of a live video system according to an embodiment of the present invention, where a live video method according to an embodiment of the present invention can be implemented by the live video system; referring to fig. 1, the video live system may include: a video stream distribution server 10, a transcoding server 20, a CDN (Content Delivery Network) node 30, and a web client 40;
the video stream distribution server 10 collects original video stream data provided by a video source and transmits the original video stream data to a special video live broadcast client and a server of a webpage client; the video stream distribution server 10 may be implemented by a single server, or may be implemented by a group of multiple servers;
the transcoding server 20 is a server configured in an embodiment of the present invention, and configured to convert an original format of video stream data provided by the video stream distribution server 10 into a streaming format; the transcoding server 20 may be implemented by a single server or a group of multiple servers;
the CDN node 30 is a network node that distributes, in a streaming form, the video stream data in the streaming format converted by the transcoding server 20 to the web client, according to the embodiment of the present invention; the CDN node 30 may be configured by a plurality of CDN node servers, where each CDN node server supports transmission of video stream data in the streaming format;
the web page client 40 is a client supporting web page display, such as a browser, disposed on a user device, a web page component (e.g., a web component) disposed in an application, and the like.
Based on the video live broadcast system shown in fig. 1, fig. 2 shows a signaling flow chart of a video live broadcast method provided by an embodiment of the present invention, and referring to fig. 2, the flow may include:
step S10, the video stream distribution server collects original video stream data provided by a video source and sends the original video stream data to the transcoding server, wherein the format of the original video stream data is a preset original format;
optionally, the preset original format may be a proprietary protocol format defined by a service provider providing a video live broadcast service;
on the other hand, the parsing mode of the private protocol format can be agreed on a special live video client, so that in a scene that the special live video client plays live video, the video stream distribution server can send the original video stream data to the special live video client, and the special live video client parses the original video stream data, so that the parsed live video is played.
Step S11, the transcoding server converts the format of the original video stream data from the original format into a predetermined stream transmission format to obtain video stream data in the stream transmission format;
because web page clients (such as browsers) borne by web pages are various and cannot agree with the analysis mode of a private protocol format on all the web page clients, in the embodiment of the present invention, a transcoding server needs to convert the format of original video stream data into a format capable of being analyzed by a web page client, that is, the format of the original video stream data is converted from the original format into a predetermined stream transmission format;
optionally, the predetermined streaming format may be an RTMP (Real Time Messaging Protocol) format, or may be a variant streaming format of the RTMP format, such as RTMPT (Protocol in which RTMP is packed with http), RTMPs (security function of SSL (Secure Sockets Layer) is added on the basis of RTMPT), RTMPE (encryption is performed on the basis of RTMPT), and the like.
Step S12, the transcoding server sends the video stream data in the stream transmission format to a CDN node;
step S13, the CDN node sends the video stream data in the stream transmission format to a webpage client;
the CDN node can be composed of a plurality of layers of CDN node servers and comprises a CDN top-layer node server communicated with the transcoding server, a CDN bottom-layer node server communicated with the webpage client and a CDN middle node server between the CDN top-layer node server and the CDN bottom-layer node server; the number of CDN intermediate node servers may be at least one, i.e., one or more;
through the CDN top-level node server, the CDN middle-level node server and the CDN bottom-level node server, the video stream data in the stream transmission format can be transmitted to the webpage client in a network stream mode, the instantaneity of the video stream data reaching the webpage client is improved, and the possibility of reducing the playing delay of the live video at the webpage client is provided.
Step S14, the web client parses the video stream data in the streaming format, and plays the parsed video stream data in a frame playing manner based on the streaming format.
Due to the attribute of the streaming format (such as the RTMP format or the variant format of the RTMP), after the webpage client analyzes the video stream data of the streaming format, the analyzed video stream data is played in a frame data mode and is not played in a small file mode, and the webpage client analyzes the video stream data in a frame playing mode (the frame data mode is played), so that the delay of the webpage client playing the live video is in a frame level, and the delay of the webpage client playing the live video is greatly reduced;
optionally, an Adobe Flash Player can be set in the web client, and the Adobe Flash Player can play the analyzed video stream data in a frame playing manner; since the RTMP format, or a variant format of RTMP, is based on a standard protocol developed by an Adobe Flash Player Player, parsing and playing of video stream data in streaming format will be well adapted in a web client.
The video live broadcasting method provided by the embodiment of the invention is provided with the transcoding server, original video stream data can be converted into a streaming format which can be analyzed by a webpage client from a preset original format to obtain the video stream data in the streaming format, so that the video stream data in the streaming format is sent to the webpage client through a CDN node, the video stream data in the streaming format is analyzed by the webpage client, and the analyzed video stream data is played in a frame playing mode based on the streaming format; because the embodiment of the invention transmits the video stream data to the webpage client through the stream transmission format, the transmission delay of the video stream data is lower, and simultaneously, based on the stream transmission format, the webpage client can play the video stream data in a frame playing mode and control the delay of the live video playing at a frame level, thereby greatly reducing the delay of the webpage client in playing the live video; therefore, the video live broadcast method provided by the embodiment of the invention can reduce the delay when the live broadcast video is played on the webpage.
In the following, the video live broadcasting method provided by the embodiment of the present invention is introduced from the perspective of the transcoding server, and the video live broadcasting method described below may be referred to in correspondence with the signaling flow content described above.
Fig. 3 is a flowchart of a live video broadcast method provided in an embodiment of the present invention, where the method is applicable to a transcoding server, and referring to fig. 3, the method may include:
step S100, receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format;
alternatively, the original format may be a proprietary protocol format defined by a service provider that provides the live video service.
Step S110, converting the format of the original video stream data from the original format to a preset stream transmission format to obtain video stream data in the stream transmission format;
optionally, the transcoding server may parse the content of the original video stream data according to the original format, so as to convert the content of the original video stream data into a predetermined stream transmission format according to a packet protocol of the predetermined stream transmission format, thereby implementing encapsulation of the video stream data in the stream transmission format;
optionally, the predetermined streaming format may be an RTMP format, or a variant format of RTMP; taking the predetermined streaming format as the RTMP format as an example, in the embodiment of the present invention, the transcoding server may parse the content of the original video stream data according to the proprietary protocol format, and further encapsulate the content of the original video stream data into the RTMP format according to the packetization protocol of the RTMP format, so as to obtain the video stream data in the RTMP format.
Step S120, sending the video stream data in the streaming format to a web page client requesting for live video through a CDN node, so that after the web page client receives the video stream data in the streaming format, the web page client parses the video stream data in the streaming format, and the web page client plays the parsed video stream data in a frame playing manner based on the streaming format.
The video live broadcasting method provided by the embodiment of the invention comprises the following steps: the method comprises the steps that a transcoding server receives original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format; the transcoding server converts the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in the stream transmission format; and the transcoding server sends the video stream data in the streaming format to a webpage client requesting for live video through a CDN node, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the streaming format.
The video live broadcasting method provided by the embodiment of the invention is provided with the transcoding server, original video stream data can be converted into a streaming format which can be analyzed by a webpage client from a preset original format to obtain the video stream data in the streaming format, so that the video stream data in the streaming format is sent to the webpage client through a CDN node, the video stream data in the streaming format is analyzed by the webpage client, and the analyzed video stream data is played in a frame playing mode based on the streaming format; because the embodiment of the invention transmits the video stream data to the webpage client through the stream transmission format, the transmission delay of the video stream data is lower, and simultaneously, based on the stream transmission format, the webpage client can play the video stream data in a frame playing mode and control the delay of the live video playing at a frame level, thereby greatly reducing the delay of the webpage client in playing the live video; therefore, the video live broadcast method provided by the embodiment of the invention can reduce the delay when the live broadcast video is played on the webpage.
Optionally, when the transcoding server receives the original video stream data sent by the video stream distribution server, the received original video stream data may be interrupted, which may cause the video stream data sent by the transcoding server to the CDN node to be also interrupted, thereby affecting live video streaming; based on this, the transcoding server may add alternative video data at the interruption position when detecting interruption of the received original video stream data, to maintain continuity of the video stream data transcoded into the streaming format;
correspondingly, fig. 4 shows another flowchart of a video live broadcasting method provided by an embodiment of the present invention, and referring to fig. 4, the method may include:
step S200, receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format;
step S210, if the interruption of the original video stream data is detected, determining the interruption position of the original video stream data, and adding alternative video data into the interruption position to obtain continuous original video stream data;
optionally, the embodiment of the present invention may determine the amount of video data to be replaced at the interruption position, so that data corresponding to the amount of the video data is selected at the last position of the video stream data before the interruption of the original video stream data, and the selected data is added at the interruption position;
optionally, in the embodiment of the present invention, the last data before the interruption of the original video stream data may be selected, and the replacement data corresponding to the amount of the video data to be replaced at the interruption position is determined according to the last data (for example, the last data is copied, and the replacement data corresponding to the amount of the video data to be replaced is created by using a plurality of copied last data), so that the replacement data is added at the interruption position.
Step S220, converting the format of the continuous original video stream data from the original format to a preset stream transmission format to obtain video stream data in the stream transmission format;
step 230, sending the video stream data in the streaming format to a web client requesting for live video through a CDN node, so that after the web client receives the video stream data in the streaming format, the web client parses the video stream data in the streaming format, and the web client plays the parsed video stream data in a frame playing manner based on the streaming format.
The video live broadcast method provided by the embodiment of the invention is introduced from the perspective of a CDN node, and the video live broadcast method described below may be referred to in correspondence with the signaling flow content described above and the video live broadcast method described from the perspective of the transcoding server.
Fig. 5 is a further flowchart of a live video broadcast method according to an embodiment of the present invention, where the method is applicable to a CDN node, and referring to fig. 5, the method may include:
step S300, receiving video stream data in a streaming transmission format sent by a transcoding server after converting the format of the original video stream data from the original format into a preset streaming transmission format;
step S310, sending the video stream data in the streaming format to a webpage client requesting for live video, so that the webpage client can analyze the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client can play the analyzed video stream data in a frame playing manner based on the streaming format.
Optionally, the preset original format may be a proprietary protocol format defined by a service provider providing a video live broadcast service; the predetermined streaming format may be an RTMP format, or a variant of RTMP.
Optionally, the CDN node may include a multi-tier CDN node server; the multi-level CDN node servers can comprise a CDN top-level node server communicated with the transcoding server, a CDN bottom-level node server communicated with the webpage client and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
optionally, the CDN underlying node server in communication with the web client may be the closest CDN node server to the web client; when a webpage client requests for live broadcast video stream data, the webpage client can request video stream data from a nearest CDN node server, and the nearest CDN node server requests the video stream data from a CDN top node server layer by layer, so that the video stream data is transmitted layer by layer from the CDN top node server to a CDN middle node server to the CDN bottom node server to the webpage client;
fig. 6 is a flowchart illustrating a method for sending video stream data to a web client according to an embodiment of the present invention, and referring to fig. 6, the method may include:
step S400, a CDN bottom node server communicated with a webpage client determines video stream data corresponding to a playing address according to the playing address requested by the webpage client;
optionally, the playing address may be notified by the live broadcast server after the web page client requests the live broadcast server; after determining the playing address, the web page client may request the video stream data corresponding to the playing address from the closest CDN node server (i.e., CDN underlying node server).
Step S410, a CDN bottom node server requests video stream data corresponding to the playing address from a CDN middle node server to a CDN top node server layer by layer;
specifically, the CDN bottom node server may request video stream data from a server in the CDN intermediate node server that communicates with the CDN bottom node server; the server can request video stream data from a server at the upper layer in the CDN middle node server, and the like until the request of the video stream data reaches a top layer server in the CDN middle node server, and the top layer server requests the video stream data from the CDN top layer node server, so that the video stream data is transmitted from a CDN bottom layer node server to the CDN top layer node server layer by layer.
Step S420, a CDN bottom node server receives video stream data which is sent layer by a CDN top node server through a CDN middle node server and has a stream transmission format corresponding to the playing address;
correspondingly, the CDN top node server may send the streaming format video stream data sent by the transcoding server to the CDN bottom node server layer by layer through the CDN intermediate node server, so that the CDN bottom node server obtains the video stream data, so as to subsequently send the video stream data to the communicating web client.
And step S430, the CDN bottom node server sends the video stream data in the stream transmission format to the webpage client.
Optionally, in order to enable the CDN nodes to support transmission of video stream data in a streaming format, in the embodiment of the present invention, a streaming transmission distributor may be disposed in each CDN node server (including a CDN top node server, a CDN middle node server, and a CDN bottom node server), where the streaming transmission distributor may identify the video stream data in the streaming format and implement layer-by-layer transmission of the video stream data in the streaming format; obviously, the CDN nodes may support transmission of data in other formats in addition to transmission of video stream data in a stream transmission format, and each corresponding CDN node server needs to set a data distributor in a corresponding format.
The video live broadcast method provided by the embodiment of the invention is introduced from the perspective of the webpage client, and the video live broadcast method described below can be correspondingly referred to with the signaling flow content described above and the video live broadcast method described in the perspective of the transcoding server and the CDN node.
Fig. 7 is another flowchart of a video live broadcasting method provided in an embodiment of the present invention, where the method is applicable to a web client, and referring to fig. 7, the method may include:
step S500, determining a playing address of a live video, and requesting video stream data corresponding to the playing address from a CDN node;
optionally, the web page client may initiate a live broadcast request to the live broadcast server, and the live broadcast server may notify the user equipment of a play address of a live broadcast channel according to the live broadcast request, so that the web page client determines the play address of the live broadcast video;
after the webpage client determines the playing address, the webpage client can request corresponding video stream data from the CDN node, so that the CDN node can distribute the video stream data to the webpage client.
Step S510, receiving video stream data in a predetermined streaming format sent by a CDN node, where the video stream data in the streaming format is generated by a transcoding server converting a format of original video stream data from an original format into a predetermined streaming format;
optionally, the video stream data in the streaming format sent by the CDN node to the web page client may be obtained by the transcoding server, and after the transcoding server converts the format of the original video stream data from the original format into a predetermined streaming format, the transcoding server may send the video stream data in the streaming format to the CDN node.
Step S520, analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing mode based on the streaming format.
Optionally, the preset original format may be a proprietary protocol format defined by a service provider providing a video live broadcast service; the predetermined streaming format may be an RTMP format, or a variant of RTMP.
Optionally, the CDN node may include a multi-tier CDN node server; the multi-level CDN node servers can comprise a CDN top-level node server communicated with the transcoding server, a CDN bottom-level node server communicated with the webpage client and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
optionally, the CDN underlying node server in communication with the web client may be the closest CDN node server to the web client;
correspondingly, the webpage client can request the video stream data corresponding to the playing address from the CDN bottom layer node server; the CDN bottom node server requests video stream data corresponding to the playing address from the CDN middle node server to the CDN top node server layer by layer; therefore, the CDN top node server can send video stream data in a stream transmission format corresponding to the playing address to the CDN bottom node server layer by layer through the CDN middle node server; the CDN bottom node server sends the video stream data in the stream transmission format to the webpage client, so that the webpage client receives the video stream data in the stream transmission format from the CDN node;
optionally, fig. 8 shows another flowchart of a video live broadcasting method provided by the implementation of the present invention, where the method is applicable to a web client, and referring to fig. 8, the method may include:
step S600, determining a playing address of a live video, and requesting video stream data corresponding to the playing address from a CDN bottom node server communicated with a webpage client;
step S610, receiving video stream data in a predetermined streaming format sent by a CDN bottom node server, where the CDN bottom node server may send video stream data corresponding to the play address to a CDN top node server layer by layer, and the CDN top node server may send video stream data in a streaming format corresponding to the play address to the CDN bottom node server layer by layer;
step S620, analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing mode based on the streaming format.
An application example of the video live broadcasting method provided by the embodiment of the present invention is described below, and fig. 9 shows a schematic diagram of the application example provided by the embodiment of the present invention; referring to fig. 9, a video source collects live video data (the collected video data may be video data of a game site, video data of an event site, etc.), converts the video data into video stream data in a proprietary protocol format, and sends the video stream data to a video stream distribution server; on one hand, the video stream distribution server sends the video stream data in the private protocol format to a special video live broadcast client (such as a special android video live broadcast client, a special IOS video live broadcast client and the like), the special video live broadcast client analyzes the video stream data in the private protocol format, and the analyzed video stream data is played;
on the other hand, the video stream distribution server sends the video stream data in the private protocol format to the transcoding server, and the transcoding server converts the video stream data in the private protocol format into video stream data in the RTMP format; the transcoding server sends the video stream data in the RTMP format to the CDN node; the CDN node transmits video stream data in an RTMP format to a webpage client requesting for live video in a transmission mode level by level; and the webpage client analyzes the video stream data in the RTMP format and plays the analyzed video stream data in a frame playing mode based on the RTMP format.
The video live broadcasting method provided by the embodiment of the invention transmits the video stream data to the webpage client through the stream transmission format, so that the transmission delay of the video stream data is lower, and meanwhile, based on the stream transmission format, the webpage client can play the video stream data in a frame playing mode, and the delay of the live video playing is controlled at a frame level, so that the delay of the webpage client in playing the live video is greatly reduced, and the purpose of reducing the delay of the webpage client in playing the live video is realized.
In the following, the transcoding server provided in the embodiment of the present invention is introduced, and the transcoding server described below may be referred to in correspondence with the content of the signaling flow above and the video live broadcast method described in the angle of the transcoding server.
Fig. 10 is a block diagram of a transcoding server according to an embodiment of the present invention, and referring to fig. 10, the transcoding server may include:
an original video stream data receiving module 100, configured to receive original video stream data sent by a video stream distribution server, where a format of the original video stream data is a preset original format;
a format conversion module 110, configured to convert the format of the original video stream data from the original format to a predetermined streaming format, so as to obtain video stream data in the streaming format;
the video stream data sending module 120 is configured to send the video stream data in the streaming format to a web client requesting for live video through a CDN node, so that after the web client receives the video stream data in the streaming format, the web client parses the video stream data in the streaming format, and the web client plays the parsed video stream data in a frame playing manner based on the streaming format.
Optionally, the original format may be a proprietary protocol format, and the streaming format is an RTMP format, or a variant format of RTMP.
Optionally, fig. 11 shows another structural block diagram of the transcoding server provided in the embodiment of the present invention, and in combination with fig. 10 and fig. 11, the transcoding server may further include:
an interruption determining module 130, configured to determine, after receiving original video stream data sent by a video stream distribution server, an interruption position of the original video stream data if it is detected that there is an interruption in the original video stream data;
and a data replacement module 140, configured to add replacement video data at the interruption position to obtain continuous original video stream data.
Accordingly, the format conversion module 110 may specifically convert the format of the continuous original video stream data from the original format to a predetermined streaming format.
Alternatively, fig. 12 shows an alternative structure of the data replacement module 140 provided in the embodiment of the present invention, and referring to fig. 12, the data replacement module 140 may include:
a first replacing unit 141, configured to determine an amount of video data to be replaced at the interruption position, select, at a last position of the video stream data before interruption of the original video stream data, data corresponding to the amount of the video data, and add the selected data to the interruption position.
Alternatively, fig. 13 shows another optional structure of the data replacement module 140 provided in the embodiment of the present invention, and referring to fig. 13, the data replacement module 140 may include:
a second replacing unit 142, configured to select the last data before the interruption of the original video stream data, determine, according to the last data, replacement data corresponding to the amount of video data to be replaced at the interruption position, and add the replacement data to the interruption position.
Optionally, the transcoding server may be a hardware device, and the unit module described above may be a functional module disposed in the transcoding server; fig. 14 is a block diagram showing a hardware configuration of the transcoding server, and referring to fig. 14, the transcoding server may include: a processor 1, a communication interface 2, a memory 3 and a communication bus 4; wherein, the processor 1, the communication interface 2 and the memory 3 complete the communication with each other through the communication bus 4; optionally, the communication interface 2 may be an interface of a communication module, such as an interface of a GSM module;
a processor 1 for executing a program; a memory 3 for storing a program; the program may include program code comprising computer operating instructions;
the processor 1 may be a central processing unit CPU, or an application specific Integrated circuit asic, or one or more Integrated circuits configured to implement embodiments of the present invention; the memory 3 may comprise a high-speed RAM memory, and may further comprise a non-volatile memory (non-volatile memory), such as at least one disk memory.
Among them, the procedure can be specifically used for:
receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format;
converting the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in the stream transmission format;
and sending the video stream data in the streaming format to a webpage client requesting for live video through a CDN node, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing manner based on the streaming format.
In the following, the web client provided by the embodiment of the present invention is introduced, and the web client described below may be referred to in correspondence with the content of the signaling flow in the above and the video live broadcast method described in terms of the web client.
Fig. 15 is a block diagram of a structure of a web page client according to an embodiment of the present invention, and referring to fig. 15, the web page client may include:
a video stream data request module 200, configured to determine a playing address of a live video, and request a CDN node for video stream data corresponding to the playing address;
a video stream data receiving module 210, configured to receive video stream data in a predetermined stream transmission format sent by a CDN node, where the video stream data in the stream transmission format is generated by a transcoding server converting a format of original video stream data from an original format into a predetermined stream transmission format;
the parsing playing module 220 is configured to parse the video stream data in the streaming format, and play the parsed video stream data in a frame playing manner based on the streaming format.
Alternatively, the original format may be a proprietary protocol format, and the streaming format may be an RTMP format, or a variant format of RTMP.
Optionally, the CDN node may include a multi-tier CDN node server; the multi-level CDN node server comprises: the system comprises a CDN top-level node server communicated with a transcoding server, a CDN bottom-level node server communicated with a webpage client, and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
accordingly, fig. 16 shows an alternative structure of the video stream data request module 200 according to an embodiment of the present invention, and referring to fig. 16, the video stream data request module 200 may include:
a bottom node requesting unit 201, configured to request, from a CDN bottom node server in communication with the web page client, video stream data corresponding to the play address.
Accordingly, fig. 17 shows an alternative structure of the video stream data receiving module 210 according to an embodiment of the present invention, and referring to fig. 17, the video stream data receiving module 210 may include:
the bottom node data receiving unit 211 is configured to receive video stream data in a predetermined streaming format sent by a CDN bottom node server, where the CDN bottom node server requests video stream data corresponding to the play address from a CDN top node server level by level, and the CDN top node server sends video stream data in a streaming format corresponding to the play address from the CDN bottom node server from the CDN top node server level by level.
The web page client provided by the embodiment of the present invention may be arranged in user equipment, such as terminal equipment like a mobile phone and a computer, fig. 18 shows a hardware structure block diagram of the user equipment provided with the web page client provided by the embodiment of the present invention, and referring to fig. 18, the user equipment may include: a processor 1 ', a communication interface 2', a memory 3 'and a communication bus 4'; the processor 1 ', the communication interface 2' and the memory 3 'are communicated with each other through a communication bus 4'; optionally, the communication interface 2' may be an interface of a communication module, such as an interface of a GSM module;
a processor 1' for executing a program; a memory 3' for storing a program; the program may include program code comprising computer operating instructions;
the processor 1' may be a central processing unit CPU, or an application specific Integrated circuit asic, or one or more Integrated circuits configured to implement embodiments of the present invention; the memory 3' may comprise a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
Among them, the procedure can be specifically used for:
determining a playing address of a live video, and requesting video stream data corresponding to the playing address from a Content Delivery Network (CDN) node;
receiving video stream data in a preset stream transmission format sent by a CDN node, wherein the video stream data in the stream transmission format is generated by converting the format of original video stream data into a preset stream transmission format through a transcoding server;
and analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing mode based on the streaming format.
Alternatively, the above-described program may be integrated into a program belonging to the web client.
The following introduces a live video system provided in an embodiment of the present invention, where a structure of the live video system may be as shown in fig. 1, and includes: a video stream distribution server 10, a transcoding server 20, a CDN node 30, and a web client 40;
the video stream distribution server is used for collecting original video stream data provided by a video source and sending the original video stream data to the transcoding server, wherein the format of the original video stream data is a preset original format;
the transcoding server is used for receiving original video stream data sent by the video stream sending server, converting the format of the original video stream data from the original format into a preset stream transmission format to obtain video stream data in a stream transmission format, and sending the video stream data in the stream transmission format to the CDN node;
the CDN node is used for sending the video stream data in the stream transmission format to a webpage client requesting for live video;
the webpage client is used for determining a playing address of a live video and requesting video stream data corresponding to the playing address from a CDN node; and receiving the video stream data in the streaming format sent by the CDN node, analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing manner based on the streaming format.
Alternatively, the original format may be a proprietary protocol format, and the streaming format may be an RTMP format, or a variant format of RTMP.
Fig. 19 is another schematic structural diagram of a live video broadcast system provided in an embodiment of the present invention, and referring to fig. 19, the CDN node 30 may include a CDN node server of multiple hierarchies; the multi-tier CDN node server may include: a CDN top node server 31 in communication with the transcoding server, a CDN bottom node server 33 in communication with the web client, and a CDN intermediate node server 32 between the CDN top node server and the CDN bottom node server;
the CDN bottom-layer node server is used for determining video stream data corresponding to a playing address according to the playing address of a live video requested by a webpage client, and requesting the video stream data corresponding to the playing address from a CDN top-layer node server layer by layer through a CDN middle node server; receiving video stream data of a streaming format corresponding to the playing address and sent by a CDN top node server layer by layer through a CDN middle node server, and sending the video stream data of the streaming format to the webpage client;
the CDN middle node server is used for sending request information of the CDN bottom layer node server for requesting video stream data corresponding to the playing address to the CDN top layer node server layer by layer; the video stream data in the stream transmission format sent by the CDN top-level node server is sent to the CDN bottom-level node server layer by layer;
the CDN top-level node server is used for receiving request information of video stream data corresponding to the playing address, which is sent by a CDN middle node server layer by layer and requested by a CDN bottom-level node server; and sending the video stream data in the stream transmission format sent by the transcoding server to the CDN bottom layer node server layer by layer through a CDN middle node server.
The embodiment of the invention transmits the video stream data to the webpage client through the stream transmission format, so the transmission delay of the video stream data is lower, and meanwhile, based on the stream transmission format, the webpage client can play the video stream data in a frame playing mode and control the delay of the live video playing at a frame level, thereby greatly reducing the delay of the webpage client in playing the live video; therefore, the video live broadcast method provided by the embodiment of the invention can reduce the delay when the live broadcast video is played on the webpage.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (20)

1. A live video broadcasting method is applied to a transcoding server, and comprises the following steps:
receiving original video stream data sent by a video stream distribution server, wherein the format of the original video stream data is a preset original format;
when the received original video stream data is detected to be interrupted, adding alternative video data at the interruption position, and keeping the continuity of the video stream data transcoded into a streaming format;
analyzing the content of the original video stream data according to the format of the original video stream data, converting the content of the original video stream data into a predetermined stream transmission format which can be analyzed by a webpage client according to a packaging protocol of the predetermined stream transmission format to obtain the video stream data in the stream transmission format, and realizing the packaging of the video stream data in the stream transmission format;
and sending the video stream data in the streaming format to a webpage client requesting for live video in a network streaming mode sequentially through a CDN top node server, a CDN middle node server and a CDN bottom node server in a content delivery network CDN node, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing mode based on the streaming format.
2. A method as claimed in claim 1, wherein said original format is a proprietary protocol format and said streaming format is a real time messaging protocol, RTMP, format or a variant of RTMP.
3. A method as claimed in claim 1 or 2, wherein said adding alternative video data at the interruption position when detecting interruption of the received original video stream data, and maintaining the continuity of the video stream data transcoded into streaming format comprises:
if the interruption of the original video stream data is detected, determining the interruption position of the original video stream data, and adding substituted video data into the interruption position to obtain continuous original video stream data;
the converting the format of the raw video stream data from the raw format to a predetermined streaming format that is parsable by a web client comprises:
and converting the format of the continuous original video stream data from the original format into a predetermined streaming format which can be analyzed by a webpage client.
4. A video live method according to claim 3, wherein said adding alternative video data at said interruption position comprises:
determining the amount of video data to be replaced at the interruption position, selecting data corresponding to the amount of the video data at the last position of the video stream data before the interruption of the original video stream data, and adding the selected data at the interruption position;
or, selecting the last data before the interruption of the original video stream data, determining the substitute data corresponding to the video data amount to be substituted at the interruption position according to the last data, and adding the substitute data at the interruption position.
5. A video live broadcast method is applied to a Content Delivery Network (CDN) node, and comprises the following steps:
when detecting that the received original video stream data is interrupted, the receiving transcoding server adds alternative video data at the interruption position, keeps the continuity of the video stream data transcoded into a streaming format, analyzes the content of the original video stream data according to the format of the original video stream data, converts the content of the original video stream data into a predetermined streaming format capable of being analyzed by a webpage client according to a predetermined packet protocol of the streaming format to obtain the video stream data of the streaming format, and sends the video stream data of the streaming format after realizing the encapsulation of the video stream data of the streaming format, wherein the format of the original video stream data is the preset original format;
and sending the video stream data in the streaming format to a webpage client requesting for live video in a network streaming mode sequentially through a CDN top-level node server, a CDN middle-level node server and a CDN bottom-level node server, so that the webpage client analyzes the video stream data in the streaming format after receiving the video stream data in the streaming format, and the webpage client plays the analyzed video stream data in a frame playing mode based on the streaming format.
6. A method as claimed in claim 5, wherein the original format is a proprietary protocol format and the streaming format is a Real Time Messaging Protocol (RTMP) format or a variant of RTMP.
7. The live video broadcasting method according to claim 5 or 6, wherein the CDN node comprises a plurality of tiers of CDN node servers; the multi-level CDN node server comprises: the system comprises a CDN top-level node server communicated with a transcoding server, a CDN bottom-level node server communicated with a webpage client, and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
the step of sending the video stream data in the streaming format to the webpage client requesting for live video comprises:
the CDN bottom node server determines video stream data corresponding to a playing address according to the playing address requested by the webpage client;
the CDN bottom node server requests video stream data corresponding to the playing address from the CDN middle node server to the CDN top node server layer by layer;
the CDN bottom node server receives video stream data which are sent by the CDN top node server layer by layer through the CDN middle node server and have a stream transmission format corresponding to the playing address;
and the CDN bottom layer node server sends the video stream data in the stream transmission format to the webpage client.
8. A video live broadcast method is applied to a webpage client, and comprises the following steps:
determining a playing address of a live video, and requesting video stream data corresponding to the playing address from a Content Delivery Network (CDN) node;
receiving video stream data of a predetermined stream transmission format sent by a CDN node in sequence through a CDN top node server, a CDN middle node server and a CDN bottom node server in a network stream mode, wherein the streaming format video stream data is transmitted by the transcoding server upon detection of an interruption of the received original video stream data, adding substituted video data at the interruption position, keeping the continuity of the video stream data transcoded into a streaming format, analyzing the content of the original video stream data according to the format of the original video stream data, converting the content of original video stream data into a predetermined stream transmission format which can be analyzed by a webpage client according to a package protocol of the predetermined stream transmission format to obtain the video stream data in the stream transmission format, and generating the video stream data in the stream transmission format after packaging the video stream data in the preset original format;
and analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing mode based on the streaming format.
9. A method as claimed in claim 8, wherein the original format is a proprietary protocol format and the streaming format is a real time messaging protocol, RTMP, format or a variant of RTMP.
10. A live video broadcasting method according to claim 8 or 9, wherein the CDN nodes comprise a plurality of hierarchical CDN node servers; the multi-level CDN node server comprises: the system comprises a CDN top-level node server communicated with a transcoding server, a CDN bottom-level node server communicated with a webpage client, and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
the requesting, from the CDN node, video stream data corresponding to the play address includes:
requesting video stream data corresponding to the playing address from a CDN bottom layer node server communicated with a webpage client;
the receiving of the video stream data in the predetermined stream transmission format sent by the CDN node includes:
and receiving video stream data in a preset stream transmission format sent by a CDN bottom layer node server, wherein the CDN bottom layer node server requests video stream data corresponding to the playing address to a CDN top layer node server layer by layer, and the CDN top layer node server sends the video stream data in the stream transmission format corresponding to the playing address to the CDN bottom layer node server layer by layer.
11. A transcoding server, comprising:
the system comprises an original video stream data receiving module, a video stream distribution server and a video processing module, wherein the original video stream data receiving module is used for receiving original video stream data sent by the video stream distribution server, and the format of the original video stream data is a preset original format; the format conversion module is used for analyzing the content of the original video stream data according to the format of the original video stream data, converting the content of the original video stream data into a preset stream transmission format which can be analyzed by a webpage client according to a packet protocol of the preset stream transmission format to obtain the video stream data of the stream transmission format, and realizing the encapsulation of the video stream data of the stream transmission format;
a video stream data sending module, configured to send the video stream data in the streaming format to a web client requesting for live video in a network stream manner sequentially through a CDN top-level node server, a CDN middle node server, and a CDN bottom-level node server in a content delivery network CDN node, so that after the web client receives the video stream data in the streaming format, the web client parses the video stream data in the streaming format, and plays the parsed video stream data in a frame play manner based on the streaming format;
the transcoding server is further configured to add the substitute video data at the interruption position when the interruption of the received original video stream data is detected, and to maintain the continuity of the video stream data transcoded into the streaming format.
12. The transcoding server of claim 11, wherein the original format is a proprietary protocol format and the streaming format is a real time messaging protocol, RTMP, format or a variant of RTMP.
13. The transcoding server of claim 11 or 12, wherein the transcoding server specifically comprises:
the interruption determining module is used for determining the interruption position of the original video stream data if the interruption of the original video stream data is detected after the original video stream data sent by the video stream distribution server is received;
the data substitution module is used for adding substituted video data at the interruption position to obtain continuous original video stream data;
the format conversion module is specifically configured to convert the format of the continuous original video stream data from the original format to a predetermined streaming format.
14. The transcoding server of claim 13, wherein the data replacement module comprises:
a first replacing unit, configured to determine an amount of video data to be replaced at the interruption position, select, at a last position of video stream data before interruption of the original video stream data, data corresponding to the amount of the video data, and add the selected data to the interruption position;
or, the second replacing unit is used for selecting the last data before the interruption of the original video stream data, determining the replacing data corresponding to the video data amount to be replaced at the interruption position according to the last data, and adding the replacing data at the interruption position.
15. A web client, comprising:
the video streaming data request module is used for determining a playing address of a live video and requesting video streaming data corresponding to the playing address from a Content Delivery Network (CDN) node;
a video stream data receiving module, configured to receive video stream data of a predetermined stream transmission format, where the video stream data of the stream transmission format is sent by a CDN node in a network stream manner through a CDN top-level node server, a CDN middle-level node server, and a CDN bottom-level node server in sequence, where when detecting that received original video stream data is interrupted by a transcoding server, substitute video data is added at an interruption position, continuity of the video stream data transcoded into a stream transmission format is maintained, content of the original video stream data is parsed according to a format of the original video stream data, the content of the original video stream data is converted into a predetermined stream transmission format that can be parsed by a web client according to a predetermined packet protocol of the stream transmission format, so as to obtain video stream data of the stream transmission format, and the video stream data of the stream transmission format is generated after being encapsulated, the format of the original video stream data is a preset original format;
and the analysis playing module is used for analyzing the video stream data in the streaming format and playing the analyzed video stream data in a frame playing mode based on the streaming format.
16. The web client of claim 15, wherein the original format is a proprietary protocol format and the streaming format is a real-time messaging protocol (RTMP) format or a variation of RTMP.
17. The web client of claim 15 or 16, wherein the CDN nodes comprise a plurality of tiers of CDN node servers; the multi-level CDN node server comprises: the system comprises a CDN top-level node server communicated with a transcoding server, a CDN bottom-level node server communicated with a webpage client, and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
the video stream data request module includes:
the bottom node request unit is used for requesting video stream data corresponding to the playing address from a CDN bottom node server communicated with a webpage client;
the video stream data receiving module includes:
and the bottom node data receiving unit is used for receiving video stream data in a preset stream transmission format sent by a CDN bottom node server, wherein the CDN bottom node server requests the video stream data corresponding to the playing address to a CDN top node server layer by layer, and the CDN top node server sends the video stream data in the stream transmission format corresponding to the playing address to the CDN bottom node server layer by layer.
18. A video live system, comprising: the system comprises a video stream distribution server, a transcoding server, a Content Delivery Network (CDN) node and a webpage client;
the video stream distribution server is used for collecting original video stream data provided by a video source and sending the original video stream data to the transcoding server, wherein the format of the original video stream data is a preset original format;
the transcoding server is used for receiving original video stream data sent by the video stream distribution server, adding alternative video data at an interruption position when the interruption of the received original video stream data is detected, maintaining the continuity of the video stream data transcoded into a streaming transmission format, analyzing the content of the original video stream data according to the format of the original video stream data, converting the content of the original video stream data into a predetermined streaming transmission format capable of being analyzed by a webpage client according to a predetermined streaming transmission format package protocol to obtain the video stream data in the streaming transmission format, realizing the packaging of the video stream data in the streaming transmission format, and sending the video stream data in the streaming transmission format to a CDN node;
the CDN node is used for sending the video stream data in the stream transmission format to a webpage client end requesting for live video in a network stream mode through a CDN top node server, a CDN middle node server and a CDN bottom node server in sequence;
the webpage client is used for determining a playing address of a live video and requesting video stream data corresponding to the playing address from a CDN node; and receiving the video stream data in the streaming format sent by the CDN node, analyzing the video stream data in the streaming format, and playing the analyzed video stream data in a frame playing manner based on the streaming format.
19. The live video broadcast system of claim 18, wherein the CDN nodes comprise a plurality of tiers of CDN node servers; the multi-level CDN node server comprises: the system comprises a CDN top-level node server communicated with a transcoding server, a CDN bottom-level node server communicated with a webpage client, and a CDN middle node server between the CDN top-level node server and the CDN bottom-level node server;
the CDN bottom-layer node server is used for determining video stream data corresponding to a playing address according to the playing address of a live video requested by a webpage client, and requesting the video stream data corresponding to the playing address from a CDN top-layer node server layer by layer through a CDN middle node server; receiving video stream data of a streaming format corresponding to the playing address and sent by a CDN top node server layer by layer through a CDN middle node server, and sending the video stream data of the streaming format to the webpage client;
the CDN middle node server is used for sending request information of the CDN bottom layer node server for requesting video stream data corresponding to the playing address to the CDN top layer node server layer by layer; the video stream data in the stream transmission format sent by the CDN top-level node server is sent to the CDN bottom-level node server layer by layer;
the CDN top-level node server is used for receiving request information of video stream data corresponding to the playing address, which is sent by a CDN middle node server layer by layer and requested by a CDN bottom-level node server; and sending the video stream data in the stream transmission format sent by the transcoding server to the CDN bottom layer node server layer by layer through a CDN middle node server.
20. A computer-readable storage medium having stored thereon computer-executable instructions that, when loaded and executed by a processor, carry out a method of video live broadcast as claimed in any one of claims 1 to 10.
CN201510969968.XA 2015-12-22 2015-12-22 Video live broadcast method, transcoding server, webpage client and system Active CN105516739B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510969968.XA CN105516739B (en) 2015-12-22 2015-12-22 Video live broadcast method, transcoding server, webpage client and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510969968.XA CN105516739B (en) 2015-12-22 2015-12-22 Video live broadcast method, transcoding server, webpage client and system

Publications (2)

Publication Number Publication Date
CN105516739A CN105516739A (en) 2016-04-20
CN105516739B true CN105516739B (en) 2020-05-05

Family

ID=55724329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510969968.XA Active CN105516739B (en) 2015-12-22 2015-12-22 Video live broadcast method, transcoding server, webpage client and system

Country Status (1)

Country Link
CN (1) CN105516739B (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872581A (en) * 2016-05-31 2016-08-17 深圳市佑嘉互动科技有限公司 System and method for providing video direct broadcasting room services
CN107517402A (en) * 2016-06-16 2017-12-26 广州市动景计算机科技有限公司 The method for recording and device of client and browser live video
CN106020852B (en) * 2016-06-30 2020-07-07 北京奇虎科技有限公司 Live broadcasting method and system of running window and browser
CN107846633B (en) 2016-09-18 2023-07-14 腾讯科技(深圳)有限公司 Live broadcast method and system
CN106503111B (en) * 2016-10-18 2017-12-26 广州市动景计算机科技有限公司 Webpage code-transferring method, device and client terminal
CN106488263A (en) * 2016-10-24 2017-03-08 北京小米移动软件有限公司 Push the method and device of live broadcast stream media data
CN106534863A (en) * 2016-11-11 2017-03-22 协创数据技术股份有限公司 Live video stream transcoding device
CN106686101B (en) * 2017-01-03 2020-07-17 北京奇虎科技有限公司 Method and device for scheduling transmission cluster of streaming data
CN107222755B (en) * 2017-06-27 2019-09-17 北京小米移动软件有限公司 Program dissemination method, apparatus and system
CN107197363B (en) * 2017-07-04 2020-07-10 武汉斗鱼网络科技有限公司 Video playing method and device
CN107360226A (en) * 2017-07-11 2017-11-17 上海鋆创信息技术有限公司 The store method and device of live video
CN109756756B (en) * 2017-11-08 2021-10-22 阿里巴巴集团控股有限公司 Video playing method and video playing device
CN108173861A (en) * 2017-12-29 2018-06-15 北京奇虎科技有限公司 A kind of method, apparatus of net cast and live streaming distribution connector
CN108540816B (en) * 2018-03-28 2020-03-17 腾讯科技(深圳)有限公司 Live video acquisition method and device and storage medium
CN109257344B (en) * 2018-09-06 2021-01-26 广州高清视信数码科技股份有限公司 WebRTC media gateway based on Docker container technology and interworking method thereof
CN109525578B (en) * 2018-11-12 2020-10-13 深圳市网心科技有限公司 CDN (content delivery network) delivery network transmission method, device, system and storage medium
CN110049348B (en) * 2019-04-03 2022-04-05 网宿科技股份有限公司 Video analysis method and system and video analysis server
CN110099252B (en) * 2019-05-06 2021-01-08 四川效率源信息安全技术股份有限公司 Method for converting monitoring video into playable video
CN110381340A (en) * 2019-06-10 2019-10-25 广州虎牙信息科技有限公司 Video file processing system
CN110545439A (en) * 2019-08-29 2019-12-06 中邮科通信技术股份有限公司 Rtmp multi-concurrent live broadcast system and method based on streaming media service
CN112511783A (en) * 2019-09-16 2021-03-16 武汉斗鱼网络科技有限公司 Mixed display method and device of audio and video stream, server and storage medium
CN111107386A (en) * 2019-12-27 2020-05-05 北京达佳互联信息技术有限公司 Live video playback method and device, electronic equipment, system and storage medium
CN111757136A (en) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 Webpage audio live broadcast method, device, equipment and storage medium
CN112333466B (en) * 2020-11-02 2023-05-09 创盛视联数码科技(北京)有限公司 Video processing method, device and system
CN113068059B (en) * 2021-03-22 2022-12-13 平安普惠企业管理有限公司 Video live broadcasting method, device, equipment and storage medium
CN113794932A (en) * 2021-09-15 2021-12-14 云茂互联智能科技(厦门)有限公司 Method and device for playing video stream at webpage end, electronic equipment and storage medium
CN115002518B (en) * 2022-05-30 2024-03-22 咪咕视讯科技有限公司 Data monitoring method, device and computer readable storage medium
CN114723181B (en) * 2022-06-07 2022-09-02 常州云燕医疗科技有限公司 Digital integrated operating room signal transmission system and method based on block chain

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237429A (en) * 2008-02-25 2008-08-06 蓝汛网络科技(北京)有限公司 Stream media living broadcasting system, method and device based on content distribution network
WO2011090715A2 (en) * 2009-12-28 2011-07-28 Akamai Technologies, Inc. Edge server for format-agnostic streaming architecture
CN102231749A (en) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 System and method for transmitting live stream by utilizing content delivery network (CDN)
CN103826139A (en) * 2014-02-27 2014-05-28 北京六间房科技有限公司 CDN system, watching server and streaming media data transmission method
CN103986942A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Data distribution system and method based on CDN (content distribution network)
CN103986976A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Content delivery network (CDN)-based transmission system and method
CN104185082A (en) * 2013-05-22 2014-12-03 深圳中兴网信科技有限公司 Audio/video live broadcast method and system, client and server

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237429A (en) * 2008-02-25 2008-08-06 蓝汛网络科技(北京)有限公司 Stream media living broadcasting system, method and device based on content distribution network
WO2011090715A2 (en) * 2009-12-28 2011-07-28 Akamai Technologies, Inc. Edge server for format-agnostic streaming architecture
CN102231749A (en) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 System and method for transmitting live stream by utilizing content delivery network (CDN)
CN104185082A (en) * 2013-05-22 2014-12-03 深圳中兴网信科技有限公司 Audio/video live broadcast method and system, client and server
CN103826139A (en) * 2014-02-27 2014-05-28 北京六间房科技有限公司 CDN system, watching server and streaming media data transmission method
CN103986942A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Data distribution system and method based on CDN (content distribution network)
CN103986976A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Content delivery network (CDN)-based transmission system and method

Also Published As

Publication number Publication date
CN105516739A (en) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105516739B (en) Video live broadcast method, transcoding server, webpage client and system
US10826807B2 (en) Media player analytics
US9967161B2 (en) Coordinating analytics between media player and server
TWI580237B (en) Unicast abr streaming
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
US20130212231A1 (en) Method, apparatus and system for dynamic media content insertion based on http streaming
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
US20180376177A1 (en) System and methods for individualized digital video program insertion
TW201603540A (en) Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe
US11356493B2 (en) Systems and methods for cloud storage direct streaming
US11206297B2 (en) Video streaming
CN104854838A (en) System and method for delivering an audio-visual content to a client device
JP6329964B2 (en) Transmission device, transmission method, reception device, and reception method
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
US9813475B1 (en) Delivering a video stream
CN103813185A (en) Method, server and client for quickly distributing segmented programs
US10687106B2 (en) System and method for distributed control of segmented media
CN109005430A (en) A kind of order method, system, device and the storage medium of audio/video content
CN108449613B (en) CDN system, method and device for fusing multiple services
EP3065411A1 (en) Content supplying device, content supplying method, program, terminal device, and content supplying program
Xi et al. On adaptive live streaming in mobile cloud computing environments with D2D cooperation
KR102123208B1 (en) Content supply device, content supply method, program, terminal device, and content supply system
KR20100059117A (en) Streaming system and cache server for distributed multimedia contents and method for streaming contents

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