Movatterモバイル変換


[0]ホーム

URL:


CN108347622B - Multimedia data pushing method and device, storage medium and equipment - Google Patents

Multimedia data pushing method and device, storage medium and equipment
Download PDF

Info

Publication number
CN108347622B
CN108347622BCN201810183432.9ACN201810183432ACN108347622BCN 108347622 BCN108347622 BCN 108347622BCN 201810183432 ACN201810183432 ACN 201810183432ACN 108347622 BCN108347622 BCN 108347622B
Authority
CN
China
Prior art keywords
streaming
live
receiving
stream
node
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
CN201810183432.9A
Other languages
Chinese (zh)
Other versions
CN108347622A (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 LtdfiledCriticalTencent Technology Shenzhen Co Ltd
Priority to CN201810183432.9ApriorityCriticalpatent/CN108347622B/en
Publication of CN108347622ApublicationCriticalpatent/CN108347622A/en
Application grantedgrantedCritical
Publication of CN108347622BpublicationCriticalpatent/CN108347622B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

The invention discloses a multimedia data pushing method, a multimedia data pushing device, a multimedia data storage medium and multimedia data pushing equipment, and belongs to the technical field of internet. The method comprises the following steps: receiving a live stream sent by a live stream pushing end; sending a live stream receiving message to a task scheduling system; receiving a live streaming push task issued by a task scheduling system, wherein the live streaming push task is generated after the task scheduling system receives a live streaming receiving message, the live streaming push task comprises address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving live streaming before a network outlet of a live streaming pushing end changes; and pushing the received live streaming to the second streaming node according to the address information of the second streaming node. When the network outlet of the live broadcast stream pushing end is switched, the live broadcast quality can be effectively guaranteed by adopting a processing mode of switching the live broadcast stream, the load of a task scheduling system is reduced, the stability of live broadcast service is improved, and the live broadcast effect is ensured.

Description

Multimedia data pushing method and device, storage medium and equipment
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a multimedia data pushing method, apparatus, storage medium, and device.
Background
The live broadcast of multimedia data mainly based on audio and video live broadcast is one of the important ways for people to show themselves and play entertainment. In a live broadcast, if the stability of a live stream on a link is required to be ensured so as to improve the viewing experience of a user, the jitter resistance of a live streaming push end is crucial, only the live streaming push end stably pushes the live stream to a live background, and the live background can continuously output the high-quality live stream, so that the live stream is presented to audience users. The live streaming end refers to an initiating end of live multimedia data, namely a terminal of a main broadcasting user. In most live scenes, a live streaming end generally uses a mobile network or a WIFI (Wireless Fidelity) network to push a live stream to a live background. In the process of stream pushing, there is often a problem that a network outlet of a live stream pushing end needs to be switched due to a network stuck phenomenon, for example, a WIFI network is switched to a mobile network, or a 4G network of an operator a is switched to a 4G network of an operator B in a dual-card mode.
In the related art, after a network outlet is changed, if a live streaming push end continues to push a live stream to an original streaming receiving node in a live background, a network transmission problem (such as slow speed or incapability of pushing the live stream) across operators may occur at the live streaming push end, which may cause a great reduction in live quality, and further a phenomenon of live streaming blocking or incapability of playing may occur at a viewer user side. For example, suppose that the live streaming client initially uses the 4G network of the operator a to push the live stream to the streaming node of the operator a, and the middle live streaming client is switched to the WIFI network of the operator B, so that the live streaming client can push the live stream to the streaming node of the operator a across the operators in the WIFI network of the operator B, and the live stream may be jammed or cannot be played.
After a network outlet is changed, if a new stream receiving node is reselected by a live stream pushing end, tasks such as stream receiving, transcoding, encapsulation and the like on an original link are all in a flow-cutoff abnormal state, before an abnormal timeout processing mechanism is triggered by a live background, the live background does not read a new live stream and pushes the new live stream to a watching user, and then the live stream interruption condition can occur to the watching user in the period of time, which undoubtedly can seriously affect the watching experience of the user.
To sum up, the two solutions both have the defect of seriously reducing the live broadcast experience after the network outlet is changed. Therefore, how to push multimedia data when the network outlet changes to guarantee the viewing experience of the user becomes a focus of attention of those skilled in the art.
Disclosure of Invention
The embodiment of the invention provides a multimedia data pushing method, a multimedia data pushing device, a storage medium and equipment, and solves the problem of poor live broadcast quality caused by switching a network outlet at a live broadcast stream pushing end in the related art. The technical scheme is as follows:
in one aspect, a multimedia data push method is provided, which is applied to a first streaming node, where the first streaming node is determined by a live streaming end after a network exit is changed, and the method includes:
receiving a live stream sent by the live stream pushing end;
sending a live stream receiving message to a task scheduling system;
receiving a live streaming push task issued by the task scheduling system, wherein the live streaming push task is generated after the task scheduling system receives the live streaming receiving message, the live streaming push task comprises address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving live streaming before a network outlet of a live streaming pushing end changes;
and pushing the received live streaming to the second streaming node according to the address information of the second streaming node.
In another aspect, a multimedia data pushing method is provided, which is applied to a task scheduling system, and the method includes:
receiving a live stream receiving message sent by a first streaming receiving node, wherein the first streaming receiving node is determined by a live streaming pushing end after a network outlet is changed, and the live stream receiving message is sent by the first streaming receiving node after receiving a live stream sent by the live streaming pushing end;
generating a live streaming pushing task according to the live streaming receiving message, wherein the live streaming pushing task comprises address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving live streaming before a network outlet of a live streaming pushing end changes;
and sending the live streaming pushing task to the first streaming receiving node, so that the first streaming receiving node pushes the received live streaming to the second streaming receiving node according to the address information of the second streaming receiving node.
In another aspect, a multimedia data pushing method is provided, and the method includes:
the live broadcast stream pushing end sends a live broadcast stream to a second stream receiving node;
when the network outlet of the live streaming push end changes, the live streaming push end determines a first streaming receiving node and switches to send a live stream to the first streaming receiving node;
after receiving the live stream sent by the live stream pushing end, the first stream receiving node sends a live stream receiving message to a task scheduling system;
the task scheduling system generates a live streaming push task after receiving the live streaming receiving message, wherein the live streaming push task comprises address information of a second streaming receiving node;
the first stream receiving node receives the live stream pushing task issued by the task scheduling system;
and the first streaming receiving node pushes the received live streaming to the second streaming receiving node according to the address information of the second streaming receiving node.
In another aspect, a multimedia data push apparatus is provided, where the apparatus is applied to a first streaming node, where the first streaming node is determined by a live streaming end after a network exit changes, and the apparatus includes:
the first receiving module is used for receiving the live broadcast stream sent by the live broadcast stream pushing end;
the first sending module is used for sending a live stream receiving message to the task scheduling system;
the second receiving module is used for receiving a live streaming push task issued by the task scheduling system, wherein the live streaming push task is generated after the task scheduling system receives a live streaming receiving message, the live streaming push task comprises address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving live streaming before a network outlet of a live streaming pushing end changes;
and the second sending module is used for pushing the received live streaming to the second streaming node according to the address information of the second streaming node.
In another aspect, a multimedia data pushing apparatus is provided, which is applied to a task scheduling system, and includes:
the receiving module is used for receiving a live stream receiving message sent by a first streaming receiving node, the first streaming receiving node is determined after a live stream pushing end changes at a network outlet, and the live stream receiving message is sent by the first streaming receiving node after receiving a live stream sent by the live stream pushing end;
a generating module, configured to generate a live stream push task according to the live stream receiving message, where the live stream push task includes address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving a live stream before a network outlet of the live stream push end changes;
and the sending module is used for sending the live streaming pushing task to the first streaming receiving node so that the first streaming receiving node pushes the received live streaming to the second streaming receiving node according to the address information of the second streaming receiving node.
In another aspect, a storage medium is provided, where at least one instruction is stored, and the at least one instruction is loaded and executed by a processor to implement the multimedia data pushing method described above.
In another aspect, an apparatus for multimedia data push is provided, the apparatus includes a processor and a memory, where the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the multimedia data push method described above.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
when the network outlet of the live broadcast stream pushing end is switched, the embodiment of the invention can effectively ensure the live broadcast quality by adopting a processing mode of switching to the live broadcast stream, thereby not only reducing the load of a task scheduling system, but also improving the stability of the live broadcast service and ensuring the live broadcast effect.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is an architecture diagram of an implementation environment related to a multimedia data pushing method according to an embodiment of the present invention;
fig. 2 is a schematic view of a live broadcast flow of a multimedia data pushing method according to an embodiment of the present invention;
fig. 3 is a schematic view of a live broadcast flow of a multimedia data pushing method according to an embodiment of the present invention;
fig. 4 is a flowchart of a multimedia data pushing method according to an embodiment of the present invention;
fig. 5 is a schematic live broadcast flow chart of a multimedia data push method according to an embodiment of the present invention;
fig. 6A is a schematic diagram for showing continuity of a live stream according to an embodiment of the present invention;
fig. 6B is a flowchart of a multimedia data pushing method according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a multimedia data pushing apparatus according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a multimedia data pushing apparatus according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an apparatus for multimedia data push according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Before explaining the embodiments of the present invention in detail, some terms related to the embodiments of the present invention are explained.
Live streaming: and the multimedia data which are collected and coded by the terminal of the anchor user in real time when the anchor user initiates the live broadcasting.
In the embodiment of the present invention, the terminal of the anchor user is also referred to as a live streaming end.
Live background: as shown in fig. 1, the live broadcast background mainly includes 5 parts, which are an access layer, a stream processing layer, a stream relay layer, a task scheduling system, and a stream distribution layer.
And (3) receiving a streaming service: the live streaming server refers to a service for receiving live streaming in a live background, and can complete the function of receiving and forwarding the live streaming. Wherein the streaming service corresponds to the access stratum in fig. 1. That is, the access layer includes a plurality of streaming nodes, and the plurality of streaming nodes are used for receiving the live stream sent by the live streaming push end.
Live push streaming service: and the live broadcast stream pushing end adopts a mobile network or a WIFI network to push the live broadcast stream to a stream receiving node of a live broadcast background.
The mobile network includes, but is not limited to, 4G (the 4th Generation mobile communication technology, fourth Generation mobile communication technology), 3G (3rd-Generation mobile communication technology, third Generation mobile communication technology), and the like.
And (3) receiving a flow transfer service: the stream relay service can passively receive or passively pull the live stream, and can actively pull the live stream cached on the stream receiving node in a signaling issuing mode. Wherein, the interface flow relay service corresponds to the interface flow relay layer in fig. 1. That is, the interface flow relay layer includes a plurality of interface flow relay nodes for performing the interface flow relay service.
Transcoding: refers to one way in which the stream processing layer streams the direct broadcast stream. The transcoding process can convert the live stream from the original resolution and the original bitrate into a plurality of different resolutions and a plurality of different bitrates.
Packaging in a rotating mode: refers to another way in which the stream processing layer streams the direct broadcast stream. The repackaging process can convert the live stream from the original format to the specified new format.
CDN (Content Delivery Network): the request initiated by the user can be redirected to the service node closest to the user in real time according to the network flow and the comprehensive information such as the connection, the load condition, the distance to the user, the response time and the like of each service node. The method aims to enable the user to obtain the required content nearby, solve the network congestion condition and improve the response speed of the user for accessing the website.
In the embodiment of the present invention, the CDN occurs in a stream distribution layer in a live background.
FLV (FLASH VIDEO, streaming media format) data block: refers to a data stream in a general audio-video data encapsulation format.
Each FLV data block includes at least two parts, which are divided into a header (head) and a body (body), where the header includes related index information of the body part, such as PTS (Presentation Time Stamp) of the data block, and the body includes multimedia data, such as audio and video data.
The following briefly introduces an implementation environment related to the video live broadcast method provided by the embodiment of the present invention. As shown in fig. 1, smooth proceeding of a live broadcast needs cooperation of a front end and a live broadcast background.
For the front end, the anchor user usually needs to install an APP (Application) with a live broadcast function at the live broadcast stream push end, and before the anchor user starts live broadcast, the access scheduling service of the live broadcast stream push end dynamically selects a stream receiving node according to information such as the current network bandwidth, the operator, the region, and the like, so as to select a stream receiving node with the optimal current link quality.
Aiming at a live broadcast background, an access layer comprises a plurality of stream receiving nodes and is used for receiving live broadcast streams sent by different live broadcast stream pushing ends; and the stream receiving node of the access layer reports a live stream receiving message to the task scheduling system after receiving the live stream of the live stream pushing end, and the task scheduling system sequentially triggers the stream processing layer in the live background to execute a stream processing task and the stream receiving transfer layer to execute stream receiving transfer service according to the live stream receiving message reported by the stream receiving node.
The live stream receiving message includes information related to the live stream, such as address information of the streaming node, identification information of the anchor user, and the like, which is not specifically limited in this embodiment of the present invention.
In the embodiment of the present invention, the stream processing task includes, but is not limited to, transcoding and decapsulating the live stream received by the streaming node to realize the conversion of the original live stream stored on the streaming node into live streams of various resolutions or various formats. And the live stream after stream processing can be stored on the stream receiving transfer node of the stream receiving transfer layer by the stream receiving transfer task.
Based on the above description, when the audience user watches the live broadcast, the CDN located in the stream distribution layer may perform live broadcast stream sourcing, that is, the CDN pulls the live broadcast stream in the corresponding format and the corresponding resolution stored at the relay node of the received stream, and pushes the live broadcast stream to the audience user.
It should be noted that the above-mentioned node may be a server, that is, the streaming node may also be referred to as a streaming server, and the streaming relay node may also be referred to as a streaming relay server, which is not specifically limited in this embodiment of the present invention.
In another embodiment, as shown in fig. 2, when a network outlet of the live streaming end changes, that is, a network of the live streaming end is switched (for example, a WIFI network of an operator a is switched to a 4G network of an operator B), a processing manner of the related art is that the live streaming end continues to push the live streaming to an initial streaming node a without acquiring a new streaming node from the access scheduling service again, that is, corresponding to step ① in fig. 2.
For the method, after the network outlet of the live streaming end is changed, if the current streaming node with the optimal link quality is not reselected according to information such as an operator, network bandwidth and region, but the live streaming is still pushed to the initial streaming node, the problems that the access link is not optimal and network transmission is performed across operators occur. In addition, if the live broadcast stream pushing end still adopts the original code rate to carry out live broadcast stream pushing, serious uplink packet loss and network congestion will occur, finally the whole link is abnormal, and the live broadcast is blocked. In another embodiment, if the live streaming client performs the speed measurement of the streaming again on the premise of not changing the streaming connection node, and then matches the streaming rate according to a new speed measurement result, the optimal streaming rate matched by the live streaming client is far less than the streaming rate of the same operator due to the problem of network transmission across operators, and then the processing mode still affects the live streaming quality, thereby reducing the viewing experience of the user.
In another embodiment, as shown in fig. 3, when the network exit of the live streaming push end changes, if the live streaming push end reselects a new streaming receiving node for streaming, for example, in fig. 3, the live streaming push end pushes the live streaming to a new streaming receiving node B. And after the stream receiving node B reports the live stream receiving message to the task scheduling system, the task scheduling system can re-issue transcoding, forwarding and packaging and stream receiving forwarding tasks. The whole flow is shown in the black bold part of fig. 3. And for transcoding, forwarding and packaging and forwarding tasks (black dotted parts) corresponding to the initial flow receiving node A, entering a flow cutoff state, and automatically triggering and deleting after waiting for the maximum timeout time. And at the audience user side, the playing end enters a playing black screen state, and the playing end tries to reconnect until all tasks on the link of the whole live background are started.
According to the processing mode, after a new flow receiving node is obtained again and speed measurement is carried out through an uplink bandwidth, a new flow pushing code rate is selected to carry out flow pushing on the new flow receiving node again, although the optimal uplink quality can be ensured, and the problem of network transmission across operators is solved, as the flow receiving node is selected again, the initial flow receiving node enters a flow cutoff state, and transcoding service, forwarding encapsulation service, flow receiving transfer service and CDN corresponding to a link enter a waiting retry process until the maximum overtime time is reached, and automatic triggering and deleting are carried out. For a watching user watching the live broadcast, before the live broadcast background re-issues the start task, the phenomenon of playing the black screen will occur, which undoubtedly seriously affects the watching experience of the user.
To solve the problems of the two processing methods, an embodiment of the present invention provides a full link quality assurance technique after a change of a streaming node (which may also be referred to as a live uplink access point). The embodiment of the invention realizes that a new stream receiving node can be dynamically selected again when the network outlet of the live stream pushing end changes so as to ensure the stream pushing quality of the live stream pushing end, and simultaneously, the embodiment of the invention also adopts a method that the new stream receiving node is internally pushed to the initial stream receiving node after stream receiving, so that the live stream pushed again is continuously connected with the live stream on the original link, the resource repeated consumption of the whole live background is reduced, and the stable and smooth watching experience is finally provided for a watching user.
After a network outlet of a live streaming push end is changed, the embodiment of the invention adopts a method combining dynamic access detection and internal stream push, so that the link integrity, continuity and service stability of the whole live background can be ensured under the condition of ensuring the streaming quality of the live streaming push end, and the good watching experience is finally provided for a watching user.
Fig. 4 is a flowchart of a video live broadcasting method according to an embodiment of the present invention. Taking the first flow receiving node as the flow receiving node B in fig. 5 and the second flow receiving node as the flow receiving node a in fig. 5 as an example, referring to fig. 4, the method provided by the embodiment of the present invention includes:
401. and the live broadcast stream pushing end determines a stream receiving node A for receiving the live broadcast stream.
As shown in fig. 5, the live streaming end mainly includes two parts, one part is APP, and the other part is access scheduling service. The live broadcast stream pushing end particularly pushes streams to an access layer of a live broadcast background through an APP, and the access scheduling service is responsible for determining which stream receiving node of the access layer the streams should be pushed to.
Before a live broadcast starts, an APP in a live broadcast stream pushing end can send a request for acquiring a stream receiving node to an access scheduling service, and after the access scheduling service receives the request, the access scheduling service can comprehensively select the stream receiving node according to information such as current network bandwidth, operators, regions and the like so as to select the stream receiving node with the optimal current link quality for the live broadcast stream pushing end to push the live broadcast stream. For example, in fig. 5, the live streaming end is currently connected to the WIFI network of the operator a, and then the determined streaming node a is also accessed by the operator a, so as to ensure that the problem of cross-network transmission does not occur.
In the embodiment of the present invention, the initial access node determined by the access scheduling service may be referred to as access node a. The information of the streaming node returned by the access scheduling service at least includes address information of the streaming node a, such as an IP (internet protocol) address and a port number.
It should be noted that the live stream pushed by the live streaming push end is essentially composed of a plurality of data blocks, for example, after the live streaming push end acquires audio and video data, the live stream is encoded and encapsulated into a plurality of FLV data blocks. Each data block includes a header and a main body, the header includes related index information of the data block, such as a PTS including the data block, and the main body includes multimedia data, such as audio and video data, which is not specifically limited in the embodiment of the present invention.
402. And after the live broadcast starts, the live broadcast stream pushing end sends a live broadcast stream to the stream receiving node A.
Because the live broadcast stream pushing end already acquires the address information of the stream receiving node A, after the live broadcast starts, the live broadcast stream pushing end can continuously push the stream to the stream receiving node A according to the address information.
After receiving the pushed live stream, the streaming node a may cache the live stream in a memory, which is not specifically limited in this embodiment of the present invention.
403. And after receiving the live stream sent by the live stream pushing end for the first time, the stream receiving node A sends a first live stream receiving message to the task scheduling system.
In this embodiment, after receiving a live stream pushed by a live stream pushing end for the first time, the stream receiving node a may send relevant information of the live stream to the task scheduling system in a signaling manner, so that the task scheduling system performs relevant scheduling. The information related to the live stream is referred to as a first live stream receiving message in the embodiment of the present invention, and the first live stream receiving message may include address information of the streaming node a, identification information of the anchor user, and the like.
The first point to be described is that the live streaming push end continuously pushes the streaming to the streaming receiving node a after the live streaming starts and before the live streaming push end performs network switching.
The second point to be noted is that, during the continuous stream pushing process at the live stream pushing end, the sequence numbers of the PTSs included in the multiple data blocks received by the streaming node a continuously increase. Taking fig. 6A as an example, the sequence number of the PTS of the first data block received by the streaming node a is PTS0The sequence number of the PTS of the received second data block is PTS1… …, the sequence number of the PTS of the received Nth data block is PTSNAnd so on.
The third point to be described is that, since the live stream is reported to the task scheduling system after being received for the first time, the stream receiving node a does not need to report again when receiving the live stream in the subsequent process, so as to avoid repeated reporting.
404. And the task scheduling system issues a stream processing task to the stream processing layer according to the first live stream receiving message and issues a stream receiving transfer task to the stream receiving transfer layer.
In the embodiment of the present invention, after receiving the first direct broadcast stream receiving message, the task scheduling system may sequentially schedule a stream processing task and a stream relay task in a live broadcast background according to information such as a region where the stream receiving node a is located or a format of a live broadcast stream, so as to process a live broadcast stream cached in a memory of the stream receiving node a.
The stream processing task at least includes a transcoding task and a transcoding and encapsulation task, which is not specifically limited in this embodiment of the present invention.
405. The stream processing layer carries out stream processing on the live stream received by the stream node A, and the stream receiving transfer layer stores the live stream processed by the stream processing layer.
In the embodiment of the invention, the transcoding task is usually executed first, and then the transcoding and packaging task is executed. The transcoding task can convert the original video stream stored on the streaming node a into different definitions or resolutions so as to adapt to different user viewing requirements. For example, if the definition or resolution of the original video stream is high definition, the original video stream may be transcoded into different levels of smooth, normal, high definition, super-definition, and blue light, which is not specifically limited in the embodiment of the present invention. And the transcoding and encapsulation task can realize format conversion of the original video Stream, such as conversion from FLV format to TS (Transport Stream) format.
406. The CDN receives a request initiated by a watching user, and pulls the live stream from a stream receiving transfer node of a stream receiving transfer layer to return to a playing end.
In the embodiment of the present invention, the live stream stored in the stream receiving node a is processed by the stream processing layer and the stream receiving relay layer in sequence, and then is sent back to the stream distribution layer CDN, so that the CDN distributes the live stream in the near direction according to the request of the viewer user and provides the live stream to the viewer user.
407. And after the network outlet is changed, the live broadcast stream pushing end determines a stream receiving node B for receiving the live broadcast stream.
When the network is abnormal, as shown in a black and thick part in fig. 5, the live streaming end performs network switching, and the WIFI network of the operator a is switched to the 4G network of the operator B.
Further, after the network is switched, the live streaming end re-matches the new streaming node B with the best quality in the manner shown in step 401, and continues to perform streaming, that is, corresponding to step ① in fig. 5.
408. And the live broadcast stream pushing end sends the live broadcast stream to the stream receiving node B.
Since the streaming node has been switched, the live streaming push end will switch to start to push the streaming to the streaming node B according to the address information of the streaming node B.
409. And after receiving the live broadcast stream sent by the live broadcast stream pushing end, the streaming node B sends a second live broadcast stream receiving message to the task scheduling system.
In the embodiment of the present invention, after receiving the live stream from the live stream push end, the streaming node B also synchronizes relevant information of the live stream to the task scheduling system in a signaling manner, that is, corresponding to step ② in fig. 5.
410. And the task scheduling system generates a live stream push task after receiving the second live stream receiving message, wherein the live stream push task comprises the address information of the stream receiving node A.
After receiving the second live stream receiving message of the streaming node B, the task scheduling system already has the related task of the streaming node a in the task scheduling system, indicating that the previous live stream exists in the streaming node a, so the task scheduling system can send the live stream forwarding task to the streaming node B.
The address information of the streaming node a includes, but is not limited to, an IP address and a port number of the streaming node a.
411. And the streaming node B receives the live streaming pushing task issued by the task scheduling system and pushes the received live streaming to the streaming node A according to the address information of the streaming node A.
In the embodiment of the present invention, after receiving the live broadcast forwarding and pushing task issued by the task scheduling system, the streaming node B internally forwards the live broadcast stream pushed by the live broadcast forwarding end to the streaming node a according to the IP address and the port number of the streaming node a, that is, forwards the live broadcast stream to the streaming node a, so as to ensure that the streaming node a does not cut off live broadcast, that is, the step corresponds to step ③ in fig. 5.
In this way, since the transcoding task, the decapsulation task and the streaming relay task for the live stream downstream of the streaming node a can be performed continuously, there is no need to re-issue the transcoding, decapsulation and streaming relay tasks for the streaming service node B, so the whole process only needs to execute ①②③ steps.
In another embodiment, in the network switching process at the live streaming end, the embodiment of the present invention further needs to ensure the continuity of the live streaming, that is, the sequence numbers of the PTSs of the multiple data blocks that are continuously sent need to be continuously incremented, and the specific process is as shown in fig. 6A.
In fig. 6A, before network switching is not performed, the live streaming end acquires and encodes audio and video data, and then encapsulates the audio and video data into a plurality of data blocks in the FLV format, where the data blocks form a live stream. As shown in fig. 6A, the sequence numbers of the PTSs in the data blocks received by the streaming node a are in a continuously increasing trend. I.e. according to PTS0、PTS1、……、PTSNIn the sequence of (2), the stream node a receives the data blocks first and then.
When network switching occurs at the live broadcast stream pushing end at the time t, the sequence number of the PTS of a data block which is sent by the stream receiving node A at the latest is N, and after the live broadcast stream pushing end switches the network again and determines a new stream receiving node B, the (N + 1) th data block is used as the first data block to be sent to the new stream receiving node B, so that the continuity of the live broadcast stream is ensured.
In another expression, if the sequence number of the PTS of the first data block received by the streaming node B is N +1, the sequence number of the PTS of the last data block sent by the live streaming client to the streaming node a is N, where a value of N is a positive integer.
And the streaming node B will push the received live stream to the original streaming node a. Because the whole process is continuously transferred and pushed inside, the time stamp sequence on the whole link cannot be backed off, thereby ensuring that the playing end can play continuously and stably.
For the playing end, since the link from the CDN to the streaming relay layer is in an effective state, during the period when the live streaming push switching network re-pushes the live stream to the streaming node B and the streaming node B forwards the live stream to the streaming node a, a part of the live stream is still cached at the node of the streaming relay layer to be provided to the playing end for playing, so that a cut-off does not occur. That is, after the streaming node B pushes the received live stream to the streaming node a, the whole live link will be consistent with the original stream, and the playing end will not be affected by the network switching of the live streaming push end, thereby ensuring the viewing experience of the user.
According to the method provided by the embodiment of the invention, when the network outlet of the live broadcast stream pushing end is switched, the live broadcast quality can be effectively ensured by adopting a processing mode of switching to push the live broadcast stream, the load of a task scheduling system is reduced, the stability of live broadcast service is improved, and the live broadcast effect is ensured.
In addition, when the network outlet of the live broadcast stream pushing end is switched, the live broadcast stream is smoother on the whole live broadcast link, the problems of playing card pause and screen blacking caused by network switching are greatly reduced, and the live broadcast viewing experience and the live broadcast quality are greatly improved.
In summary, after receiving the live stream sent by the live stream pushing end, the newly determined stream receiving node pushes the received live stream to the initial stream receiving node for receiving the live stream, so that the stream pushing quality is ensured, and further the live stream quality is ensured. As shown in fig. 6B, taking the newly determined current node as the first current node as an example, the operations performed by the first current node can be summarized as the following steps:
601. and the first streaming receiving node receives a live stream sent by a live stream pushing end.
602. And the first streaming node sends a live streaming receiving message to the task scheduling system.
603. The first streaming receiving node receives a live streaming pushing task issued by a task scheduling system, the live streaming pushing task is generated after the task scheduling system receives a live streaming receiving message, the live streaming pushing task comprises address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving live streaming before a network outlet of a live streaming pushing end changes.
604. And the first streaming connection node pushes the received live streaming to the second streaming connection node according to the address information of the second streaming connection node.
Namely, when the network outlet of the live broadcast stream pushing end is switched, the embodiment of the invention can effectively ensure the live broadcast quality by adopting the processing mode of switching the live broadcast stream, thereby not only reducing the load of a task scheduling system, but also improving the stability of the live broadcast service and ensuring the live broadcast effect.
Fig. 7 is a schematic structural diagram of a multimedia data pushing apparatus according to an embodiment of the present invention. The device is applied to a first streaming node, which is determined by a live streaming push end after a network exit is changed, and referring to fig. 7, the device includes:
afirst receiving module 701, configured to receive a live stream sent by the live streaming push end;
afirst sending module 702, configured to send a live stream receiving message to a task scheduling system;
asecond receiving module 703, configured to receive a live streaming push task issued by a task scheduling system, where the live streaming push task is generated by the task scheduling system after receiving a live streaming receiving message, and the live streaming push task includes address information of a second streaming receiving node, where the second streaming receiving node is a node used for receiving a live streaming before a network outlet of a live streaming pushing end changes;
asecond sending module 704, configured to push the received live stream to the second streaming node according to the address information of the second streaming node.
According to the device provided by the embodiment of the invention, when the network outlet of the live broadcast stream pushing end is switched, the live broadcast quality can be effectively ensured by adopting a processing mode of switching to push the live broadcast stream, the load of a task scheduling system is reduced, the stability of live broadcast service is improved, and the live broadcast effect is ensured.
In another embodiment, the live stream comprises a plurality of data blocks, each data block comprising a header containing a PTS of the data block and a body containing multimedia data;
the first receiving module is further configured to receive a plurality of data blocks continuously sent by the live streaming end, where sequence numbers of PTS of the plurality of data blocks are in a continuously increasing trend.
In another embodiment, if the sequence number of the PTS of the last data block sent by the live streaming push terminal to the second streaming node is N, the sequence number of the PTS of the first data block received by the first streaming node is N +1, and a value of N is a positive integer.
In another embodiment, the data blocks are FLV data blocks.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
Fig. 8 is a schematic structural diagram of a multimedia data pushing apparatus according to an embodiment of the present invention. The apparatus is applied to a task scheduling system, and referring to fig. 8, the apparatus includes:
areceiving module 801, configured to receive a live stream receiving message sent by a first streaming node, where the first streaming node is determined after a live streaming push end changes at a network outlet, and the live stream receiving message is sent by the first streaming node after receiving a live stream sent by the live streaming push end;
agenerating module 802, configured to generate a live stream push task according to the live stream receiving message, where the live stream push task includes address information of a second streaming receiving node, and the second streaming receiving node is a node used for receiving a live stream before a network outlet of the live stream push end changes;
a sendingmodule 803, configured to send the live streaming push task to the first streaming node, so that the first streaming node pushes the received live streaming to the second streaming node according to the address information of the second streaming node.
According to the device provided by the embodiment of the invention, when the network outlet of the live broadcast stream pushing end is switched, the live broadcast quality can be effectively ensured by adopting a processing mode of switching to push the live broadcast stream, the load of a task scheduling system is reduced, the stability of live broadcast service is improved, and the live broadcast effect is ensured.
In another embodiment, the apparatus further comprises:
and the processing module is used for issuing a stream processing task to a stream processing layer so that the stream processing layer performs stream processing on the live stream received by the second stream receiving node.
In another embodiment, the processing module is further configured to issue a receiving flow relay task to a receiving flow relay layer, so as to store, by the receiving flow relay layer, the live stream processed by the stream processing layer.
In another embodiment, the stream processing tasks include at least a transcoding task and a decapsulation task.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
It should be noted that: in the multimedia data pushing apparatus provided in the foregoing embodiment, when the multimedia data is pushed, only the division of the functional modules is illustrated, and in practical applications, the functions may be distributed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the functions described above. In addition, the multimedia data pushing apparatus provided in the foregoing embodiment and the multimedia data pushing method embodiment belong to the same concept, and specific implementation processes thereof are described in the method embodiment and are not described herein again.
Fig. 9 is a schematic structural diagram of an apparatus for pushing multimedia data according to an embodiment of the present invention, where theapparatus 900 may have a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 901 and one ormore memories 902, where thememory 902 stores at least one instruction, and the at least one instruction is loaded and executed by theprocessors 901 to implement the multimedia data pushing method according to the above-mentioned method embodiments. Of course, the server may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input/output, and the server may also include other components for implementing the functions of the device, which are not described herein again.
In an exemplary embodiment, a computer-readable storage medium, such as a memory, including instructions executable by a processor in a terminal to perform the multimedia data pushing method in the above-described embodiments is also provided. For example, the computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (14)

CN201810183432.9A2018-03-062018-03-06Multimedia data pushing method and device, storage medium and equipmentActiveCN108347622B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201810183432.9ACN108347622B (en)2018-03-062018-03-06Multimedia data pushing method and device, storage medium and equipment

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201810183432.9ACN108347622B (en)2018-03-062018-03-06Multimedia data pushing method and device, storage medium and equipment

Publications (2)

Publication NumberPublication Date
CN108347622A CN108347622A (en)2018-07-31
CN108347622Btrue CN108347622B (en)2020-06-30

Family

ID=62956464

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201810183432.9AActiveCN108347622B (en)2018-03-062018-03-06Multimedia data pushing method and device, storage medium and equipment

Country Status (1)

CountryLink
CN (1)CN108347622B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110839006A (en)*2018-08-172020-02-25阿里巴巴集团控股有限公司Network scheduling method and device and electronic equipment
CN109168011B (en)*2018-09-072022-04-01深圳市网心科技有限公司Network video live broadcast transfer equipment, transfer control system, method and medium
CN109151491B (en)2018-09-142021-03-05网宿科技股份有限公司Data distribution system, method and computer-readable storage medium
CN110418154B (en)*2019-07-302021-10-19腾讯科技(深圳)有限公司Multimedia data pushing method, device and system
CN112261418B (en)*2020-09-182022-09-30网宿科技股份有限公司Method for transmitting live video data and live broadcast acceleration system
CN112752113B (en)*2020-12-282022-08-02上海哔哩哔哩科技有限公司Method and device for determining abnormal factors of live broadcast server
CN113055692A (en)*2021-04-202021-06-29上海哔哩哔哩科技有限公司Data processing method and device
CN113923470B (en)*2021-11-242023-07-25上海哔哩哔哩科技有限公司Live stream processing method and device
CN114501052B (en)*2022-01-262022-10-25腾讯科技(深圳)有限公司Live broadcast data processing method, cloud platform, computer equipment and storage medium
CN115914659A (en)*2022-03-242023-04-04北京有限元科技有限公司 Streaming method, device, equipment, system, and computer-readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101395851A (en)*2006-02-282009-03-25汤姆逊许可公司Seamless handover method and system
CN102123131A (en)*2010-01-082011-07-13中兴通讯股份有限公司Method and system for maintaining continuity of stream media service
CN104023206A (en)*2014-06-042014-09-03浙江宇视科技有限公司Method and device of centralized forwarding of media stream
CN104660952A (en)*2015-03-042015-05-27苏州科达科技股份有限公司Video conference communication method and system
CN105872614A (en)*2016-04-122016-08-17乐视控股(北京)有限公司Live stream switching method and device
CN106488263A (en)*2016-10-242017-03-08北京小米移动软件有限公司Push the method and device of live broadcast stream media data
CN106507186A (en)*2016-10-312017-03-15腾讯科技(深圳)有限公司A kind of changing method of media information and server

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
TWI427967B (en)*2010-05-192014-02-21Pegatron CorpWireless image transmission apparatus and the information transmitting method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101395851A (en)*2006-02-282009-03-25汤姆逊许可公司Seamless handover method and system
CN102123131A (en)*2010-01-082011-07-13中兴通讯股份有限公司Method and system for maintaining continuity of stream media service
CN104023206A (en)*2014-06-042014-09-03浙江宇视科技有限公司Method and device of centralized forwarding of media stream
CN104660952A (en)*2015-03-042015-05-27苏州科达科技股份有限公司Video conference communication method and system
CN105872614A (en)*2016-04-122016-08-17乐视控股(北京)有限公司Live stream switching method and device
CN106488263A (en)*2016-10-242017-03-08北京小米移动软件有限公司Push the method and device of live broadcast stream media data
CN106507186A (en)*2016-10-312017-03-15腾讯科技(深圳)有限公司A kind of changing method of media information and server

Also Published As

Publication numberPublication date
CN108347622A (en)2018-07-31

Similar Documents

PublicationPublication DateTitle
CN108347622B (en)Multimedia data pushing method and device, storage medium and equipment
US11838563B2 (en)Switching between transmitting a preauthored video frame and a composited video frame
US7743161B2 (en)Digital content buffer for adaptive streaming
JP2020519094A (en) Video playback method, device, and system
US10645447B2 (en)Fast channel change method and server, and IPTV system
US10250917B1 (en)Inserting secondary content after pause in delivery
CA2758763C (en)Method and device for fast pushing unicast stream in fast channel change
CN112752115A (en)Live broadcast data transmission method, device, equipment and medium
US10298965B2 (en)Selection of a content source based on performance data
CN101753973A (en)Channel switching method, device and system
CN113141522B (en)Resource transmission method, device, computer equipment and storage medium
US20190166395A1 (en)Fast Channel Change In A Video Delivery Network
US20240121455A1 (en)Method, apparatus, electronic device and storage medium for video bitrate switching
US11825136B2 (en)Video transcoding method and apparatus
US20240223832A1 (en)Video stream bitrate adjustment method and apparatus, computer device, and storage medium
US10687106B2 (en)System and method for distributed control of segmented media
CN101964716A (en)Method, communication system and associated equipment for realizing stream services
KR100848309B1 (en)Apparaus and method of providing internet TV brodacasting service using fast buffering switch
CN108632681B (en)Method, server and terminal for playing media stream
WO2024087197A1 (en)Live stream switching method and apparatus, server, terminal, and program product
Tabari et al.Low latency live video streaming on android devices using web-socket
EP4195626A1 (en)Streaming media content as media stream to a client system
CN113612728B (en)Streaming media playing method, transmission equipment and system
CN101998142A (en)Method, equipment and system for realizing operation of video cassette recorder
CN118945391A (en) Live streaming cache control method and device, storage medium and electronic device

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp