Real-time streaming media data transmission method, device, system and storage medium

By using peer-to-peer content distribution network (PCDN) nodes in the live broadcast system, streaming data is matched according to the IP address of the playback end and sent when the load permits, solving the problems of high download pressure and high cost of CDN nodes and achieving more efficient streaming data transmission.

CN115473876BActive Publication Date: 2025-09-23BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211123708.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-15
Publication Date
2025-09-23
Estimated Expiration
2042-09-15

AI Technical Summary

Technical Problem

In existing live broadcast systems, content distribution network (CDN) cloud nodes need to provide real-time streaming media data to all playback terminals, resulting in heavy download pressure, high costs, and excessive downstream traffic.

Method used

By receiving the streaming media playback request from the player, determining its IP address and obtaining the matching point-to-point content distribution network (PCDN) node, only when the PCDN node is alive and the load is less than the preset threshold, the PCDN node is controlled to send real-time streaming media data to the player, reducing the downstream traffic of the CDN node.

Benefits of technology

Without affecting the quality of streaming media data at the playback end, the delivery cost of CDN nodes is reduced and network resource utilization is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115473876B_ABST
    Figure CN115473876B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, device, system and storage medium for transmitting real-time streaming media data, which relates to the field of artificial intelligence technology, specifically cloud computing, video processing, and media cloud technology, and can be applied in smart cloud and low-latency live broadcast scenarios. The specific implementation scheme is: after receiving a streaming media playback request from a playback end, the IP address of the playback end is determined based on the streaming media playback request, and based on the IP address, a peer content distribution network PCDN node matching the playback end is obtained, and when the PCDN node is in a live state and the load of the PCDN node is less than or equal to a preset load threshold, the PCDN node is controlled to send real-time streaming media data corresponding to the live channel identifier to the playback end. Therefore, in the process of sending streaming media data to the playback end, the corresponding streaming media data can be sent to the playback end through the PCDN node, which can reduce the sending cost of the CDN node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence, specifically cloud computing, video processing, and media cloud technology, which can be applied in intelligent cloud and low-latency live broadcast scenarios, and especially relates to a method, device, and method for transmitting real-time streaming media data.

[0002] System and storage media. Background Art

[0003] With the development of the Internet, various services have emerged. For example, live streaming is a video service that has emerged through the Internet.

[0004] The live streaming system in the related art may specifically include a streaming end, a Content Delivery Network (CDN) cloud node, and multiple playback ends. The streaming end collects streaming media data corresponding to the live channel identifier and sends it to the CDN cloud node. Upon receiving a playback request from the playback end for the live channel identifier, the CDN end sends the streaming media data to the playback end for playback. However, all of the above-mentioned playback ends obtain streaming media data from the CDN cloud node, which places a high pressure on the CDN cloud node to download and the cost of sending streaming media data is high. Summary of the Invention

[0005] The present disclosure provides a method, device, system and storage medium for transmitting real-time streaming media data.

[0006] According to one aspect of the present disclosure, a method for transmitting real-time streaming media data is provided, which is applied to a content delivery network (CDN) cloud node. The method includes: receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal; obtaining a peer-to-peer content delivery network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address; and sending a forwarding instruction including the live channel identifier to the PCDN node when the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0007] According to another aspect of the present disclosure, a method for transmitting real-time streaming media data is provided, which is applied to a point-to-point content delivery network (PCDN) node. The method includes: receiving a forwarding instruction from a content delivery network (CDN) cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal; and sending the real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0008] According to another aspect of the present disclosure, a device for transmitting real-time streaming media data is provided, which is applied to a content delivery network (CDN) cloud node. The device includes: a first receiving module, configured to receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal; a first acquiring module, configured to acquire a peer-to-peer content delivery network (PCDN) node matching the playback terminal based on the Internet Protocol (IP) address; and a first sending module, configured to send a forwarding instruction including the live channel identifier to the PCDN node when the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0009] According to another aspect of the present disclosure, a device for transmitting real-time streaming media data is provided, which is applied to a point-to-point content delivery network (PCDN) node. The device includes: a first receiving module, configured to receive a forwarding instruction from a content delivery network (CDN) cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal; and a first sending module, configured to send the real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0010] According to another aspect of the present disclosure, a system for transmitting real-time streaming media data is provided, comprising a playback terminal, a content delivery network (CDN) cloud node, and a peer-to-peer content delivery network (PCDN) node, wherein: the playback terminal is configured to send a playback request to the CDN cloud node, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal; the CDN cloud node is configured to receive the streaming media playback request and, based on the Internet Protocol (IP) address, obtain a peer-to-peer content delivery network (PCDN) node matching the playback terminal; and the PCDN node is configured to send a forwarding instruction including the live channel identifier to the PCDN node when the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction is configured to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0011] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method for transmitting real-time streaming media data of the present disclosure.

[0012] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method for transmitting real-time streaming media data disclosed in an embodiment of the present disclosure.

[0013] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the method for transmitting real-time streaming media data of the present disclosure is implemented.

[0014] One embodiment of the above application has the following advantages or beneficial effects:

[0015] After receiving a streaming media playback request from a player, the player's IP address is determined based on the streaming media playback request. Based on this IP address, a peer-to-peer content distribution network (PCDN) node matching the player is obtained. If the PCDN node is active and its load is less than or equal to a preset load threshold, the PCDN node is controlled to transmit real-time streaming media data corresponding to the live channel identifier to the player. Thus, when transmitting streaming media data to the player, the corresponding streaming media data can be transmitted to the player via the PCDN node. This reduces the amount of traffic transmitted by the CDN node without affecting the quality of the streaming media data on the player, thereby lowering the transmission cost of the CDN node.

[0016] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.

[0018] Figure 1 is a schematic diagram according to a first embodiment of the present disclosure;

[0019] Figure 2 is a schematic diagram according to a second embodiment of the present disclosure;

[0020] Figure 3 is a schematic diagram according to a third embodiment of the present disclosure;

[0021] Figure 4 is a schematic diagram according to a fourth embodiment of the present disclosure;

[0022] Figure 5 is a schematic diagram according to a fifth embodiment of the present disclosure;

[0023] Figure 6 is a schematic diagram according to a sixth embodiment of the present disclosure;

[0024] Figure 7 is a schematic diagram according to a seventh embodiment of the present disclosure;

[0025] Figure 8 is a schematic diagram according to an eighth embodiment of the present disclosure;

[0026] Figure 9 is a schematic diagram according to a ninth embodiment of the present disclosure;

[0027] Figure 10 is a schematic diagram according to a tenth embodiment of the present disclosure;

[0028] Figure 11 is a schematic diagram according to an eleventh embodiment of the present disclosure;

[0029] Figure 12 It is a block diagram of an electronic device used to implement the method for transmitting real-time streaming media data according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0031] In the related art, it is usually the CDN cloud node (i.e., CDN cloud) in the live broadcast system that provides real-time streaming media data corresponding to the corresponding live broadcast channel identifier to all playback terminals. However, providing real-time streaming media data corresponding to the corresponding live broadcast channel identifier to all playback terminals by the CDN cloud node usually requires relatively high performance of the CDN cloud node, and the deployment cost of the CDN cloud node is usually high. In addition, when there are many playback requests, the processing pressure of the CDN cloud node is relatively high, and the delivery cost is relatively high.

[0032] To this end, the present disclosure proposes a method for transmitting real-time streaming media data. Upon receiving a streaming media playback request from a player, the method determines the player's IP address based on the streaming media playback request. Based on the IP address, the method obtains a peer-to-peer content distribution network (PCDN) node that matches the player. When the PCDN node is alive and its load is less than or equal to a preset load threshold, the method controls the PCDN node to transmit real-time streaming media data corresponding to a live channel identifier to the player. Consequently, when transmitting streaming media data to the player, the corresponding streaming media data can be transmitted to the player via the PCDN node. This reduces the amount of traffic transmitted by the CDN node without affecting the quality of the streaming media data on the player, thereby lowering the transmission cost of the CDN node.

[0033] The following describes the method, device, system, and storage medium for transmitting real-time streaming media data according to embodiments of the present disclosure with reference to the accompanying drawings.

[0034] Figure 1 is a schematic diagram according to a first embodiment of the present disclosure, which provides a method for transmitting real-time streaming media data.

[0035] like Figure 1 As shown, the real-time streaming media data transmission method may include:

[0036] Step 101: Receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal.

[0037] It should be noted that the execution entity of the real-time streaming media data transmission method of this embodiment is the real-time streaming media data transmission device, which can be implemented by software and / or hardware. The real-time streaming media data transmission device can be a CDN cloud node, or can be configured in a CDN cloud node.

[0038] The playback end in this example refers to a web page, client, or audio / video device that can play real-time streaming media data.

[0039] Among them, the so-called web page end is a web page that runs in the browser of an electronic device and can play real-time streaming media data; the so-called client is an application installed in the electronic device that can play real-time streaming media data; and the so-called audio and video device end is a hardware device that can provide audio and video playback functions, such as a TV box, a screen projection device, etc., or an application running in a device with audio and video playback functions such as a smart TV and a smart projection device. In addition, in specific applications, depending on the type of electronic device, the web page end may include: a PC (Personal Computer) web page end and a mobile web page end, and the client may include: a PC client and a mobile client. Among them, the so-called PC web page end is a web page running in the browser of a PC; the so-called mobile web page end is a web page running in the browser of a mobile terminal; the so-called PC client is an application installed in a PC; the so-called mobile client is an application installed in a mobile terminal.

[0040] The real-time streaming media data in this example may be real-time audio and video data. In other words, the real-time streaming media data in this example may be real-time audio and video data.

[0041] The CDN cloud node in this example may be a cloud server.

[0042] In some examples, in order to enable the Peer to Peer Content Delivery Network (PCDN) node to subsequently send real-time streaming media data corresponding to the live channel identifier to the playback end, the CDN cloud node in this example can send a copy of the real-time streaming media data to the PCDN node when it receives the real-time streaming media data corresponding to the live channel identifier.

[0043] In some exemplary embodiments, to ensure the reliability and timeliness of data transmission, upon receiving real-time streaming media data corresponding to a live channel identifier, a Real-time Transport Protocol (RTP) data packet corresponding to the real-time streaming media data may be generated and sent to the PCDN node. In other words, in this example, the real-time streaming media data can be transmitted between the CDN cloud node and the PCDN based on the Real-time Transport Protocol (RTP).

[0044] In this example, a PCDN node refers to a terminal device within a peer-to-peer content distribution network (PCDN). This terminal device can communicate and interact with other nodes, acting as both a server and a client. This means it can send live streaming data to a player and also retrieve live streaming data from other devices.

[0045] The terminal device in this example may include but is not limited to a mobile phone, a tablet, a personal computer, and the like, and this embodiment does not impose any specific limitations on this.

[0046] In some examples, the real-time streaming media data corresponding to the live channel identifier in this example is sent from the streaming end to the CDN cloud node.

[0047] It should be noted that the playback end and the CDN cloud node in this embodiment can communicate through any communication protocol that can support the communication between the client and the server. For example, the communication protocol between the playback end and the CDN cloud node can be the Hyper Text Transfer Protocol (HTTP), and correspondingly, the streaming media playback request in this example is an HTTP playback request. For another example, the communication protocol between the playback end and the CDN cloud node can be the Network Address Translation (NAT) Session Traversal Utilities for NAT (STUN), and correspondingly, in the process of using STUN for communication between the playback end and the CDN cloud node, the streaming media playback request in this example is a STUN playback request. The IP address of the playback in this example is located in the Session Description Protocol (SDP) information in the STUN playback request. It can be understood that the SDP information in this example can also include but is not limited to the streaming media formats supported by the playback end and the capability information of the playback end, so as to facilitate the subsequent sending of real-time streaming media data that matches its streaming media format and the capability information of the playback end to the playback end. The specific information included in the SDP information is merely an example description. For other specific information included in the SDP information, please refer to the description in the related art and will not be repeated here.

[0048] Step 102: Obtain a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address.

[0049] It is understood that in different application scenarios, the implementation methods for obtaining the peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address are different. Exemplary implementation methods are as follows:

[0050] As an example, a node application request is sent to a PCDN scheduling server, where the node application request instructs the PCDN scheduling server to obtain a PCDN node that matches the playback terminal based on the IP address. A response message is then received from the PCDN scheduling server in response to the node application request, where the response message includes the PCDN node's communication information. Thus, by communicating with the PCDN scheduling server, the PCDN node that matches the playback terminal can be accurately determined.

[0051] In some exemplary embodiments, a possible implementation manner for the PCDN scheduling server to obtain a PCDN node matching the playback terminal based on the IP address of the playback terminal is as follows: based on the IP address of the playback terminal, the current location information and operator information of the playback terminal are determined, and multiple candidate PCDN nodes are obtained based on the operator information, wherein the operator information of each candidate PCDN node is the same as the operator information of the playback terminal; based on the location information corresponding to each candidate PCDN node, at least one PCDN node within a preset distance from the current location information is determined from the multiple candidate PCDN nodes, and the at least one determined PCDN node is used as the PCDN node matching the playback terminal.

[0052] In other exemplary implementations, a possible implementation method for the PCDN scheduling server to obtain a PCDN node matching the playback terminal based on the IP address of the playback terminal is as follows: based on the IP address of the playback terminal, determining the current location information and operator information of the playback terminal, obtaining multiple candidate PCDN nodes within a preset distance from the current location information, determining at least one PCDN node from the multiple candidate PCDN nodes whose operator information is the same as the operator information of the playback terminal, and using the determined PCDN node as the PCDN node matching the playback terminal.

[0053] Among them, the above-mentioned preset distance is a distance pre-set according to actual needs, for example, 100 meters, 50 meters, etc. In actual applications, the value of the preset distance can be pre-set according to actual needs, and this embodiment does not make specific limitations on this.

[0054] As another example, based on the IP address of the playback end, the current location information and operator information of the playback end are determined, and a PCDN node that matches the current location information and operator information is obtained from multiple PCDN nodes in the PCDN, and the obtained PCDN node is used as the PCDN node that matches the playback end.

[0055] Step 103: When the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, a forwarding instruction including a live channel identifier is sent to the PCDN node. The forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0056] In some examples, it can be determined whether a heartbeat message of a PCDN node is received within a preset time. If the heartbeat message is received, it is determined that the PCDN node is in a survival state, and the load in the heartbeat message is compared with a preset load threshold. If the load in the heartbeat message is less than or equal to the preset load threshold, it is determined that the PCDN node meets the conditions for sending real-time streaming media data to the playback end. At this time, a forwarding indication including a live channel identifier can be sent to the PCDN node, where the forwarding indication is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback end.

[0057] Among them, the preset time is a pre-set time, for example, 10 seconds, 20 seconds, 1 minute or 2 minutes, etc. In actual application, the value of the preset time can be set according to actual application requirements, and this embodiment does not make specific limitations on this.

[0058] The method for transmitting real-time streaming media data in the disclosed embodiment, after receiving a streaming media playback request from a playback terminal, determines the IP address of the playback terminal based on the streaming media playback request, and obtains a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the IP address. When the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, the method controls the PCDN node to transmit real-time streaming media data corresponding to the live channel identifier to the playback terminal. Thus, when transmitting streaming media data to the playback terminal, the corresponding streaming media data can be transmitted to the playback terminal via the PCDN node. This reduces the transmission traffic of the CDN node without affecting the quality of the streaming media data on the playback terminal, thereby reducing the transmission cost of the CDN node.

[0059] In some exemplary embodiments, sometimes the PCDN node is not in a live state, or, although the PCDN node is in a live state, the load on the PCDN node is greater than a preset load threshold. At this time, if the PCDN node is continued to be used to send real-time streaming media data to the playback end, the playback end is prone to real-time streaming media data jamming and poor quality. In this case, in order to ensure that the playback end can obtain high-quality real-time streaming media data in a timely manner, the real-time streaming media data corresponding to the live channel identifier can be sent to the playback end through the CDN node. In order to make this process clear, the following is combined with Figure 2This embodiment provides an exemplary description of the process. Figure 2 is a schematic diagram according to the second embodiment of the present disclosure.

[0060] like Figure 2 As shown, the method may include:

[0061] Step 201: Receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal.

[0062] Step 202: Obtain a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address.

[0063] Step 203: If the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, a forwarding instruction including the live channel identifier is sent to the PCDN node. The forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0064] It should be noted that, for the specific implementation of steps 201 to 203, reference can be made to the relevant description of the above embodiment, which will not be repeated here.

[0065] Step 204: When the PCDN node is not in a live state, or when the PCDN node is in a live state and the load of the PCDN node is greater than a preset load threshold, real-time streaming media data corresponding to the live channel identifier is obtained.

[0066] Step 205: Send the real-time streaming media data to the playback terminal.

[0067] Based on the above description, it can be seen that after determining the PCDN node that matches the playback terminal device, the CDN cloud node in this example embodiment determines whether the PCDN node is not in a live state, determines whether the load of the PCDN node is greater than a preset load threshold, and based on the judgment result, determines whether the PCDN node is suitable for sending the real-time streaming media data corresponding to the live channel identifier to the playback terminal. If it is determined that the PCDN node is suitable for sending the real-time streaming media data corresponding to the live channel identifier to the playback terminal, a forwarding instruction is sent to the PCDN node, so that the PCDN node sends the real-time streaming media data corresponding to the live channel identifier to the playback terminal based on the forwarding instruction. In other words, if the PCDN node is suitable for sending the real-time streaming media data corresponding to the live channel identifier to the playback terminal, the PCDN node will preferentially send the real-time streaming media data corresponding to the live channel identifier to the playback terminal, thereby reducing the downlink traffic of the CDN cloud node and improving the PCDN node bandwidth fan-out ratio, thereby achieving the purpose of reducing costs.

[0068] Correspondingly, if the PCDN node is determined to be unsuitable for transmitting the real-time streaming data corresponding to the live channel identifier to the playback end, the CDN node itself obtains the real-time streaming data corresponding to the live channel identifier and transmits the real-time streaming data to the playback end. In other words, if the PCDN node is determined to be unsuitable for transmitting the real-time streaming data corresponding to the live channel identifier to the playback end, the CDN node immediately transmits the corresponding real-time streaming data to the playback end, thereby achieving a minimum distribution quality guarantee. Overall, the quality of the real-time streaming data on the playback end is not reduced, and the playback of the real-time streaming data on the playback end is not affected, thereby improving the playback effect of the real-time streaming data on the playback end.

[0069] In this example embodiment, if the PCDN node is suitable for transmitting the real-time streaming media data corresponding to the live channel identifier to the player, the PCDN node will transmit the real-time streaming media data corresponding to the live channel identifier to the player, thereby reducing the downlink traffic of the CDN node and thus reducing the downlink cost of the CDN node. Furthermore, if the PCDN node is not suitable for transmitting the real-time streaming media data corresponding to the live channel identifier to the player, the CDN node itself will directly transmit the real-time streaming media data corresponding to the live channel identifier to the player, thus ensuring the quality of the real-time streaming media data on the player without affecting the playback of the real-time streaming media data on the player.

[0070] In order to clearly understand the present disclosure, Figure 3 The method for transmitting real-time streaming media data of this embodiment is described exemplarily.

[0071] Figure 3 is a schematic diagram according to a third embodiment of the present disclosure.

[0072] like Figure 3 As shown, the method may include:

[0073] Step 301: Receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal.

[0074] Step 302: Obtain a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address.

[0075] It should be noted that, for the specific implementation of step 301 and step 302, please refer to the relevant description of the embodiment of the present disclosure, which will not be repeated here.

[0076] Step 303: Send a response message to the streaming media playback request to the playback terminal, wherein the response message includes the communication information of the CDN cloud node and the communication information of the PCDN node.

[0077] In this example, in order to enable the playback end to establish an interactive connectivity establishment (ICE) connection with the CDN cloud node and the PCDN node respectively, and to send real-time streaming media data corresponding to the corresponding live channel identifier to the playback end through the ICE connection, this example can also return the communication information of the CDN cloud node and the communication information of the PCDN node to the playback end as a response message to the streaming media playback request.

[0078] The communication information of the CDN cloud node in this example may include the IP address and communication port information of the CDN cloud node.

[0079] The communication information of the PCDN node in this example may include the IP address and communication port information of the PCDN node.

[0080] Step 304: Receive a first interactive connection establishment ICE request including communication information of the CDN cloud node.

[0081] Step 305: Establish a first ICE connection with the CDN cloud node according to the first interactive connection establishment ICE request.

[0082] Step 306: Receive a binding request sent by the PCDN node. The binding request is sent by the PCDN node to the CDN cloud node based on the communication information of the CDN cloud node after receiving the binding request containing the communication information of the CDN cloud node. The binding request is sent by the playback terminal to the PCDN node.

[0083] Step 307: In response to the binding request, the communication information of the playback terminal, the communication information of the CDN cloud node, and the communication information of the PCDN node are bound.

[0084] Step 308: Send a binding response to the playback terminal through the PCDN node, where the binding response is used to indicate that the binding between the playback terminal, the PCDN node, and the CDN cloud node has been completed.

[0085] In this example, a binding request is used to complete the binding between the playback end, the PCDN node, and the CDN cloud node, making it easier to send control instructions to the PCDN node based on the binding relationship and to send corresponding real-time streaming media data to the playback end.

[0086] Step 309: Establish a second interactive connection with the PCDN node to establish an ICE connection.

[0087] Step 310: When the real-time streaming media data corresponding to the live channel identifier is received, a copy of the real-time streaming media data is sent to the PCDN node via the second ICE connection.

[0088] In some exemplary implementations, to ensure the reliability and real-time nature of data transmission, upon receiving real-time streaming media data corresponding to a live channel identifier, a real-time transport protocol (RTP) data packet corresponding to the real-time streaming media data may be generated and sent to the PCDN node via a second ICE connection.

[0089] Step 311: When the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, a forwarding instruction including a live channel identifier is sent to the PCDN node. The forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0090] Step 312: When the PCDN node is not alive, or when the PCDN node is alive and the load of the PCDN node is greater than a preset load threshold, real-time streaming media data corresponding to the live channel identifier is acquired.

[0091] Step 313: Send the real-time streaming media data to the playback terminal through the first ICE connection.

[0092] In this example, after obtaining the PCDN node that matches the playback end, the communication information of the CDN cloud node and the communication information of the PCDN node are returned to the playback end, so that the playback end establishes ICE connections with the CDN cloud node and the PCDN node respectively through the communication information of the CDN cloud node and the communication information of the PCDN node, so as to ensure the security and timeliness of the transmission between the playback end and the CDN cloud node, and the playback end and the PCDN node.

[0093] Based on any one of the above embodiments, Figure 4 The method for transmitting real-time streaming media data of this embodiment is further described as an example, wherein this embodiment further refines any one of the above embodiments.

[0094] Figure 4 is a schematic diagram according to a fourth embodiment of the present disclosure.

[0095] like Figure 4 As shown, the method may include:

[0096] Step 401: Receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal.

[0097] Step 402: Obtain a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address.

[0098] Step 403: If the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, a forwarding instruction including the live channel identifier is sent to the PCDN node. The forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0099] It should be noted that, for the specific implementation of steps 301 to 303, please refer to the relevant description of the embodiment of the present disclosure, which will not be repeated here.

[0100] Step 404: In response to the streaming media exit request from the player, a stop forwarding notification is sent to the PCDN node, wherein the stop forwarding notification is used to instruct the PCDN node to stop sending real-time streaming media data to the player.

[0101] The streaming media exit request is used to instruct the playback terminal to exit the live channel corresponding to the live channel identifier.

[0102] In this example, while sending real-time streaming media data to a player via a PCDN node, if the CDN cloud node receives a streaming exit request from the player, it indicates that the player has exited the live channel corresponding to the live channel identifier and no longer needs to send the corresponding real-time streaming media data to the player. At this point, the CDN cloud node can send a stop forwarding notification to the PCDN node, causing the PCDN node to stop sending real-time streaming media data to the player. This promptly frees up PCDN node resources, avoids wasting network resources, and promotes the rational use of PCDN node communication resources.

[0103] Figure 5 is a schematic diagram according to a fifth embodiment of the present disclosure.

[0104] like Figure 5 As shown, the real-time streaming media data transmission method may include:

[0105] Step 501: Receive a forwarding instruction from a content delivery network (CDN) cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier.

[0106] It should be noted that the main body of the real-time streaming media data transmission method in this embodiment is a real-time streaming media data transmission device, which can be implemented by software and / or hardware. The real-time streaming media data transmission device can be a point-to-point content distribution network PCDN node, or can be configured in a PCDN node.

[0107] Among them, for the relevant description of the playback end, please refer to the relevant description of the implementation of this disclosure, which will not be repeated here.

[0108] It should be noted that the forwarding instruction in this example is used to instruct the PCDN node to send the real-time streaming media data corresponding to the live channel identifier to the playback end.

[0109] It should be noted that the real-time streaming media data in the PCDN node can be sent by the CDN node, or sent by other PCDN nodes in the PCDN where the PCDN node is located, or sent by the streaming end. This embodiment does not specifically limit the method for obtaining real-time streaming media data in this PCDN node.

[0110] Step 502: Send the real-time streaming media data corresponding to the live channel identifier to the playback end.

[0111] The real-time streaming media data transmission method provided by the embodiments of the present disclosure sends the real-time streaming media data corresponding to the live channel identifier to the playback terminal through the PCDN node, thereby avoiding that all playback terminals obtain the real-time streaming media data from the CDN cloud node, reducing the downlink traffic of the CDN cloud node, and thus achieving the purpose of reducing the downlink cost of the real-time streaming media data sent by the CDN cloud node.

[0112] In one embodiment of the present disclosure, in order to establish a path for distributing streaming media data via a PCDN node, the PCDN node of the present disclosure receives a binding request sent by a playback terminal containing communication information of a CDN cloud node, forwards the binding request to the CDN cloud node, receives a binding response returned by the CDN cloud node in response to the binding request, and forwards the binding response to the playback terminal, wherein the binding response is used to indicate that the binding between the playback terminal, the PCDN node, and the CDN cloud node has been completed.

[0113] Correspondingly, the PCDN node also saves a forwarding message, wherein the forwarding information includes the communication information of the playback end, the communication information of the CDN cloud node, etc.

[0114] In some exemplary embodiments, after forwarding the binding request to the CDN cloud node, if it is detected that no binding response corresponding to the binding request is received within a preset time, the PCDN node may also delete the forwarding information containing the communication information of the playback end and the communication information of the CDN cloud node, and send a prompt message to the playback end, wherein the prompt message is used to indicate that the binding failed.

[0115] In some exemplary embodiments, in order to enable the CDN cloud node to send the corresponding real-time streaming media data to the playback end with the help of the PCDN node, the PCDN node in this example can also establish a first interactive connection with the playback end to establish an ICE connection, and establish a second interactive connection with the CDN cloud node to establish an ICE connection. Correspondingly, the real-time streaming media data sent by the CDN cloud node is received through the first interactive connection to establish an ICE connection, and the real-time streaming media data is sent to the playback end through the second interactive connection to establish an ICE connection. As a result, the PCDN node can send the real-time streaming media data corresponding to the live channel identifier to the playback end in a timely manner through the established downlink path, thereby improving the efficiency of the playback end in obtaining real-time streaming media data and improving the timeliness of real-time streaming media data transmission.

[0116] In some exemplary embodiments, in order to enable the CDN node to obtain the current load of the PCDN node in a timely manner and determine whether to send the corresponding real-time streaming media data through the PCDN node based on the load, the PCDN node in this example can also send heartbeat information to the CDN cloud node, where the heartbeat information includes the current load corresponding to the PCDN node.

[0117] In some exemplary embodiments, to rationally utilize PCDN node resources, upon receiving a stop forwarding notification from a CDN cloud node (the stop forwarding notification is sent by the CDN cloud node after receiving a streaming media exit request from a player), the CDN cloud node stops sending real-time streaming media data to the player. This promptly releases PCDN node resources, avoids wasting network resources, and promotes the rational utilization of PCDN node communication resources.

[0118] In order to clearly understand the present disclosure, Figure 6 The method for transmitting real-time streaming media data of this embodiment is described exemplarily.

[0119] Figure 6 is a schematic diagram according to a sixth embodiment of the present disclosure.

[0120] like Figure 6 As shown, the real-time streaming media data transmission method may include:

[0121] Step 601: The player sends a play request to the CDN cloud node.

[0122] The playback request may include communication information of the playback end, live channel identification and other information.

[0123] In step 602, the CDN cloud node obtains the PCDN node that matches the playback terminal from the PCDN scheduling server.

[0124] In some exemplary embodiments, the CDN cloud node sends a node application request to the PCDN scheduling server, wherein the node application request is used to instruct the PCDN scheduling server to obtain a PCDN node that matches the playback terminal based on the IP address; the CDN cloud node receives a response message returned by the PCDN scheduling server in response to the node application request, wherein the response message includes communication information of the PCDN node.

[0125] Among them, the specific implementation method of the PCDN scheduling server obtaining the PCDN node matching the playback terminal based on the IP address can be found in the relevant description of the embodiments of the present disclosure, which will not be repeated here.

[0126] It should be noted that the PCDN scheduling server in this example is used to manage PCDN nodes. Correspondingly, the PCDN node can send a registration request to the PCDN scheduling service and send heartbeat information to the PCDN scheduling server, wherein the heartbeat information includes the current load corresponding to the PCDN node.

[0127] In addition, the PCDN node in this example may also send a logout request to the PCDN scheduling server.

[0128] Step 603: The CDN cloud node sends a ReadyToRelay request to the PCDN node.

[0129] The request to be forwarded may include a live channel identifier, a request unique identifier, and communication information of the CDN cloud node.

[0130] The request unique identifier in this example includes three parts of information: a universally unique identifier (UUID), the IP address information of the CDN cloud node, and the communication port number information of the CDN cloud node.

[0131] The "prepare to forward request" is used to instruct the PCDN node to forward the request to the CDN cloud node once the playback terminal sends a request containing the unique identifier of the request.

[0132] Step 604: Return a response message corresponding to the playback request to the playback end.

[0133] The response message may include the request unique identifier, the communication information of the CDN cloud node, and the communication information of the PCDN node.

[0134] In some example implementations, the request unique identifier may be configured in the ufrag field in the response message, and correspondingly, the communication information of the CDN cloud node and the communication information of the PCDN node may be configured in the Candidate field in the response message.

[0135] Step 605: The playback terminal establishes an ICE connection with the CDN cloud node according to the communication information of the CDN cloud node.

[0136] In step 606, the playback end sends a STUN bind request packet containing a request unique identifier to the communication information of the corresponding PCDN node based on the communication information of the PCDN node. Correspondingly, if the PCDN node determines that the binding request packet contains the request unique identifier, it forwards the binding request packet to the CDN cloud node, establishes an ICE connection with the playback end, and establishes a forwarding ICE connection with the CDN cloud node.

[0137] In step 607, after receiving the video data of the live channel, the CDN cloud node converts the video data into an RTP packet and forwards a copy of the RTP data packet to the PCDN node via the ICE connection, so that the PCDN node sends the RTP data packet to the playback end via the ICE connection.

[0138] Correspondingly, the playback end decodes the received RTP data packet to obtain the video data corresponding to the live channel identifier and displays the video data.

[0139] Specifically, if the PCDN node is alive and its load is less than or equal to a preset load threshold, the CDN cloud node sends a forwarding instruction to the PCDN node, instructing it to send the video data corresponding to the live channel identifier to the player based on the forwarding instruction. This establishes two delivery paths for the video data, with the PCDN node being prioritized for delivery to the player. This reduces the CDN node's delivery traffic and improves the PCDN node's bandwidth fan-out ratio, thereby achieving cost reduction.

[0140] In addition, it should be noted that the playback end in this example does not need to be improved and can be implemented using standard webRTC technology, which reduces the cost of the live broadcast system.

[0141] Step 608: When the PCDN node is not alive, or when the PCDN node is alive and the load of the PCDN node is greater than a preset load threshold, the CDN node sends the video data corresponding to the live channel identifier to the playback terminal through the ICE node.

[0142] It should be noted that the playback end and the CDN cloud node in this example interact based on the Real-time Transport Control Protocol (RTCP).

[0143] In this example, when the PCDN transmission quality is good, the PCDN node sends the video data corresponding to the live channel identifier to the playback end. When the PCDN transmission quality is poor, the video data corresponding to the live channel identifier is sent directly to the playback end through the CDN node. In other words, the playback end can not only obtain the video data corresponding to the live channel identifier from the CDN node, but also obtain the video data corresponding to the live channel identifier through the PCDN node. Therefore, through dual-path mutual backup, when the PCDN node cannot transmit the video data, the video data can be transmitted to the playback end through the CDN node, thereby ensuring the quality of the video data on the playback end, and not affecting the playback of the video data on the playback end, thereby improving the fluency of the video data on the playback end.

[0144] In order to implement the above embodiment, the embodiment of the present disclosure further provides a transmission device for real-time streaming media data.

[0145] Figure 7 This is a schematic diagram of the seventh embodiment of the present disclosure, which provides a transmission device for real-time streaming media data. It should be noted that the transmission device for real-time streaming media data in this example embodiment is applied to a content distribution network CDN cloud node.

[0146] like Figure 7 As shown, the real-time streaming media data transmission device 70 may include a first receiving module 701, a first acquiring module 702 and a first sending module 703, wherein:

[0147] The first receiving module 701 is configured to receive a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal.

[0148] The first acquisition module 702 is used to acquire a peer-to-peer content distribution network (PCDN) node that matches the playback terminal according to the Internet Protocol (IP) address.

[0149] The first sending module 703 is configured to send a forwarding instruction including a live channel identifier to the PCDN node when the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0150] The real-time streaming media data transmission device of the disclosed embodiment, after receiving a streaming media playback request from a playback terminal, determines the IP address of the playback terminal based on the streaming media playback request, and based on the IP address, obtains a peer-to-peer content distribution network (PCDN) node that matches the playback terminal. If the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, the device controls the PCDN node to transmit real-time streaming media data corresponding to the live channel identifier to the playback terminal. Thus, in the process of transmitting streaming media data to the playback terminal, the corresponding streaming media data can be transmitted to the playback terminal via the PCDN node, which can reduce the transmission traffic of the CDN node without affecting the quality of the streaming media data on the playback terminal, thereby reducing the transmission cost of the CDN node.

[0151] In one embodiment of the present disclosure, Figure 8 As shown, the real-time streaming media data transmission device 80 may include: a first receiving module 801, a first acquisition module 802, a first sending module 803, a second acquisition module 804, a second sending module 805, a second receiving module 806, a first connection establishment module 807, a third receiving module 808, a binding module 809, a third sending module 810, a fourth sending module 811, a fifth sending module 812, a second connection establishment module 813 and a sixth sending module 814.

[0152] It should be noted that the detailed description of the first receiving module 801 can be found in the above Figure 7 The description of the first receiving module 701 in will not be described again here.

[0153] In one embodiment of the present disclosure, the second acquisition module 804 is configured to acquire real-time streaming media data corresponding to the live channel identifier when the PCDN node is not in a live state, or when the PCDN node is in a live state and the load of the PCDN node is greater than a preset load threshold.

[0154] The second sending module 805 is used to send the real-time streaming media data to the playback end.

[0155] In one embodiment of the present disclosure, the first acquisition module 802 is specifically configured to: send a node application request to a PCDN scheduling server, wherein the node application request is used to instruct the PCDN scheduling server to obtain a PCDN node that matches the playback terminal based on the IP address; and receive a response message returned by the PCDN scheduling server in response to the node application request, wherein the response message includes communication information of the PCDN node.

[0156] In one embodiment of the present disclosure, the second receiving module 806 is configured to receive a first interactive connection establishment ICE request including communication information of a CDN cloud node;

[0157] A first connection establishing module 807 is configured to establish a first ICE connection with the CDN cloud node according to the first interactive connection establishment ICE request;

[0158] The second sending module 805 is specifically configured to send the real-time streaming media data to the playback terminal via the first ICE connection.

[0159] In one embodiment of the present disclosure, the third receiving module 808 is configured to receive a binding request sent by a PCDN node, wherein the binding request is sent by the PCDN node to the CDN cloud node based on the communication information of the CDN cloud node after receiving the binding request including the communication information of the CDN cloud node, wherein the binding request is sent by the playback terminal to the PCDN node;

[0160] Binding module 809, for binding the communication information of the playback terminal, the communication information of the CDN cloud node, and the communication information of the PCDN node in response to the binding request;

[0161] The third sending module 810 is used to send a binding response to the playback terminal through the PCDN node, wherein the binding response is used to indicate that the binding between the playback terminal, the PCDN node and the CDN cloud node has been completed.

[0162] In one embodiment of the present disclosure, the fourth sending module 811 is configured to send a response message to the playback terminal in response to the streaming media playback request, wherein the response message includes communication information of the CDN cloud node and communication information of the PCDN node.

[0163] In one embodiment of the present disclosure, the fifth sending module 812 is configured to send a copy of the real-time streaming media data to the PCDN node upon receiving the real-time streaming media data corresponding to the live channel identifier.

[0164] In one embodiment of the present disclosure, the second connection establishing module 813 establishes a second interactive connection with the PCDN node to establish an ICE connection;

[0165] The fifth sending module 812 is specifically configured to: upon receiving the real-time streaming media data corresponding to the live channel identifier, establish an ICE connection based on the second interactive connection to send the real-time streaming media data to the live channel identifier.

[0166] The PCDN node sends a forwarding instruction including the live channel identifier.

[0167] In one embodiment of the present disclosure, the fifth sending module 812 is specifically configured to: upon receiving the real-time streaming media data corresponding to the live channel identifier, generate a real-time transport protocol (RTP) data packet corresponding to the real-time streaming media data; and establish an ICE connection through the second interactive connection to send the RTP data packet to the PCDN node.

[0168] In one embodiment of the present disclosure, the sixth sending module 814 is configured to send a stop forwarding notification to the PCDN node in response to a streaming media exit request from the playback terminal, wherein the stop forwarding notification is used to instruct the PCDN node to stop sending real-time streaming media data to the playback terminal.

[0169] It should be noted that the above explanation of the method for transmitting real-time streaming media data is also applicable to the device for transmitting real-time streaming media data in this embodiment, and will not be described in detail in this embodiment.

[0170] Figure 9 This is a schematic diagram of the ninth embodiment of the present disclosure, which provides a transmission device for real-time streaming media data. It should be noted that the transmission device for real-time streaming media data in this example embodiment is applied to a point-to-point content distribution network PCDN node.

[0171] like Figure 9 As shown, the real-time streaming media data transmission device 90 may include a first receiving module 901 and a first sending module 902, wherein:

[0172] The first receiving module 901 is used to receive a forwarding instruction from a content delivery network CDN cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, and the streaming media playback request includes a live channel identifier, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal.

[0173] The first sending module 902 is configured to send the real-time streaming media data corresponding to the live channel identifier to the playback end.

[0174] The real-time streaming media data transmission device provided by the embodiment of the present disclosure sends the real-time streaming media data corresponding to the live channel identifier to the playback terminal through the PCDN node, thereby avoiding that all playback terminals obtain the real-time streaming media data from the CDN cloud node, reducing the downlink traffic of the CDN cloud node, and thus achieving the purpose of reducing the downlink cost of the real-time streaming media data sent by the CDN cloud node.

[0175] In one embodiment of the present disclosure, Figure 10As shown, the real-time streaming media data transmission device 100 may include: a first receiving module 1001, a first sending module 1002, a second sending module 1003, a second receiving module 1004, a third sending module 1005, a connection establishment module 1006, a third receiving module 1007, a fourth sending module 1008, a fourth receiving module 1009 and a stop module 1010.

[0176] It should be noted that the detailed description of the first receiving module 1001 can be found in the above Figure 9 The description of the first receiving module 901 in will not be described again here.

[0177] In one embodiment of the present disclosure, the second sending module 1003 is configured to forward the binding request to the CDN cloud node in response to the binding request sent by the playback terminal and including the communication information of the CDN cloud node;

[0178] A second receiving module 1004 is configured to receive a binding response returned by the CDN cloud node in response to the binding request, wherein the binding response is used to indicate that the binding between the playback terminal, the PCDN node, and the CDN cloud node has been completed;

[0179] The third sending module 1005 is used to forward the binding response to the playback end.

[0180] In one embodiment of the present disclosure, the connection establishing module 1006 is configured to establish a first interactive connection to establish an ICE connection with the playback terminal, and to establish a second interactive connection to establish an ICE connection with the CDN cloud node;

[0181] The third receiving module 1007 is configured to establish an ICE connection through the first interactive connection to receive real-time streaming media data sent by the CDN cloud node;

[0182] The first sending module 1002 is specifically configured to establish an ICE connection through a second interactive connection to send real-time streaming media data to a playback terminal.

[0183] In one embodiment of the present disclosure, the fourth sending module 1008 is configured to send heartbeat information to the CDN cloud node, wherein the heartbeat information includes the current load corresponding to the PCDN node.

[0184] In one embodiment of the present disclosure, the fourth receiving module 1009 is configured to receive a stop forwarding notification sent by a CDN cloud node, wherein the stop forwarding notification is sent by the CDN cloud node after receiving a streaming media exit request from a player;

[0185] The stop module 1010 is used to stop sending the real-time streaming media data to the player end according to the stop forwarding notification.

[0186] It should be noted that the above explanation of the method for transmitting real-time streaming media data is also applicable to the device for transmitting real-time streaming media data in this embodiment, and will not be described in detail in this embodiment.

[0187] Figure 11 is a schematic diagram according to the eleventh embodiment of the present disclosure.

[0188] like Figure 11 As shown, the transmission system 110 of the real-time streaming media data may include: a playback terminal 1101, a content delivery network CDN cloud node 1102 and a point-to-point content delivery network PCDN node 1103, wherein:

[0189] The playback terminal 1101 is used to send a playback request to the CDN cloud node 1102 , wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal 1101 .

[0190] The CDN cloud node 1102 is used to receive a streaming media playback request and obtain a point-to-point content distribution network PCDN node 1103 that matches the playback terminal 1101 according to the Internet Protocol IP address.

[0191] PCDN node 1103 is configured to send a forwarding instruction including a live channel identifier to PCDN node 1103 when PCDN node 1103 is alive and the load of PCDN node 1103 is less than or equal to a preset load threshold, wherein the forwarding instruction is used to instruct PCDN node 1103 to send real-time streaming media data corresponding to the live channel identifier to the playback end.

[0192] The real-time streaming media data transmission system proposed in the embodiments of the present disclosure, upon receiving a streaming media playback request from a playback terminal, determines the IP address of the playback terminal based on the streaming media playback request, and based on the IP address, obtains a peer-to-peer content distribution network (PCDN) node that matches the playback terminal. When the PCDN node is alive and the load of the PCDN node is less than or equal to a preset load threshold, the system controls the PCDN node to transmit real-time streaming media data corresponding to the live channel identifier to the playback terminal. Thus, when transmitting streaming media data to the playback terminal, the corresponding streaming media data can be transmitted to the playback terminal via the PCDN node. This reduces the transmission traffic of the CDN node without affecting the quality of the streaming media data on the playback terminal, thereby reducing the transmission cost of the CDN node.

[0193] In one embodiment of the present disclosure, the CDN cloud node 1102 is further configured to: when the PCDN node 1103 is not alive, or when the PCDN node 1103 is alive and the load of the PCDN node 1103 is greater than a preset load threshold, obtain real-time streaming media data corresponding to the live channel identifier and send the real-time streaming media data to the playback terminal 1101.

[0194] In one embodiment of the present disclosure, the system may further include a PCDN scheduling server. Accordingly, CDN cloud node 1102 is further configured to send a node application request to the PCDN scheduling server, wherein the node application request instructs the PCDN scheduling server to obtain a PCDN node 1103 matching the playback terminal based on the IP address; and receive a response message from the PCDN scheduling server in response to the node application request, wherein the response message includes communication information of PCDN node 1103.

[0195] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0196] Figure 12 A schematic block diagram of an example electronic device 1200 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0197] like Figure 12 As shown, the electronic device 1200 may include a computing unit 1201, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1202 or a computer program loaded from a storage unit 1208 into a random access memory (RAM) 1203. Various programs and data required for the operation of the device 1200 may also be stored in the RAM 1203. The computing unit 1201, the ROM 1202, and the RAM 1203 are connected to each other via a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.

[0198] Various components in device 1200 are connected to I / O interface 1205, including an input unit 1206, such as a keyboard and mouse; an output unit 1207, such as various types of displays and speakers; a storage unit 1208, such as a magnetic disk and optical disk; and a communication unit 1209, such as a network card, a modem, a wireless communication transceiver, etc. Communication unit 1209 allows device 1200 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0199] The computing unit 1201 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1201 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1201 performs the various methods and processes described above, such as the method for transmitting real-time streaming data. For example, in some embodiments, the method for transmitting real-time streaming data can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 1208. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 1200 via the ROM 1202 and / or the communication unit 1209. When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the method for transmitting real-time streaming data described above can be performed. Alternatively, in other embodiments, the computing unit 1201 may be configured to execute the method for transmitting real-time streaming media data in any other appropriate manner (for example, by means of firmware).

[0200] Various embodiments of the devices and techniques described above herein can be implemented in digital electronic circuit devices, integrated circuit devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), devices on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable device that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage device, at least one input device, and at least one output device, and transmit data and instructions to the storage device, the at least one input device, and the at least one output device.

[0201] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0202] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use with an instruction execution device, device or equipment or used in combination with an instruction execution device, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor devices, devices or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0203] To provide interaction with a user, the devices and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0204] The apparatus and techniques described herein can be implemented in a computing device that includes backend components (e.g., as a data server), or a computing device that includes middleware components (e.g., an application server), or a computing device that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the apparatus and techniques described herein), or a computing device that includes any combination of such backend components, middleware components, or front-end components. The components of the apparatus can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0205] A computer device may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. The client-server relationship is established by computer programs running on the respective computers and establishing a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and VPS services ("Virtual Private Servers" or "VPS"). The server may be a cloud server, a distributed device server, or a server integrated with blockchain.

[0206] It's important to note that artificial intelligence (AI) is the study of how computers can simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, and planning). This encompasses both hardware and software technologies. AI hardware technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, and big data processing. AI software technologies primarily encompass computer vision, speech recognition, natural language processing, machine learning / deep learning, big data processing, and knowledge graphs.

[0207] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not a limitation herein.

[0208] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.

Claims

1. A method for transmitting real-time streaming media data, applied to a content delivery network (CDN) cloud node, comprising: receiving a streaming media playback request from a player, the streaming media playback request including a live channel identifier and an Internet Protocol (IP) address of the player; Obtaining a peer-to-peer content distribution network (PCDN) node that matches the playback terminal based on the Internet Protocol (IP) address; Sending a response message to the player for the streaming media playback request, including the communication information of the CDN cloud node and the PCDN node; receiving a first interactive connection establishment ICE request including communication information of a CDN cloud node; establishing a first ICE connection with the playback end according to the first interactive connection establishment ICE request; In response to the binding request sent by the PCDN node, the communication information of the playback terminal, the communication information of the CDN cloud node, and the communication information of the PCDN node are bound; Sending a binding response to the player via the PCDN node to indicate that the binding is complete; Establishing a second interactive connection with the PCDN node to establish an ICE connection; Upon receiving the real-time streaming media data corresponding to the live channel identifier, establishing an ICE connection based on the second interactive connection and sending a copy of the real-time streaming media data to the PCDN node; If the PCDN node is alive and the load of the PCDN node is less than or equal to the preset load threshold, a forwarding instruction including the live channel identifier is sent to the PCDN node. The forwarding instruction is used to instruct the PCDN node to send the real-time streaming media data corresponding to the live channel identifier to the playback end. If the PCDN node is not in a live state, or if the PCDN node is in a live state and the load of the PCDN node is greater than the preset load threshold, obtaining real-time streaming media data corresponding to the live channel identifier; The CDN cloud node sends the real-time streaming media data to the playback end through the first ICE connection.

2. The method according to claim 1, wherein Acquiring a peer-to-peer content distribution network (PCDN) node matching the playback terminal according to the Internet Protocol (IP) address, including: Sending a node application request to a PCDN scheduling server, wherein the node application request is used to instruct the PCDN scheduling server to obtain the PCDN node matching the playback terminal based on the IP address; Receive a response message returned by the PCDN scheduling server in response to the node application request, wherein the response message includes communication information of the PCDN node.

3. The method according to claim 1, wherein The step of establishing an ICE connection based on the second interactive connection and sending a copy of the real-time streaming media data to the PCDN node upon receiving the real-time streaming media data corresponding to the live channel identifier includes: When the real-time streaming media data corresponding to the live channel identifier is received, an ICE connection is established based on the second interactive connection and a forwarding instruction including the live channel identifier is sent to the PCDN node.

4. The method according to claim 2, wherein: The step of establishing an ICE connection based on the second interactive connection and sending a forwarding instruction including the live channel identifier to the PCDN node upon receiving the real-time streaming media data corresponding to the live channel identifier includes: When receiving the real-time streaming media data corresponding to the live channel identifier, generating a real-time transport protocol RTP data packet corresponding to the real-time streaming media data; An ICE connection is established through the second interactive connection to send the RTP data packet to the PCDN node.

5. The method according to claim 1, wherein The method further comprises: In response to the streaming media exit request of the player, a stop forwarding notification is sent to the PCDN node, wherein the stop forwarding notification is used to instruct the PCDN node to stop sending the real-time streaming media data to the player.

6. A method for transmitting real-time streaming media data, applied to a peer-to-peer content distribution network (PCDN) node, the method comprising: Receiving a forwarding instruction from a content delivery network (CDN) cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier determined by the method of claim 1 to the playback terminal; The real-time streaming media data corresponding to the live channel identifier is sent to the playback end.

7. The method according to claim 6, wherein: The method further comprises: Sending heartbeat information to the CDN cloud node, wherein the heartbeat information includes the current load corresponding to the PCDN node.

8. The method according to claim 6 or 7, wherein: The method further comprises: Receiving a stop forwarding notification sent by the CDN cloud node, wherein the stop forwarding notification is sent by the CDN cloud node after receiving a streaming media exit request from the player; According to the stop forwarding notification, the real-time streaming media data is stopped from being sent to the playback end.

9. A device for transmitting real-time streaming media data, applied to a content delivery network (CDN) cloud node, comprising: A first receiving module is used to receive a streaming media playback request from a playback terminal, where the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal; A first acquisition module is used to acquire a peer-to-peer content distribution network (PCDN) node that matches the playback terminal according to the Internet Protocol (IP) address; A fourth sending module, configured to send a response message to the playback end for the streaming media playback request, including communication information of the CDN cloud node and communication information of the PCDN node; A second receiving module is configured to receive a first interactive connection establishment ICE request including communication information of a CDN cloud node; A first connection establishing module, configured to establish a first ICE connection with the playback terminal according to a first interactive connection establishment ICE request; A binding module, configured to bind the communication information of the playback terminal, the communication information of the CDN cloud node, and the communication information of the PCDN node in response to a binding request sent by the PCDN node; A third sending module is used to send a binding response indicating that the binding is completed to the playback terminal through the PCDN node; A second connection establishing module, configured to establish a second interactive connection with the PCDN node to establish an ICE connection; a fifth sending module, configured to, upon receiving the real-time streaming media data corresponding to the live channel identifier, establish an ICE connection based on the second interactive connection and send a copy of the real-time streaming media data to the PCDN node; a first sending module configured to send a forwarding instruction including a live channel identifier to the PCDN node if the PCDN node is in an alive state and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction instructs the PCDN node to send real-time streaming media data corresponding to the live channel identifier to the playback terminal; a second acquisition module, configured to acquire real-time streaming media data corresponding to the live channel identifier if the PCDN node is not in a live state, or if the PCDN node is in a live state and the load of the PCDN node is greater than the preset load threshold; The second sending module is used for the CDN cloud node to send the real-time streaming media data to the playback end through the first ICE connection.

10. The device according to claim 9, wherein The first acquisition module is specifically configured to: Sending a node application request to a PCDN scheduling server, wherein the node application request is used to instruct the PCDN scheduling server to obtain the PCDN node matching the playback terminal based on the IP address; Receive a response message returned by the PCDN scheduling server in response to the node application request, wherein the response message includes communication information of the PCDN node.

11. The device according to claim 9, wherein The device further comprises: The fifth sending module is specifically configured to: When the real-time streaming media data corresponding to the live channel identifier is received, an ICE connection is established based on the second interactive connection and a forwarding instruction including the live channel identifier is sent to the PCDN node.

12. The device according to claim 11, wherein The fifth sending module is specifically configured to: When receiving the real-time streaming media data corresponding to the live channel identifier, generating a real-time transport protocol RTP data packet corresponding to the real-time streaming media data; An ICE connection is established through the second interactive connection to send the RTP data packet to the PCDN node.

13. The device according to claim 9, wherein The device further comprises: The sixth sending module is configured to send a stop forwarding notification to the PCDN node in response to the streaming media exit request of the player, wherein the stop forwarding notification is used to instruct the PCDN node to stop sending the real-time streaming media data to the player.

14. A device for transmitting real-time streaming media data, applied to a peer-to-peer content distribution network (PCDN) node, comprising: a first receiving module, configured to receive a forwarding instruction from a content delivery network (CDN) cloud node, wherein the forwarding instruction is sent by the CDN cloud node after receiving a streaming media playback request from a playback terminal, wherein the streaming media playback request includes a live channel identifier, and wherein the forwarding instruction is used to instruct the PCDN node to transmit real-time streaming media data corresponding to the live channel identifier to the playback terminal; The first sending module is configured to send the real-time streaming media data corresponding to the live channel identifier determined by the method of claim 1 to the playback end.

15. The device according to claim 14, wherein The device further comprises: The fourth sending module is configured to send heartbeat information to the CDN cloud node, wherein the heartbeat information includes the current load corresponding to the PCDN node.

16. The device according to any one of claims 14 or 15, wherein The device further comprises: a fourth receiving module, configured to receive a stop forwarding notification sent by the CDN cloud node, wherein the stop forwarding notification is sent by the CDN cloud node after receiving a streaming media exit request from the player; The stop module is used to stop sending the real-time streaming media data to the playback end according to the stop forwarding notification.

17. A real-time streaming media data transmission system, comprising a playback terminal, a content delivery network (CDN) cloud node, and a point-to-point content delivery network (PCDN) node, wherein: The playback terminal is configured to send a playback request to the CDN cloud node, wherein the streaming media playback request includes a live channel identifier and an Internet Protocol (IP) address of the playback terminal; The CDN cloud node is configured to receive the streaming media playback request and, based on the Internet Protocol IP address, obtain a peer-to-peer content delivery network (PCDN) node that matches the playback terminal; The PCDN node is configured to send a forwarding instruction including the live channel identifier to the PCDN node when the PCDN node is in an alive state and the load of the PCDN node is less than or equal to a preset load threshold, wherein the forwarding instruction is used to instruct the PCDN node to send real-time streaming media data corresponding to the live channel identifier determined by the method according to any one of claims 1 to 5 to the playback end.

18. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.

19. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 8.

20. A computer program product comprising a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Streaming media playing method and device

    CN108900900A

  • Network resource configuration adjustment method and device, server and storage medium

    CN112153419A

  • Media data processing method, device and system, electronic equipment and storage medium

    CN113132376A