Live broadcast data processing method and device, electronic equipment and storage medium
By creating a live broadcast room for connecting to a mic in the push stream mode and converting media streams into low-latency protocol transmission, the problem of high delay in connecting to a mic in the push stream mode is solved, and high real-time and unsensed picture switching is achieved.
Patent Information
- Application Number
- CN202311611276.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-28
- Publication Date
- 2025-05-30
AI Technical Summary
In the push streaming mode, the connection between anchors has a high delay and poor real-time performance. This is mainly due to the push streaming mode using third-party software to push streaming and pull streaming, which leads to the impact of network transmission, encoding and decoding and other links.
The transmission delay is reduced by creating a live broadcast room for connecting to a microphone on the server side and establishing a microphone between the host terminals, and converting the original media stream into a target media stream transmitted based on the second transmission protocol with low latency.
It realizes the reduction of delay in the press-up mode, improves the real-timeness of the press-up, and realizes the unconscious switching of the screen after the press-up through the merger flow to the audience terminal.
Smart Images

Figure CN120075485A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of live broadcast technology, and particularly to a method, apparatus, electronic device, and storage medium for processing live broadcast data. Background Art
[0002] With the development of Internet technology, the application of live broadcast technology has become more and more extensive. In related technologies, the live broadcast mode of the anchor can generally be divided into a push stream mode and a camera mode. At present, in the live broadcast process, the connection between anchors has become a common live broadcast interaction method. However, since the push stream mode uses a third-party software to transmit the media stream through push stream and pull stream, the latency of the connection during the push stream mode is relatively high and the real-time performance is poor. Summary of the Invention
[0003] The following is an overview of the subject matter described in detail in this application. This overview is not intended to limit the scope of protection of the claims.
[0004] Embodiments of this application provide a method, apparatus, electronic device, and storage medium for processing live broadcast data, which can reduce the latency of the connection and improve the real-time performance of the connection.
[0005] On the one hand, embodiments of this application provide a method for processing live broadcast data, which is applied to a server. The method for processing live broadcast data includes:
[0006] Receiving a first push stream request sent by a first anchor terminal. When the first push stream request carries a connection identifier, creating a first live broadcast room for connection. Among them, the first push stream request is used to request a live broadcast in a second live broadcast room based on a first transmission protocol in a push stream mode, and the connection identifier is used to indicate a connection during the live broadcast process;
[0007] Receiving a first original media stream sent by the first anchor terminal based on the first transmission protocol, and receiving a second original media stream sent by a second anchor terminal;
[0008] When the first anchor terminal establishes a connection with the second anchor terminal during the live broadcast, converting the first original media stream into a first target media stream transmitted based on a second transmission protocol, where the transmission latency of the second transmission protocol is less than the transmission latency of the first transmission protocol;
[0009] Sending the first target media stream to the second anchor terminal based on the first live broadcast room, merging the second original media stream and the first original media stream into a merged media stream, and sending the merged media stream to a first audience terminal based on the second live broadcast room.
[0010] On the other hand, an embodiment of the present application further provides a live broadcast data processing method, which is applied to a first host terminal. The live broadcast data processing method includes:
[0011] Sending a first streaming request carrying a co-hosting identifier to a server, so that the server responds to the co-hosting identifier to create a first live broadcast room for co-hosting. Among them, the first streaming request is used to request live broadcast in a second live broadcast room based on a push streaming mode of a first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live broadcast;
[0012] Sending a first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes co-hosting with a second host terminal during the live broadcast, the server converts the first original media stream into a first target media stream transmitted based on a second transmission protocol, obtains a second original media stream sent by the second host terminal, sends the first target media stream to the second host terminal based on the first live broadcast room, combines the second original media stream and the first original media stream into a combined media stream, and sends the combined media stream to a first audience terminal based on the second live broadcast room;
[0013] Among them, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
[0014] On the other hand, an embodiment of the present application further provides a live broadcast data processing device, including:
[0015] A live broadcast room creation module, configured to receive a first streaming request sent by a first host terminal, and create a first live broadcast room for co-hosting when the first streaming request carries a co-hosting identifier. Among them, the first streaming request is used to request live broadcast in a second live broadcast room based on a push streaming mode of a first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live broadcast;
[0016] A media stream receiving module, configured to receive a first original media stream sent by the first host terminal based on the first transmission protocol, and receive a second original media stream sent by a second host terminal;
[0017] A conversion module, configured to convert the first original media stream into a first target media stream transmitted based on a second transmission protocol when the first host terminal establishes co-hosting with the second host terminal during the live broadcast. Among them, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol;
[0018] A media stream sending module, configured to send the first target media stream to the second host terminal based on the first live room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to the first viewer terminal based on the second live room.
[0019] Further, the live room creation module is further configured to:
[0020] Extract a streaming key from the first streaming request;
[0021] Verify the streaming key. When the verification result indicates that the streaming key includes a co-hosting identifier and the live room identifier of the second live room, create a first live room for co-hosting according to the live room identifier.
[0022] Further, the streaming key is obtained by encrypting the co-hosting identifier and the live room identifier through a target encryption algorithm. The live room creation module is further configured to:
[0023] Decrypt the streaming key through a target decryption algorithm to obtain decryption data, where the target decryption algorithm is the inverse algorithm of the target encryption algorithm;
[0024] Verify the decryption data. When the verification result indicates that the decryption data includes the co-hosting identifier and the live room identifier, create a first live room for co-hosting according to the live room identifier.
[0025] Further, the live room creation module is further configured to:
[0026] Receive a live room creation request for live streaming in the streaming mode sent by the first host terminal, and generate the live room identifier corresponding to the first host terminal;
[0027] When the live room creation request carries the co-hosting identifier, generate a target random number, and concatenate the co-hosting identifier, the live room identifier, and the target random number into an original string;
[0028] Encrypt the original string through a target encryption algorithm to obtain a streaming key, and send the streaming key to the first host terminal.
[0029] Further, the media stream sending module is further configured to:
[0030] Send the first target media stream and the second original media stream to the second host terminal based on the first live room, so that the second host terminal can simultaneously display the pictures corresponding to the first target media stream and the second original media stream respectively.
[0031] Further, the second original media stream is sent based on the first transmission protocol, and the live broadcast room creation module is further configured to:
[0032] Receive a second streaming request sent by the second host terminal. When the second streaming request carries the co-hosting identifier, create a third live broadcast room for co-hosting, where the second streaming request is used to request a live broadcast based on the streaming mode of the first transmission protocol in a fourth live broadcast room;
[0033] Further, the second original media stream is sent based on the first transmission protocol, and the media stream sending module is further configured to:
[0034] Convert the second original media stream into a second target media stream transmitted based on the second transmission protocol, send the second target media stream to the first host terminal based on the third live broadcast room, and send the merged media stream to the second audience terminal based on the fourth live broadcast room.
[0035] Further, the media stream sending module is further configured to:
[0036] Send the second target media stream and the first original media stream to the first host terminal based on the third live broadcast room, so that the first host terminal can simultaneously display the respective corresponding pictures of the second target media stream and the first original media stream.
[0037] Further, the media stream sending module is further configured to:
[0038] Send the second original media stream to the first host terminal based on the first live broadcast room;
[0039] The merging of the second original media stream and the first original media stream into a merged media stream includes:
[0040] Convert the second original media stream into a third target media stream transmitted based on the first transmission protocol, and merge the third target media stream and the first original media stream into a merged media stream.
[0041] Further, the media stream sending module is further configured to:
[0042] Send the second original media stream and the first original media stream to the first host terminal based on the first live broadcast room, so that the first host terminal can simultaneously display the respective corresponding pictures of the second original media stream and the first original media stream.
[0043] On the other hand, an embodiment of the present application further provides a live broadcast data processing device, including:
[0044] A request module, configured to send a first streaming request carrying a co-hosting identifier to a server, so that the server responds to the co-hosting identifier to create a first live room for co-hosting. Wherein, the first streaming request is used to request to perform live streaming in a second live room based on a push streaming mode of a first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live streaming process;
[0045] A push streaming module, configured to send a first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes co-hosting with a second host terminal during the live streaming process, the server converts the first original media stream into a first target media stream transmitted based on a second transmission protocol, obtains a second original media stream sent by the second host terminal, sends the first target media stream to the second host terminal based on the first live room, combines the second original media stream and the first original media stream into a combined media stream, and sends the combined media stream to a first audience terminal based on the second live room;
[0046] Wherein, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
[0047] Further, the request module is further configured to:
[0048] In response to determining an operation of co-hosting during the live streaming process, generate a co-hosting identifier, generate a live streaming creation request for performing live streaming in the push streaming mode based on the co-hosting identifier, and send the live streaming creation request to the server;
[0049] Receive a push streaming key sent by the server in response to the live streaming creation request, where the push streaming key is generated by the server based on the co-hosting identifier;
[0050] Generate the first streaming request based on the push streaming key, and send the first streaming request to the server.
[0051] Further, the request module is further configured to:
[0052] Send a live streaming creation request for performing live streaming in the push streaming mode to the server, and receive a push streaming key sent by the server in response to the live streaming creation request;
[0053] In response to determining an operation of co-hosting during the live streaming process, generate a co-hosting identifier;
[0054] Generate the first streaming request based on the co-hosting identifier and the push streaming key, and send the first streaming request to the server.
[0055] Further, the live streaming data processing device further includes a receiving module, and the receiving module is configured to:
[0056] Based on a third live broadcast room for co-hosting, receive the first original media stream and a second target media stream transmitted based on the second transmission protocol. The third live broadcast room is created by the server after receiving a second push stream request carrying the co-hosting identifier sent by the second host terminal, and the second target media stream is obtained by the server based on the conversion of the second original media stream;
[0057] Simultaneously display the respective pictures corresponding to the second target media stream and the first original media stream.
[0058] On the other hand, an embodiment of the present application further provides an electronic device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the above-mentioned live broadcast data processing method is implemented.
[0059] On the other hand, an embodiment of the present application further provides a computer-readable storage medium. The storage medium stores a computer program, and the computer program is executed by a processor to implement the above-mentioned live broadcast data processing method.
[0060] On the other hand, an embodiment of the present application further provides a computer program product. The computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes to implement the above-mentioned live broadcast data processing method.
[0061] The embodiments of the present application at least include the following beneficial effects: When the first host terminal adds a co-hosting identifier for indicating co-hosting during the live broadcast when sending a first push stream request to the server, when the server confirms that the first push stream request carries the co-hosting identifier, a first live broadcast room for co-hosting will be created. When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, the first original media stream sent by the first host terminal based on the first transmission protocol is converted into a first target media stream transmitted based on the second transmission protocol, and then the first target media stream is sent to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol, low-latency co-hosting can be performed based on the first live broadcast room using the second transmission protocol. And by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first audience terminal based on the second live broadcast room, the mixing of the original media streams is realized, and there is no need to change the address for the audience terminal to watch the live broadcast. It can be seen that the live broadcast data processing method provided by the embodiments of the present application can reduce the delay of co-hosting and improve the real-time performance of co-hosting in the push stream mode, and the audience terminal can switch the picture after co-hosting without perception.
[0062] Other features and advantages of the present application will be described in the following specification. Moreover, some of them will become apparent from the specification or be understood by implementing the present application. Description of the Drawings
[0063] The drawings are used to provide a further understanding of the technical solution of the present application, and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation to the technical solution of the present application.
[0064] Figure 1 A schematic diagram of an optional implementation environment provided for the embodiments of the present application;
[0065] Figure 2 An optional system architecture diagram of the server provided for the embodiments of the present application;
[0066] Figure 3 An optional flowchart of the live data processing method provided for the embodiments of the present application;
[0067] Figure 4 A schematic diagram of the process of co-hosting a live stream in the push streaming mode in the related art;
[0068] Figure 5 A schematic diagram of the process of creating a co-hosted live broadcast room provided for the embodiments of the present application;
[0069] Figure 6 A schematic diagram of the process of data interaction in the co-hosting scenario provided for the embodiments of the present application;
[0070] Figure 7 A schematic diagram of the process of data interaction in the co-hosting scenario in the push streaming mode provided for the embodiments of the present application;
[0071] Figure 8 A schematic diagram of the process of generating a co-hosting identifier provided for the embodiments of the present application;
[0072] Figure 9 A schematic diagram of the process of generating a co-hosting identifier provided for another embodiment of the present application;
[0073] Figure 10 A schematic diagram of the process of verifying a co-hosting identifier provided for the embodiments of the present application;
[0074] Figure 11 A schematic diagram of the process of verifying a co-hosting identifier provided for another embodiment of the present application;
[0075] Figure 12 A schematic diagram of the process of generating a push streaming key provided for the embodiments of the present application;
[0076] Figure 13Schematic diagram of the process of the host terminal in the embodiment of the present application for viewing the co-hosting screen;
[0077] Figure 14 Schematic diagram of the process of multiple host terminals in the push stream mode for co-hosting in the embodiment of the present application;
[0078] Figure 15 Schematic diagram of the process of multiple host terminals for co-hosting in different live broadcast modes in the embodiment of the present application;
[0079] Figure 16 Schematic diagram of the process of multiple host terminals for co-hosting in different live broadcast modes in another embodiment of the present application;
[0080] Figure 17 An optional flowchart of the live broadcast data processing method provided by the embodiment of the present application;
[0081] Figure 18 An optional flowchart of the live broadcast data processing method provided by the embodiment of the present application;
[0082] Figure 19 An optional overall flowchart of the live broadcast data processing method provided by the embodiment of the present application;
[0083] Figure 20 An optional overall flowchart of the live broadcast data processing method provided by the embodiment of the present application;
[0084] Figure 21 An optional structural diagram of the live broadcast data processing device provided by the embodiment of the present application;
[0085] Figure 22 An optional structural diagram of the live broadcast data processing device provided by the embodiment of the present application;
[0086] Figure 23 Partial structural block diagram of the terminal provided by the embodiment of the present application;
[0087] Figure 24 Partial structural block diagram of the server provided by the embodiment of the present application. Detailed implementation manners
[0088] In order to make the purpose, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0089] It should be noted that in each specific embodiment of the present application, when it comes to performing relevant processing based on data related to the characteristics of the target object, such as target object attribute information or a set of attribute information, the permission or consent of the target object will be obtained first. Moreover, the collection, use, and processing of such data will comply with relevant laws, regulations, and standards. Among them, the target object can be a user. In addition, when the embodiments of the present application need to obtain the target object attribute information, the separate permission or separate consent of the target object will be obtained through methods such as pop-up windows or jumping to a confirmation page. After clearly obtaining the separate permission or separate consent of the target object, the necessary target object-related data for the normal operation of the embodiments of the present application will be obtained.
[0090] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other relevant parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as processing circuits or memories), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of the overall module or unit that includes the function of that module or unit.
[0091] To facilitate the understanding of the technical solutions provided by the embodiments of the present application, some key terms used in the embodiments of the present application are explained here:
[0092] Push-stream live broadcast is a way to transmit audio and video data from one device or platform to another device or platform in real time. In push-stream live broadcast, usually a push-streamer (such as a mobile phone, camera, or computer) captures and encodes the audio and video data, and then transmits it over the network to one or more viewer devices (such as a computer, mobile phone, or TV). The viewers can watch and hear the content of the push-streaming end in real time. To implement push-stream live broadcast, it is necessary to use push-streamer software or hardware devices to capture and encode the audio and video, select a suitable streaming media server or cloud platform to receive and distribute the push-stream data, and at the same time, the viewers receive and play the push-stream content through the corresponding client software or browser.
[0093] Live room is a virtual space (or container) or application created in the push-stream live broadcast platform or service when a push-stream live broadcast request is initiated, which is used to store and distribute live broadcast content and can manage and organize relevant information and data of the push-stream live broadcast. This live room will have a unique identifier, usually a live broadcast code or live broadcast link. When pushing the stream, this identifier needs to be used to send the push-stream data to the correct live room. Different terminals can enter the live room, and the terminals located in the live room can watch the live broadcast content in the live room in real time.
[0094] Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data computing, storage, processing, and sharing. Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, be used on demand, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the highly developed application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the back-end system for logical processing. Data at different levels will be processed separately, and various industry data requires a powerful system back-end support, which can only be achieved through cloud computing.
[0095] With the development of Internet technology, the application of live broadcast technology has become more and more extensive. In related technologies, the live broadcast mode of the anchor can generally be divided into the push stream mode and the camera mode. At present, during the live broadcast, the connection between the anchors has become a common live broadcast interaction method. However, since the push stream mode uses third-party software for push streaming and pulling streaming to transmit the media stream, it needs to go through multiple links such as network transmission, encoding and decoding. When conducting a connection between two anchors, the two anchor terminals need to establish a communication connection to achieve two-way audio and video transmission. However, it is more vulnerable to the influence of factors such as network transmission and encoding and decoding in the push stream mode. Therefore, the delay of connecting the two anchors in the push stream mode is relatively high and the real-time performance is poor.
[0096] To solve the above problems, the embodiments of the present application provide a live broadcast data processing method, device, electronic device, and storage medium, which can reduce the delay of connecting the two anchors and improve the real-time performance of connecting the two anchors.
[0097] The method provided by the embodiments of the present application can be applied to different technical fields, including but not limited to scenarios such as live broadcast technology, communication, and cloud technology.
[0098] Refer to Figure 1 , Figure 1 which is a schematic diagram of an optional implementation environment provided by the embodiments of the present application. This implementation environment includes an audience terminal 101, a server 102, a first anchor terminal 103, and a second anchor terminal 104. Among them, the first anchor terminal 103, the second anchor terminal 104, the server 102, and the audience terminal 101 are connected through a communication network.
[0099] The first host terminal 103 and the second host terminal 104 may refer to the terminals (electronic devices) used by users who enter the live broadcast room provided by the server 102 for live broadcast, or may refer to the terminals that provide media streaming data for the server 102 as the live broadcast content. The viewer terminal 101 may refer to the terminal (electronic device) used by a user who views the media stream provided by the first host terminal 103 and distributed by the server 102 based on the first transmission protocol for live broadcast viewing. The first host terminal 103, the second host terminal 104, and the viewer terminal 101 may be electronic devices capable of performing human-computer interaction through one or more methods such as a keyboard, a touch screen, and voice interaction, and may be virtual reality devices, smart phones, tablet computers, laptop computers, desktop computers, smart speakers, smart watches, vehicle terminals, etc., but are not limited thereto.
[0100] Since in this application, the users who conduct live broadcasts in the live broadcast room are called hosts, and the users who watch the media stream live broadcast content provided by the server 102 based on the first transmission protocol in the live broadcast room are called viewers, therefore, if the current host uses a host terminal such as the first host terminal 103 or the second host terminal 104 to enter other live broadcast rooms to watch the merged media stream live broadcast content provided by the server 102 based on the first transmission protocol, then, this host will become a viewer in this live broadcast room, and the host terminal used by this host can be called the viewer terminal 101 at this time. Correspondingly, if the current viewer uses the above viewer terminal 101 to enter a live broadcast room provided by other servers 102 for live broadcast, then, this viewer will become a host in this live broadcast room, and the viewer terminal 101 used by this viewer can be called a host terminal at this time. Therefore, in different live broadcast rooms, the same user can be a host or a viewer, and the electronic device used by this user can be determined as a host terminal or a viewer terminal 101 according to the identity of this user in the current live broadcast room.
[0101] Among them, the first host terminal 103 may send a corresponding streaming request to the server 102 and send the original media stream data related to the live broadcast. For example, the first host terminal 103 sends a first streaming request to the server, and may also send a first original media stream to the server based on the first transmission protocol. In addition, the second host terminal 104 may send a second streaming request to the server, and may also send a second original media stream to the server based on the first transmission protocol. And the viewer terminal 101 may receive the media stream distributed by the server 102 based on the first transmission protocol and watch the live broadcast content.
[0102] It should be noted that, for users such as the above-mentioned host and audience, they can establish a communication connection between their corresponding terminal devices and the server 102 by logging in with their user accounts. Thus, the host can access the live server 102 through the host terminal, and use the server 102 to create a live room for uploading and distributing media streams for live broadcast. While the audience can access the server 102 through the audience terminal 101, search for the live room they want to watch in the live rooms provided by the server 102 and enter to watch. At this time, the user account through which the host logs in to the server 102 through the host terminal can be called the host account, and the user account through which the audience logs in to the server 102 through the audience terminal 101 can be called the audience account.
[0103] The server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms. Additionally, the server 102 can also be a node server in a blockchain network. Optionally, the server 102 can communicate with multiple terminals 101, receive a first push stream request sent by the first host terminal, and create a corresponding live room in response to the first push stream request. At the same time, it can also receive media stream data from different host terminals, and can also receive media stream data transmitted based on different transmission protocols. In addition, the server 102 can convert the media stream transmitted based on a high-latency transmission protocol into a media stream for low-latency transmission protocol transmission, and can also merge multiple media streams into a merged media stream and send the merged media stream to the audience terminal 101.
[0104] Exemplarily, for server 102, server 102 may receive a first streaming request sent by the first host terminal 103 and detect the co-hosting identifier for the first streaming request. When the first streaming request carries a co-hosting identifier, server 102 may create a first live streaming room for co-hosting. Among them, the first streaming request is used to request live streaming in the second live streaming room based on the streaming mode of the first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live streaming process. Then, server 102 may receive the first original media stream sent by the first host terminal 103 based on the first transmission protocol and receive the second original media stream sent by the second host terminal 104. When the first host terminal 103 establishes co-hosting with the second host terminal 104 during the live streaming process, server 102 converts the first original media stream into a first target media stream transmitted based on the second transmission protocol, where the transmission delay of the second transmission protocol is less than that of the first transmission protocol. Then, based on the first live streaming room, the first target media stream is sent to the second host terminal 104, the second original media stream and the first original media stream are merged into a merged media stream, and the merged media stream is sent to the audience terminal 101 based on the second live streaming room.
[0105] For a host account (the first host) that initiates a co-hosting connection, the host terminal that logs in to the host account is the first host terminal 103, which sends a first streaming request to the server 102 so that the server 102 can create a second live room and enable live streaming in the second live room based on the streaming mode of the first transmission protocol. When the first streaming request sent carries a co-hosting identification for indicating co-hosting during the live streaming, the server 102 will additionally create a first live room for co-hosting. The first host terminal 103 can send a first original media stream to the server 102 based on the first transmission protocol. When the first host terminal 103 establishes a co-hosting connection with the second host terminal 104 (another host terminal that logs in to the host account in response to co-hosting) during the live streaming, the server 102 can convert the first original media stream sent by the first host terminal 103 based on the first transmission protocol with high latency into a first target media stream transmitted based on the second transmission protocol with low latency. Thus, the server 102 can send the first target media stream to the second host terminal 104 based on the first live room to achieve low-latency co-hosting. At the same time, the second original media stream provided by the second host terminal 104 can be merged with the first original media stream provided by the first host terminal 103 into a merged media stream, and then the merged media stream is sent to the viewer terminal 101 based on the streaming mode of the first transmission in the second live room. Therefore, low-latency co-hosting can be achieved based on the first live room using the second transmission protocol, and at the same time, the merged media stream is sent to the viewer terminal 101 based on the second live room, thereby realizing the mixing of the original media streams without changing the address for the viewer terminal to watch the live stream. It can be seen that the live data processing method provided in the embodiments of the present application can reduce the latency of co-hosting and improve the real-time performance of co-hosting in the streaming mode, and the viewer terminal can seamlessly switch to the screen after co-hosting.
[0106] For a host account (the second host) that responds to co-hosting, the host terminal that logs in to the host account is the second host terminal 104, which can send a second original media stream to the server 102 to conduct live streaming according to the corresponding live streaming mode (such as the streaming mode or the camera mode, etc.). When the second host terminal 104 establishes a co-hosting connection with the first host terminal 103, the second host terminal 104 can enter the first live room created by the server 102 and receive the first target media stream sent by the server 102 while sending the second original media stream to the server 102. Since the first target media stream is transmitted based on the first live room using the second transmission mode with low latency, the second host terminal 104 can achieve low-latency co-hosting with the first host terminal 103.
[0107] For the viewer account, the viewer terminal 101 that logs in to the viewer account only needs to access the server 102 to enter the live broadcast room provided by the server 102 (i.e., the second live broadcast room created by the first host terminal) to watch the live broadcast. When the first host terminal does not establish a co-hosting connection with the second host terminal 104 during the live broadcast, the viewer terminal 101 can receive the first original media stream sent based on the first transmission protocol through the second live broadcast room to watch the live broadcast content. When the first host terminal establishes a co-hosting connection with the second host terminal 104 during the live broadcast, the viewer terminal 101 can receive the merged media stream generated by merging the first original media stream and the second original media stream through the second live broadcast room, so that the live broadcast content after co-hosting can be viewed without switching the live broadcast viewing address, realizing a seamless switch of the picture after co-hosting.
[0108] Refer to Figure 2 , Figure 2 which is an optional system architecture diagram of the server 102 provided by the embodiments of the present application. As Figure 2 shown, the server 102 can provide a live broadcast platform client (application or software) to each host terminal. Users can initiate a live broadcast through the live broadcast platform client installed on the host terminal. The access layer of the server 102 has a logical forwarding service, which can send the information provided by the host terminal from the live broadcast platform client to the business logic layer. The business logic layer is the part responsible for processing the specific business logic of the application. The business logic layer can include functions related to live broadcast, such as the creation, destruction, and management of live broadcast rooms, and also involves related services such as push streaming, pull streaming, recommendation algorithms, billing, and log storage. The business logic layer needs to operate the underlying data storage through the data access layer (basic layer) to obtain and save data such as live broadcast rooms and user information. Specifically, it can have a host list service and a co-hosting service. That is, the business logic layer can have the function of recording the host terminals that are currently conducting a live broadcast (providing the original media stream for the server 102), and can also have the function of creating a live broadcast room in response to the live broadcast creation request and push streaming request initiated by the host terminal. It can also provide the host co-hosting service function for establishing a communication connection between multiple host terminals connected to the server 102. For example, for the co-hosting requirements of multiple host terminals, the business logic layer can implement data transmission and storage functions through the co-hosting service, cloud service, and storage service provided by the basic layer. The business logic layer can interact with the basic layer according to different business requirements and user requests, and operate the functions provided by the basic layer. The basic layer is the part that provides basic services and functions, including infrastructure such as network communication, storage, and data processing. It can receive and process media streams from host terminals. For example, creating a live broadcast room requires allocating resources of the server 102 in the basic layer. The basic layer can also include the integration with third-party servers, such as push streaming services and transcoding services.
[0109] Refer to Figure 3, Figure 3 An optional flow chart of a live broadcast data processing method provided in an embodiment of the present application, the live broadcast data processing method can be executed by a server, and the live broadcast data processing method includes but is not limited to the following steps 301 to 304.
[0110] Step 301: receiving a first streaming request sent by a first anchor terminal, and when the first streaming request carries a microphone connection identifier, creating a first live broadcast room for microphone connection;
[0111] The first streaming request is used to request live broadcast in the second live broadcast room in a streaming mode based on the first transmission protocol, and the microphone connection identifier is used to indicate microphone connection during the live broadcast.
[0112] In a possible implementation, the first push stream request refers to a request sent by the anchor terminal to the (streaming media) server, requesting the server to accept and process the audio and video stream (media stream) pushed by the anchor terminal. The server can detect the push stream request sent by the anchor terminal in real time by detecting the corresponding port. When receiving the push stream request from the anchor terminal, the anchor terminal initiating the request can first be authenticated. The anchor terminal that meets the live broadcast conditions (such as the device hardware meets the live broadcast requirements and is authorized by the server) can then broadcast live. Then the server can create an independent live broadcast room (second live broadcast room), decode and encode the audio and video stream (media stream) sent by the first anchor terminal to adapt to the needs of different audience terminals, and then forward the encoded media stream in the live broadcast room based on the first transmission protocol to each first audience terminal for live broadcast.
[0113] In a possible implementation, the first transmission protocol may refer to a protocol used for transmitting media stream data between a server, an anchor terminal, and an audience terminal, such as Real-Time Messaging Protocol (RTMP), wherein the first transmission protocol may refer to a transmission protocol used by the anchor terminal to transmit a media stream to the server in a push mode. The media stream may refer to continuous audio, video, or other multimedia data.
[0114] In one possible implementation, the streaming mode refers to obtaining audio and video data and encoding them through a streaming device (i.e., third-party software) such as OpenBroadcaster Software live recording software, and transmitting them to a streaming media server or cloud platform through the network. The audience can access the streaming media server or cloud platform to watch the live broadcast by pre-installing the corresponding client software or browser on the audience terminal.
[0115] In one possible implementation, when the first streaming request carries a microphone connection mark, it indicates that the first anchor terminal needs to interact with other anchor terminals in real time during the live broadcast. Connecting with other anchor terminals during the live broadcast means that at least two anchor terminals can simultaneously conduct real-time audio / video communication and interaction in the same live broadcast, which places high demands on the real-time and continuity of data transmission. Therefore, when the first anchor terminal initiates the first streaming request carrying the microphone connection mark, the server supports the real-time interaction scenario of multiple anchor terminals connecting with microphones by creating an additional first live broadcast room, and supports the live broadcast scenario of the anchor terminal distributing live content to the audience terminal by creating an additional second live broadcast room. The first live broadcast room is an operation space dedicated to handling the transmission and processing of media stream data during microphone connection. It can facilitate the processing and management of the microphone connection operation between the first anchor terminal and the second anchor terminal connected to the microphone. The second live broadcast room is an operation space dedicated to handling the media stream data transmitted between the first anchor terminal and the audience terminal. The second live broadcast room can be used to divert the media stream required by the first anchor terminal during microphone connection and the media stream required for live broadcast, which helps to perform special data processing on the two media streams with different requirements for microphone connection scenario and audience watching live broadcast scenario, so as to reduce the delay of media stream transmission in the microphone connection scenario in the push streaming mode and improve the real-time and smoothness of the microphone connection.
[0116] Reference Figure 4 , Figure 4 This is a schematic diagram of the process of live broadcasting with microphones in the push streaming mode in the related art. Figure 4As shown, when the host terminal A conducts a live broadcast in the non-connected state, the server will allocate the live broadcast room A to transmit the live broadcast content of the host terminal A, and send the corresponding non-connected live broadcast content to each viewer terminal through the live broadcast room A. During the live broadcast of the host terminal A, when a connection request with the host terminal B is initiated, after receiving the connection request, the server will re-allocate the live broadcast room C to transmit the live broadcast content after the connection. Specifically, the mixing module in the server simultaneously receives the first live broadcast data sent by the host terminal A and the second live broadcast data sent by the host terminal B, mixes and combines the two, and then distributes the mixed result (i.e., the live broadcast content after the connection) to each viewer terminal based on the live broadcast room C through the stream address distribution module. Before distributing the mixed result, the viewer terminals connected to the live broadcast room A or the live broadcast room B are migrated to the live broadcast room C, where the live broadcast room B is the live broadcast room provided by the server for the host terminal B to conduct a live broadcast in the non-connected state. Therefore, it can be seen that the push stream addresses corresponding to the host terminal in the connected state and the non-connected state are different, that is, the live broadcast rooms are different. In different states, the viewers will receive different push stream addresses. Since the push stream address after the connection will be refreshed, the viewer terminal will automatically switch to the new push stream address after the host terminal establishes a connection to watch the live broadcast content after the connection, resulting in an obvious perception of the live broadcast room screen switching by the viewer terminal after the connection, which affects the viewing experience of the viewers. At the same time, due to the uncertainty of the push stream address switching logic, it is easy to cause that the new push stream address is not switched after the connection is established, then the live broadcast screen before the connection will still be displayed in some viewer terminals in the connected state, seriously affecting the experience of the viewers.
[0117] Refer to Figure 5 , Figure 5 is a schematic diagram of the process of creating a connected live broadcast of a live broadcast room provided by an embodiment of the present application. As Figure 5As shown, when the server receives a first push stream request carrying a microphone connection identifier from a first anchor terminal, the server will create at least two live broadcast rooms to support the first anchor terminal to connect to the microphone for live broadcast in the push stream mode, wherein at least one first live broadcast room is used to connect to other anchor terminals, and the second live broadcast room is used to distribute live broadcast content to the first audience terminal, that is, the first live broadcast room is a live broadcast room other than the live broadcast room for audiences to access and watch live broadcasts, and the live broadcast room addresses of the first live broadcast room and the second live broadcast room are different; when connecting to the microphone with multiple anchor terminals respectively, multiple first live broadcast rooms can be created. Specifically, the first anchor terminal provides live media stream data to the server, and the server processes the live media stream data separately to obtain a first data stream dedicated to connecting to the microphone in the first live broadcast room, and a second data stream dedicated to live broadcast push in the second live broadcast room. Since the data stream required for the microphone connection and the data stream required for the live broadcast push have different transmission requirements, multiple live broadcast rooms are created in the microphone connection scenario in the push streaming mode to transmit live data streams with different requirements respectively. Since the live broadcast is still broadcast through the second live broadcast room after the microphone connection, that is, the push streaming address of the live broadcast room has not changed, the audience terminal does not need to enter the new push streaming address at this time, which helps to achieve low-latency microphone connection in the push streaming mode, and realize the seamless switching of the live broadcast screen after the microphone connection on the audience terminal.
[0118] Step 302: receiving a first original media stream sent by a first anchor terminal based on a first transmission protocol, and receiving a second original media stream sent by a second anchor terminal.
[0119] In a possible implementation, the first original media stream may refer to the original audio and video stream for live broadcast obtained by the stream pusher from the first anchor terminal. In the scenario where a microphone connection is not established with other anchor terminals, the server may send the first original media stream to the first viewer terminal using the first transmission protocol based on the second live broadcast room, so that the viewer terminal can receive the live broadcast content sent by the first anchor terminal.
[0120] In a possible implementation, the second original media stream may refer to the original audio and video data stream for live broadcast sent by the second anchor terminal to the server. The second anchor terminal may send the second original media stream to the server based on the first transmission protocol, or may send the second original media stream to the server based on a transmission protocol different from the first transmission protocol, wherein the transmission protocol for sending the second original media stream to the server may be related to the live broadcast mode of the second anchor terminal. For example, when the second anchor terminal and the first anchor terminal use the same push streaming mode for live broadcast, the second anchor terminal may send the second original media stream to the server based on the first transmission protocol; and when the second anchor terminal uses the client mode for live broadcast, the second anchor terminal may send the second original media stream to the server based on the second transmission protocol with lower transmission delay.
[0121] In a possible implementation, live streaming in the client mode may refer to a live streamer starting a live stream through a live streaming client application or software (such as a mobile application, a computer software, etc.) developed by the corresponding live streaming platform, that is, a live streaming tool. In this mode, the live streamer's terminal can connect to the live streaming platform or the server for live streaming services through the corresponding client application, and then perform live streaming operations with the help of the device's camera through this client application.
[0122] It should be noted that both live streaming through the push stream mode and live streaming through the client mode require corresponding live streaming tools. In the embodiments of the present application, the live streaming tools can be integrated into the live streaming platform (the server for live streaming services), so as to facilitate setting parameters for live stream pushing (such as resolution, frame rate, bit rate, push stream address, push stream key, etc.), and providing live streaming operation functions (such as switching cameras, adding special effects and filters, sending bullet screens in real time, etc.). At the same time, since the live streaming tools are integrated into the live streaming platform, the live streaming mode (such as the push stream mode or the client mode) can be directly selected through the live streaming platform, and the function of starting or stopping the live stream can also be directly realized through the live streaming platform. Therefore, by adopting the live streaming data processing method provided in the embodiments of the present application, the operation difficulty of the live streamer user can be simplified, and the workload of program development can be reduced.
[0123] Step 303: When the first live streamer's terminal establishes a co-hosting connection with the second live streamer's terminal during the live stream, convert the first original media stream into a first target media stream transmitted based on the second transmission protocol.
[0124] In a possible implementation, the second transmission protocol may be a Real-Time Communications (RTC) protocol. The RTC protocol is a real-time communication technology that allows network applications or sites to establish peer-to-peer connections without relying on an intermediate medium (i.e., the live broadcast platform's live broadcast tool), enabling the transmission of any data such as video streams or audio streams. At the same time, due to the peer-to-peer transmission method, it can greatly reduce the data transmission path and transfer links, reducing network latency in data transmission. Therefore, compared with the first transmission protocol, the second transmission protocol has a smaller transmission delay. When initiating a live broadcast in the push stream mode, since it is necessary to provide live broadcast content to different types of viewer terminals and the data transmission volume is huge, the first transmission protocol with high compatibility and low cost (such as the RTMP protocol) is usually adopted. However, the transmission delay and transmission cost of data are usually inversely proportional, that is, the lower the transmission cost of data, the higher the transmission delay. Therefore, when using the first transmission protocol to transmit live broadcast content in the push stream mode, there is usually a relatively high delay, and the continuity of data transmission can ensure the viewing experience of the audience. However, if the first transmission protocol with high latency is applied to the co-hosting scenario in the inference mode, that is, transmitting live broadcast data to the co-hosting anchor terminal through the first transmission protocol, the high latency of the data makes it difficult to ensure real-time co-hosting communication and interaction between the two anchor terminals in the co-hosting. Therefore, in the embodiment of the present application, for the case of establishing a co-hosting between the first anchor terminal and the second anchor terminal, the first original media stream sent by the first anchor terminal in the push stream mode based on the first transmission protocol is converted into a first target media stream transmitted based on the second transmission protocol. By using a transmission protocol with low latency to transmit the media stream, it is possible to reduce the delay of co-hosting in the push stream mode.
[0125] Step 304: Send the first target media stream to the second anchor terminal based on the first live broadcast room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to the first viewer terminal based on the second live broadcast room.
[0126] In a possible implementation, when the first host terminal needs to conduct a co-hosting session, that is, when the first host terminal sends a first streaming request carrying a co-hosting identifier to the server, the server can identify the co-hosting requirement of the first host terminal through the co-hosting identifier in the first streaming request, and then create corresponding live rooms for the co-hosting requirement and the live broadcast requirement respectively. Among them, the first live room is used for the scenario where the first host terminal conducts a co-hosting session with other host terminals, and the second live room is used for the scenario where the first host terminal distributes live broadcast data to each viewer terminal. And according to the data transmission requirements for different scenarios, different transmission protocols are used for data transmission of media streams in different live rooms. Specifically, for the co-hosting scenario, the first host terminal and the second host terminal need to conduct real-time co-hosting communication and interaction. Therefore, an independent first live room is used to separately transmit a first target media stream to the second host terminal based on a second transmission protocol with low latency, so as to reduce the transmission delay of the co-hosting scenario in the streaming mode and improve the real-time performance and continuity of co-hosting interaction. At the same time, since the live room for co-hosting multiple host terminals is distinguished from the live room for distributing live broadcast content to viewer terminals, and data of different transmission protocols are transmitted through corresponding live rooms, interference during data transmission of different transmission protocols can be reduced.
[0127] In a possible implementation, due to the limitation of data transmission latency in the streaming mode in the related art, if a co-hosting session needs to be initiated during the live broadcast in the related art, only the client mode can be used for the live broadcast. And for the real-time performance of co-hosting interaction, both co-hosting parties need to use the client mode for the live broadcast. Therefore, the enthusiasm of the host to initiate co-hosting interaction is suppressed. However, for the live broadcast processing method provided in the embodiment of the present application, the first host terminal adds a co-hosting identifier for indicating co-hosting during the live broadcast when sending the first streaming request to the server. When the server confirms that the first streaming request carries the co-hosting identifier, it will create a first live room for co-hosting. When the first host terminal establishes a co-hosting session with the second host terminal during the live broadcast, the first original media stream sent by the first host terminal based on the first transmission protocol is converted into a first target media stream transmitted based on the second transmission protocol, and then the first target media stream is sent to the second host terminal based on the first live room. Since the transmission latency of the second transmission protocol is less than that of the first transmission protocol, low-latency co-hosting can be performed based on the first live room using the second transmission protocol, and thus low-latency co-hosting interaction in the streaming mode can be realized, and low-latency co-hosting interaction between the host terminal in the streaming mode and the host terminal in the client mode can also be realized.
[0128] It should be noted that since the RTMP protocol needs to verify the start and end identifiers of the media stream during push streaming, it is impossible to create the first live broadcast room in real time during the push streaming process, otherwise there will be a lag phenomenon. Therefore, the co-hosting identifier needs to be sent to the server when or before sending the first push streaming request to the server.
[0129] Refer to Figure 6 , Figure 6 which is a schematic diagram of the data interaction process in the co-hosting scenario provided by the embodiment of the present application. As Figure 6 shown, the first host terminal in the push streaming mode uses the first transmission protocol (RTMP protocol) for the transmission and interaction of the media stream, that is, the first original media stream is pushed to the server based on the RTMP protocol, and the viewer terminal also uses the first transmission protocol for the transmission and interaction of the media stream. At this time, the first viewer terminal also uses the first transmission protocol to receive the first original media stream, that is, RTMP pull streaming to view the live broadcast screen of the first host terminal. At this time, when the first host terminal establishes a co-hosting with the second host terminal in the push streaming mode, the second host terminal in the related art needs to view the screen of the first host terminal by pull streaming. Since the first host terminal uses the first transmission protocol (such as the RTMP protocol) for push streaming in the push streaming mode, it is equivalent to the first viewer terminal entering the live broadcast room corresponding to the first host terminal (i.e., the second live broadcast room) and viewing the live broadcast screen of the first host terminal by pull streaming. In this case, there will be a serious delay in the co-hosting interaction between the two host terminals. Therefore, in the embodiment of the present application, after the first host terminal pushes the first original media stream to the server using the first transmission protocol, the server can convert the first original media stream into the first target media stream based on the second transmission protocol (i.e., the RTC protocol), and then the server sends the first target media stream to the second host terminal, so as to use the low-latency transmission protocol to reduce the data transmission delay in the co-hosting scenario and achieve low-latency co-hosting live broadcast in the push streaming mode.
[0130] Refer to Figure 7 , Figure 7 which is a schematic diagram of the data interaction process in the co-hosting scenario in the push streaming mode provided by the embodiment of the present application. As Figure 7As shown, in the embodiment of the present application, the server additionally creates a cloud live room (the first live room) for the co-hosting scenario in the push streaming mode. This cloud live room is only used for the co-hosting data interaction between the host terminals. At this time, the second host terminal can receive the live content (the first target media stream) provided by the first host terminal sent by the cloud live room through the second transmission protocol, without having to pull the first original media stream using the first transmission protocol to view the live broadcast screen, which can effectively reduce the latency of co-hosting in the push streaming mode. At the same time, the server can merge the second original media stream of the second host terminal and the first original media stream of the first host terminal to form a merged media stream, that is, the live content after co-hosting, and push and play it based on the second live room. Since when initiating a push streaming request with a co-hosting identifier, the server supports low-latency data transmission for the co-hosting scenario in the push streaming mode by additionally creating a cloud live room and converting the data transmission protocol type, there is no need to create a new live room on the live streaming platform through an additional live broadcast tool, and thus there is no need to switch the push streaming address to change the live room when establishing co-hosting. Only the first original media stream provided by the first host terminal and the second original media stream provided by the second host terminal need to be merged and then re-pushed to the second live room that originally provided the live broadcast, realizing a seamless switch of the co-hosted screen at the viewer terminal in the push streaming mode and improving the user's viewing experience.
[0131] In a possible implementation, when the server receives the first push streaming request sent by the first host terminal, it can extract the push streaming key from the first push streaming request; then, verify the push streaming key. When the verification result shows that the push streaming key includes the co-hosting identifier and the live room identifier of the second live room, create the first live room for co-hosting according to the live room identifier.
[0132] In a possible implementation, the push streaming key (Streaming Key) is a string generated by a security mechanism for authenticating and protecting push streaming. The push streaming key can be a random string including characters, numbers, or symbols, and is used to verify the identity of the push streamer (host). The push streaming key is usually provided together with the push streaming address (Streaming URL) for authentication during the push streaming process. When the push streamer has the correct push streaming key corresponding to the push streaming address, the live content can be pushed through the corresponding push streaming address. The push streaming address is the network address provided by the server (live streaming platform) to the push streamer for pushing the live content. The push streaming address can include information such as the media data transmission protocol type (such as RTMP type, RTC type, etc.), server address, port number, and application name. Thus, the push streamer can send the live content to the server specified by the push streaming address, realizing the function of transmitting the live content to the live streaming platform. It should be noted that the specific formats, generation methods, and uses of the push streaming key and the push streaming address may vary according to different live streaming platforms or servers.
[0133] In a possible implementation, the co-hosting identifier can be an identifier used to indicate that the current live broadcast has the co-hosting function. The co-hosting identifier can be a string assigned by the server or a preset fixed string. The co-hosting identifier can include characters, numbers, or symbols. For example, the co-hosting identifier carried in the push stream key can be generated by the server and used as a generation parameter for the push stream key, or it can be a fixed string manually filled in by the user when filling back the push stream key provided by the server according to a pre-agreed convention. The co-hosting identifier is used to instruct the server to create a first live room for co-hosting (the live room for the host terminal facing co-hosting) based on the live room identifier. The live room identifier is an identifier used to identify different live rooms (the live rooms for the viewer terminals), used to associate each live room. The live room identifier can also be a string including characters, numbers, or symbols, used to identify and distinguish different live rooms and be referenced during push stream, pull stream, viewing, or managing live activities. It should be noted that the formats, generation methods, and uses of the co-hosting identifier and the live room identifier can be adaptively adjusted according to the actual server or live broadcast type.
[0134] In a possible implementation, to achieve a low-latency co-hosting function, when the first push stream request contains a co-hosting identifier, a first live room that is only open to the second host terminal can be created according to the live room identifier in the push stream key, for specifically processing the data interaction between the first host terminal and the second host terminal during co-hosting. The first target media stream sent to the second host terminal based on the first live room is obtained by performing a transmission protocol conversion on the first original media stream, and the merged media stream sent based on the second live room is generated by merging the first original media stream and the second original media stream. That is, the live content in the first live room facing the second host terminal is associated with the second live room facing the viewer terminal. Therefore, creating the first live room through the live room identifier of the second live room can flexibly realize the association and intercommunication between the first live room and the second live room. At this time, the first live room can carry the live room identifier corresponding to the second live room, thus facilitating the server to manage the associated first live room and second live room for live broadcast.
[0135] In a possible implementation, when the first host terminal needs to create a live broadcast room for live streaming, it needs to obtain the push stream address and push stream key provided by the server (live streaming platform), and then fill back the obtained push stream address and push stream key to the push streamer (third-party software) for push stream information configuration. Thus, the push streamer can obtain the data used by the first host terminal for live streaming according to the push stream information configuration (such as configuring the video capture device, screen mirroring area, image, etc. in the first host terminal), generate the first original media stream, and send it to the filled-back push stream address through the first host terminal, that is, the server can receive the first original media stream sent by the first host terminal.
[0136] Refer to Figure 8 , Figure 8 FIG. is a schematic diagram of the process of generating the co-hosting identifier provided by the embodiment of the present application. When the first host terminal has a need to initiate co-hosting during the live streaming process, it can simultaneously send a push stream request when applying to the server to obtain the push stream address and push stream key. Thus, the server can generate the push stream address and the push stream key carrying the co-hosting identifier. For example, as Figure 8 shown, the first host terminal can access the live streaming initiation page 801 provided by the server. In the live streaming initiation page 801, there are information input boxes 802 such as text input boxes or information check boxes related to live streaming information for describing the live streaming content, live streaming method, etc., and a live broadcast room creation button 803 for generating and initiating a live broadcast creation request. Among them, the information input box 802 includes a co-hosting check box 804, and the co-hosting check box 804 is used to indicate whether there is a need for co-hosting after initiating the live streaming. When the live broadcast room creation button 803 is triggered, the live streaming initiation page 801 will jump and update to the live streaming configuration page 810. In the live streaming configuration page 810, there will be a push stream information text box 811, and the push stream information text box 811 displays the push stream address required for the first host terminal to initiate the live streaming, as well as the push stream key. Among them, if the co-hosting check box 804 is in the checked state when the live broadcast room creation button 803 is triggered, it means that the first host terminal has a need for co-hosting during the live streaming process. At this time, the push stream key displayed in the push stream information text box 811 includes the co-hosting identifier and the live broadcast room identifier of the second live broadcast room. If the co-hosting check box 804 is in the unchecked state when the live broadcast room creation button 803 is triggered, it means that the first live broadcast terminal has no need for co-hosting during the live streaming process. At this time, as Figure 8 shown, the push stream key displayed in the push stream information text box 811 only includes the live broadcast room identifier of the second live broadcast room. Therefore, after filling back the push stream address and the push stream key carrying the co-hosting identifier to the push streamer, when the first host terminal starts the live streaming through the push streamer, the push streamer will use the push stream address and the push stream key as parameters to send a first push stream request to the server through the first host terminal to transmit the live streaming data to the server.
[0137] In a possible implementation, the first live streaming request may include a live streaming address and a live streaming key. Among them, the live streaming address may carry a co-hosting identifier and the corresponding live room identifier. When the server receives the first live streaming request sent by the first host terminal, it can extract the live streaming address from the first live streaming request, and then verify the live streaming address. When the verification result indicates that the live streaming address includes the co-hosting identifier and the live identifier of the second live room, a first live room for co-hosting is created according to the live room identifier.
[0138] In a possible implementation, after the first host terminal obtains the live streaming address and the live streaming key through the server, it can update the live streaming address or the live streaming key according to its own co-hosting requirements, and add a co-hosting identifier to the live streaming address or the live streaming key. For example, when the server provides the live streaming address and the live streaming key, it does not add an extra co-hosting identifier to the live streaming key or the live streaming address according to the co-hosting requirements of the first host terminal, but the server has a verification function to verify whether the co-hosting identifier is carried in the live streaming address and the live streaming key, and a creation function to create the first live room according to the live room identifier; at this time, the first host terminal can add a co-hosting identifier to the live streaming address or the live streaming key through a third-party software such as a live streaming device. Thus, when the first host terminal starts a live broadcast, a first live streaming request is sent to the server with the live streaming address or the live streaming key carrying the co-hosting identifier as a parameter. Furthermore, when the server verifies that the first live streaming request carries the co-hosting identifier, the first live room can be created according to the live room identifier in the first live streaming request.
[0139] Refer to Figure 9 , Figure 9 FIG. is a schematic diagram of the process of generating a co-hosting identifier provided by another embodiment of the present application. As Figure 9 shown, a live streaming setting interface 901 of a live streaming device is displayed on the first host terminal. An address input box 902, a key input box 903, and a co-hosting function check box 904 are displayed in the live streaming setting interface. The address input box 902 is used to fill in the address to which the first host terminal pushes the live streaming data obtained by the live streaming device, that is, to fill back the live streaming address obtained by the first host terminal from the server; the key input box 903 is used to fill back the live streaming key provided by the server to verify the identity of the live streamer; and the co-hosting function check box 904 is used to indicate whether there is a co-hosting requirement for this live broadcast. When the co-hosting function check box 904 is in a checked state, it means that the first host terminal has a co-hosting requirement in this live broadcast. Thus, when pushing the live content to the server according to the live streaming address filled in the address input box 902 and the live streaming key filled in the key input box 903, a co-hosting identifier can be added to the live streaming address or the live streaming key first, and then, the live streaming address, the live streaming key, and the co-hosting identifier are integrated to generate a first live streaming request and sent to the server, so that the server can create a first live room according to the co-hosting identifier.
[0140] In one possible implementation, the streaming key is obtained by encrypting the microphone connection identifier and the live broadcast room identifier through a target encryption algorithm. Therefore, when the streaming key is verified, the streaming key can be decrypted by a target decryption algorithm to obtain decrypted data, wherein the target decryption algorithm is the inverse algorithm of the target encryption algorithm; the decrypted data is verified, and when the verification result is that the decrypted data includes the microphone connection identifier and the live broadcast room identifier, a first live broadcast room for the microphone connection is created according to the live broadcast room identifier.
[0141] In a possible implementation, the streaming key is a string or password used to verify the streaming authority on the server. In order to enhance data security and prevent unauthorized live broadcast access, the target encryption algorithm can be used to encrypt the microphone connection identifier and the live broadcast room identifier. At this time, the microphone connection identifier is generated by the server according to the microphone connection requirement when the first anchor terminal initiates a live broadcast room creation request. For example, Figure 8 As shown, when the microphone connection check box 804 displayed in the live broadcast initiation page 801 is checked, so that the microphone connection check box 804 is in a checked state, the server can generate a microphone connection identifier and generate a live broadcast room identifier based on the live broadcast information in the text input box 802 displayed on the live broadcast initiation page 801, so that in response to triggering the live broadcast room creation button 803 in the live broadcast initiation page 801, the server can use the target encryption algorithm to encrypt the microphone connection identifier and the live broadcast room identifier.
[0142] In a possible implementation, the target encryption algorithm may be a symmetric encryption algorithm, an asymmetric encryption algorithm, or an encryption algorithm that combines a symmetric encryption algorithm and an asymmetric encryption algorithm. In this case, the target decryption algorithm is the inverse algorithm corresponding to the target encryption algorithm, that is, the algorithm used to restore the encrypted data to the original data. For example, a symmetric encryption algorithm such as the Advanced Encryption Standard (AES) can be used as the target encryption algorithm. In this case, the server can use the encryption key to encrypt the live broadcast room identifier and the co-hosting identifier (if the server has generated a co-hosting identifier) to generate an encrypted ciphertext, that is, the push stream key. When decrypting the push stream key sent by the first live broadcast terminal, the target decryption algorithm is the same as the target encryption algorithm, and the same encryption key is used to decrypt the push stream key to obtain the decrypted data. Another example is that an asymmetric encryption algorithm such as the Rivest-Shamir-Adleman (RSA) algorithm can be used as the target encryption algorithm. The corresponding public key and private key are stored in the server. The server can use the public key to encrypt the live broadcast room identifier and the co-hosting identifier (if the server has generated a co-hosting identifier) to generate an encrypted ciphertext, that is, the push stream key. When decrypting the push stream key sent by the first live broadcast terminal, the corresponding private key can be used to decrypt the push stream key according to the decryption algorithm in the RSA algorithm to obtain the decrypted data.
[0143] Refer to Figure 10 , Figure 10 is a schematic diagram of the process of verifying the co-hosting identifier provided by the embodiment of the present application. As Figure 10As shown, the server can generate a live room identifier corresponding to the second live room according to the live broadcast requirements of the first host terminal, and additionally generate a co-hosting identifier in the case where the first host terminal has a co-hosting requirement. Then, the server can encrypt the live room identifier using a target encryption algorithm to generate a push stream key. If the server has generated a co-hosting identifier, it can encrypt the live room identifier and the co-hosting identifier together using the target encryption algorithm to generate a push stream key carrying the co-hosting identifier. When the first host terminal starts a live broadcast, the first host terminal generates a first push stream request based on the push stream address and the push stream key provided by the server as parameters and sends it to the server. When the server receives the first push stream request, it can extract the push stream key from the first push stream request, then decrypt the push stream key using the target decryption algorithm corresponding to the target encryption algorithm to obtain decrypted data. Then, it checks the decrypted data to determine whether the decrypted data carries a co-hosting identifier. If the decrypted data carries a co-hosting identifier and a live room identifier, the server creates a first live room for co-hosting according to the live room identifier, and at the same time creates a second live room for pushing live content according to the live room identifier. If the decrypted data only carries a live room identifier, it means that the first host terminal has no co-hosting requirement during the current live broadcast. Therefore, the server does not create a first live room for co-hosting and only creates a second live room for pushing live content according to the live room identifier. If the decrypted data does not contain a live room identifier and a co-hosting identifier, it means that the push stream key is incorrect, and the server can return information for displaying a key error to the first host terminal.
[0144] In a possible implementation, the push stream key can be generated by adding a co-hosting identifier to the encrypted ciphertext generated by encrypting the live room identifier using a target encryption algorithm. Refer to Figure 11 , Figure 11 is a schematic diagram of the co-hosting identifier verification process provided in another embodiment of the present application. After the server generates the live room identifier and the co-hosting identifier, the server can first encrypt the live room identifier using the target encryption algorithm to generate a temporary key. Then, using the co-hosting identifier as a key tag, it adds the co-hosting identifier to the temporary key to generate a push stream key. For example, as Figure 11As shown, the co-hosting identifier is added as a key tag to the head of the temporary key to form the prefix of the push stream key. When the server verifies the push stream key, it can directly detect whether the push stream key has a key tag. If the push stream key has a key tag, it indicates that the push stream key carries the co-hosting identifier; if the push stream key does not have a key tag, it indicates that the push stream key does not carry the co-hosting identifier. By using the method of adding a tag to attach the co-hosting identifier, not only can the data processing volume of encryption and decryption be reduced, but also the recognition efficiency of the co-hosting identifier can be accelerated, quickly determining whether it is necessary to create the first live room, and at the same time, it is also convenient for users to directly observe whether the push stream key carries the co-hosting identifier, reducing the occurrence of misoperations. Then, after initially determining whether the push stream key carries the co-hosting identifier, only the temporary key (i.e., the encrypted live room identifier) needs to be decrypted, and further determine whether the push stream key carries the correct live room identifier through the decrypted data. If the push stream key carries both the live room identifier and the co-hosting identifier, the server can create the first live room for co-hosting according to the live room identifier.
[0145] In a possible implementation manner, before the server receives the first push stream request sent by the first host terminal, the server first receives the live room creation request sent by the first host terminal for live streaming in the push stream mode, and generates the live room identifier corresponding to the first host terminal; when the live room creation request carries the co-hosting identifier, a target random number is generated, and the co-hosting identifier, the live room identifier, and the target random number are concatenated into an original string; the original string is encrypted through the target encryption algorithm to obtain the push stream key, and the push stream key is sent to the first host terminal.
[0146] In a possible implementation manner, the first host terminal can generate a corresponding live room creation request according to its own live streaming requirements (such as live streaming mode, upper limit of the number of live streaming audiences, live streaming content type, live streaming interaction function, etc.), and then send the live streaming creation situation to the server. The server generates the live room identifier corresponding to the first host terminal according to the live room creation request sent by the first host terminal, that is, the live room for providing live streaming to the first host terminal. It should be noted that the live room identifier can be a string including characters, numbers, or symbols. If the live room creation request does not carry the co-hosting identifier, the server can directly perform encryption processing on the string of the live room identifier based on the target encryption algorithm to obtain the push stream key, and send the push stream key to the first host terminal.
[0147] Refer to Figure 12 , Figure 12 is a schematic diagram of the process of generating the push stream key provided by the embodiment of the present application. As Figure 12As shown, the first host terminal sends a live broadcast creation request to the server. This live broadcast creation request indicates the creation of a live broadcast room for live streaming in the push stream mode. If the live broadcast creation request carries a co-hosting identifier, then this live broadcast creation request indicates the creation of multiple live broadcast rooms for live streaming in the push stream mode and the co-hosting function (including the first live broadcast room for co-hosting and the second live broadcast room for distributing the live broadcast content). When the server receives the live broadcast creation request from the first host terminal, the server can generate a corresponding live broadcast room identifier according to the live broadcast creation request of the first host terminal. This live broadcast room identifier is used to indicate the second live broadcast room for the first host terminal to perform live streaming in the push stream mode. Specifically, reference can be made to Figure 8 , when the first host terminal triggers the live broadcast room creation button 803 displayed on the live broadcast initiation page 801, the first host terminal sends a live broadcast creation request to the server through the live broadcast initiation page 801 provided by the server, and this live broadcast creation request is generated based on the information input by the first host terminal in each information input box 802 displayed on the live broadcast initiation page 801.
[0148] Meanwhile, the server also conducts detection and verification on this live broadcast creation request to determine whether the live broadcast creation request carries a co-hosting identifier. This co-hosting identifier is a mark created and generated by the first host terminal according to its own live co-hosting requirements. Specifically, as Figure 8 shown, when the first host terminal triggers the live broadcast room creation button 803 on the live broadcast initiation page 801 and the co-hosting checkbox 804 is in the checked state, a co-hosting identifier is generated simultaneously when generating the live broadcast creation request, so that the live broadcast creation request carries the co-hosting identifier; when the first host terminal triggers the live broadcast room creation button 803 on the live broadcast initiation page 801 and the co-hosting checkbox 804 is in the unchecked state, no co-hosting identifier is generated, that is, the live broadcast creation request at this time does not carry the co-hosting identifier.
[0149] If the live broadcast creation request carries a co-hosting identifier, the server can generate a target random number for the co-hosting identifier. This target random number is used to ensure the randomness and uniqueness of the push stream key. The target random number can contain characters, numbers, symbols, etc. Among them, the target random number can be generated through a random number generation algorithm. Specifically, when the server receives the live broadcast creation request carrying the co-hosting identifier, the server will generate a target random number as part of the push stream key. This target random number will be concatenated with the co-hosting identifier and the live broadcast room identifier to generate an original string. Then, the original string is encrypted using the target encryption algorithm to generate the push stream key, and then the push stream key can be returned to the first host terminal.
[0150] In a possible implementation, when the first host terminal establishes a live broadcast with the second host terminal during the live broadcast, the second host terminal can enter the first live broadcast room to view the picture corresponding to the first target media stream, and can also enter the live broadcast room for the second host terminal to broadcast to view the picture corresponding to its own second original media stream. At this time, the second host terminal can simultaneously display the pictures corresponding to the first target media stream and the second original media stream respectively, which helps to improve the user experience of using the second host terminal for a co-hosting connection.
[0151] In a possible implementation, during the process of sending the first target media stream to the second host terminal based on the first live broadcast room, the second original media stream can also be sent to the second host terminal based on the first live broadcast room, so that the second host terminal can simultaneously display the pictures corresponding to the first target media stream and the second original media stream respectively.
[0152] Refer to Figure 13 , Figure 13 which is a schematic diagram of the process for the host terminal provided by the embodiment of the present application to view the co-hosting connection picture. As Figure 13 shown, when the first host terminal and the second host terminal establish a co-hosting connection, the server converts the first original media stream into a first target media stream transmitted based on the second transmission protocol, and then the server can send the first target media stream and the second original media stream to the second host terminal through the first live broadcast room. Since the first target media stream is media stream data transmitted based on the second transmission protocol, and the first live broadcast room is a virtual space independently opened for the co-hosting connection between the first host terminal and the second host terminal, it can display the specific content or picture selected by the first host terminal with low latency. The second host terminal does not need to enter multiple live broadcast rooms to view the co-hosting connection picture at the same time, reducing the data transmission bandwidth, which helps to improve the data transmission efficiency and reduce the transmission latency. It should be noted that when the second original media stream is transmitted based on the first transmission protocol, the server can also convert the second original media stream into a second target media stream transmitted based on the second transmission protocol, and then send the first target media stream and the second target media stream to the second host terminal based on the first live broadcast room, so as to further reduce the impact of audio-visual asynchrony caused by the transmission delay of the second original media stream in the co-hosting connection picture.
[0153] In a possible implementation, the second host terminal can broadcast live in the push stream mode or in the client mode. When the second host terminal broadcasts live in the push stream mode, the second original media stream is sent to the server based on the first transmission protocol. Therefore, before the server receives the second original media stream sent by the second host terminal, the server first receives the second push stream request sent by the second host terminal. When the second push stream request carries a co-hosting identifier, a third live room for co-hosting is created, where the second push stream request is used to request to broadcast live in the push stream mode based on the first transmission protocol in the fourth live room. Then, the second host terminal sends the second original media stream to the server based on the first transmission protocol. After the server receives the second original media stream, the server converts the second original media stream into a second target media stream transmitted based on the second transmission protocol, sends the second target media stream to the first host terminal based on the third live room, and sends the merged media stream to the second viewer terminal based on the fourth live room.
[0154] In a possible implementation, the third live room is dedicated to processing the media stream data during the co-hosting of the second host terminal, so as to provide an operation space for data transmission and processing to the first host terminal. Thus, the first host terminal can enter the third live room to watch the live content independently provided by the second host terminal; while the fourth live room is an operation space dedicated to processing the media stream data transmitted between the second host terminal and the viewer terminal. Thus, the viewer terminal can watch the live content provided by the second host terminal through the fourth live room.
[0155] Refer to Figure 14 , Figure 14 is a schematic diagram of the process of co-hosting of multiple host terminals in the push stream mode provided by the embodiments of the present application. Since the second host terminal and the first host terminal broadcast live in the same inference mode and have a co-hosting requirement, at this time, the media stream data processing process of the second host terminal corresponds to the media stream data processing process of the first host terminal. That is, when the second host terminal conducts co-hosting live broadcast in the push stream mode on the server, the server creates live rooms with different functional uses respectively. As Figure 14As shown, in response to the first host terminal and the second host terminal establishing a co-hosting connection for live streaming in the push streaming mode, the server correspondingly creates four live rooms, namely, the first live room and the second live room created in response to the first push streaming request of the first host terminal, and the third live room and the fourth live room created in response to the second push streaming request of the second host terminal. The first host terminal sends the first original media stream to the server based on the first transmission protocol. At the same time, the second host terminal also sends the second original media stream to the server based on the first transmission protocol. The server then combines the first original media stream and the second original media stream to generate a combined media stream, and then sends the combined media stream to the first viewer terminal and the second viewer terminal respectively based on the second live room and the fourth live room. Among them, the first viewer terminal refers to the terminal device that establishes a communication connection with the second live room to enter the second live room, and can view the live broadcast screen corresponding to the first original media stream in the second live room before co-hosting; the second viewer terminal refers to the terminal device that establishes a communication connection with the fourth live room to enter the fourth live room, and can view the live broadcast screen corresponding to the second original media stream in the fourth live room before co-hosting. After co-hosting, the server replaces the media stream data distributed to the second live room and the fourth live room with the combined media stream, so that the first viewer terminal and the second viewer terminal can respectively view the live broadcast screen corresponding to the combined media stream, that is, the live broadcast screen after co-hosting, without changing the live stream address (push streaming address), realizing the seamless switching of the live broadcast screen after co-hosting for the viewer terminal without the viewer noticing it.
[0156] In addition, the server converts the first original media stream into a first target media stream transmitted based on the second transmission protocol with low latency, and sends the first target media stream to the second host terminal based on the first live room, so that the second host terminal can view the live broadcast screen corresponding to the first target media stream (the first original media stream) with low latency through the first live room. Correspondingly, the server converts the second original media stream into a second target media stream transmitted based on the second transmission protocol, and sends the second target media stream to the first host terminal based on the third live room, so that the first host terminal can view the live broadcast screen corresponding to the second target media stream (the second original media stream) with low latency through the third live room. Therefore, it is possible to reduce the data transmission latency in the co-hosting scenario in the push streaming mode without relying on additional live broadcast tools.
[0157] In a possible implementation, the first host terminal can enter the third live streaming room to view the picture corresponding to the second target media stream, and can also enter the first live streaming room (or the second live streaming room) at the same time to view the live streaming picture corresponding to the first target media stream (the first original media stream). Thus, the pictures corresponding to the first target media stream (the first original media stream) and the second target media stream can be simultaneously displayed on the first host terminal, which helps to improve the user experience of using the first host terminal for a joint live broadcast.
[0158] In a possible implementation, during the process of sending the second target media stream to the first host terminal based on the third live streaming room, the first original media stream can also be sent to the first host terminal based on the third live streaming room, so that the first host terminal can simultaneously display the pictures corresponding to the first original media stream and the second target media stream respectively. Since the second target media stream is media stream data transmitted based on the second transmission protocol, and the third live streaming room is a virtual space independently opened for the joint live broadcast of the first host terminal and the second host terminal, it can low-latency display the specific content or picture selected by the second host terminal. There is no need for the first host terminal to enter multiple live streaming rooms to view the joint live broadcast picture at the same time, reducing the data transmission bandwidth, which helps to improve the data transmission efficiency and reduce the transmission latency.
[0159] In a possible implementation, the second host terminal can be based on the client mode for live streaming, and the second host terminal can send the second original media stream to the server based on the second transmission protocol. After the server receives the second original media stream sent by the second host terminal, the second original media stream can be sent to the first host terminal based on the first live streaming room; and during the process of merging the second original media stream and the first original media stream into a merged media stream, the second original media stream is first converted into a third target media stream transmitted based on the first transmission protocol, and the third target media stream and the first original media stream are merged into a merged media stream.
[0160] Refer to Figure 15 , Figure 15 is a schematic diagram of the process of joint live broadcast of multiple host terminals in different live streaming modes provided by the embodiments of the present application. As Figure 15As shown, the live broadcast modes of the first anchor terminal and the second anchor terminal are different, and different transmission protocols are also used for transmitting media stream data. However, the transmission delay of the second original media stream from the second anchor terminal to the server using the second transmission protocol can meet the real-time interaction requirements of the live broadcast scenario. Therefore, there is no need to convert the transmission protocol type of the second original media stream to reduce the transmission delay. The second original media stream can be directly sent to the first anchor terminal through the first live broadcast room. At the same time, the server also converts the first original media stream into a first target media stream based on the second transmission protocol, and distributes the first target media stream to the first live broadcast room, so that the first anchor terminal and the second anchor terminal can both watch the low-latency live broadcast picture through the first live broadcast room, which is equivalent to the first anchor terminal and the second anchor terminal being connected to the same live broadcast room. The anchor live broadcast function under different live broadcast modes (at least including the push streaming mode) can be realized, and the transmission delay of the live broadcast scenario in the push streaming mode can be reduced.
[0161] In a possible implementation, in the process of sending the second original media stream to the first anchor terminal based on the first live broadcast room, the server can also send the first original media stream to the first anchor terminal based on the first live broadcast room, so that the first anchor terminal can simultaneously display the second original media stream and the pictures corresponding to the first original media stream.
[0162] Reference Figure 16 , Figure 16 A schematic diagram of the process of multiple anchor terminals connecting to microphones in different live broadcast modes provided by another embodiment of the present application. Figure 16 As shown, when the second anchor terminal transmits the second original media stream to the server based on the second transmission protocol, the second original media stream transmitted based on the second transmission protocol can meet the low-latency connection requirements of the first anchor terminal and the second anchor terminal. Therefore, the second original media stream can be directly sent to the first anchor terminal through the first live broadcast room. At the same time, the server can also return the first original media stream to the first anchor terminal through the first live broadcast room, so that the first anchor terminal can simultaneously watch the picture after the connection. In addition, the server also converts the first original media stream into the first target media stream, and sends the first target media stream to the second anchor terminal based on the first live broadcast room, so that the second anchor terminal can watch the live picture corresponding to the first target media stream through the first live broadcast room. In addition, the server can also return the second original media stream to the second anchor terminal based on the first live broadcast room, that is, the second anchor terminal can watch the live picture after the connection of both parties through the first live broadcast room.
[0163] Reference Figure 17 , Figure 17FIG. 0 is an alternative process schematic diagram of the live data processing method provided by the embodiment of the present application. The live data processing method can be executed by the first host terminal, and the live data processing method includes but is not limited to the following steps 1701 to 1702.
[0164] Step 1701: Send a first streaming request carrying a co-hosting identifier to the server, so that the server responds to the co-hosting identifier to create a first live room for co-hosting;
[0165] Among them, the first streaming request is used to request live streaming in the second live room based on the streaming mode of the first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live streaming process.
[0166] Step 1702: Send a first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes co-hosting with the second host terminal during the live streaming process, the server converts the first original media stream into a first target media stream transmitted based on the second transmission protocol, obtains the second original media stream sent by the second host terminal, sends the first target media stream to the second host terminal based on the first live room, combines the second original media stream and the first original media stream into a combined media stream, and sends the combined media stream to the first audience terminal based on the second live room.
[0167] In a possible implementation manner, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
[0168] In a possible implementation manner, during the process of sending the first streaming request carrying the co-hosting identifier to the server, the first host terminal may first respond to the operation of determining co-hosting during the live streaming process, generate a co-hosting identifier, and then generate a live streaming creation request for live streaming in the streaming mode based on the co-hosting identifier, and send the live streaming creation request to the server; then, receive the streaming key sent by the server in response to the live streaming creation request, where the streaming key is generated by the server based on the co-hosting identifier; thus, a first streaming request can be generated based on the streaming key, and the first streaming request can be sent to the server.
[0169] In a possible implementation manner, as Figure 8As shown in the figure, the first host terminal may display a live broadcast initiation page 801 provided by the server for initiating a live broadcast creation request. In the live broadcast initiation page 801, there are information input boxes 802 such as text input boxes and information check boxes related to live broadcast information such as describing the live broadcast content and live broadcast type, and a live broadcast room creation button 803 for generating and initiating a live broadcast creation request. When the co-host check box 804 displayed in the live broadcast initiation page 801 is triggered and in the checked state, it is equivalent to responding to the operation of determining to conduct a co-host during the live broadcast. At this time, the first host terminal generates a corresponding co-host identifier. When the first host terminal triggers the live broadcast room creation button 803 displayed in the live broadcast initiation page 801, the first host terminal generates a live broadcast creation request for live broadcasting in push stream mode based on the previously generated co-host identifier and sends it to the server. The live broadcast creation request is jointly generated based on the information input by the first host terminal in the information input box 802 displayed in the live broadcast initiation page 801 and the co-host identifier generated by the co-host check box 804.
[0170] In a possible implementation manner, during the process of sending the first push stream request carrying the co-host identifier to the server, the first host terminal may first send a live broadcast creation request for live broadcasting in push stream mode to the server, and receive the push stream key sent by the server in response to the live broadcast creation request; then, in response to determining the operation of conducting a co-host during the live broadcast, generate a co-host identifier; and then, generate a first push stream request based on the co-host identifier and the push stream key, and send the first push stream request to the server.
[0171] In a possible implementation manner, the first host terminal may display a live broadcast initiation page for initiating a live broadcast creation request. In the live broadcast initiation page, there are text input boxes and information check boxes related to live broadcast information such as describing the live broadcast content and live broadcast type, etc., and a live broadcast room creation button for generating and initiating a live broadcast creation request. When the first host terminal triggers the live broadcast room creation button displayed in the live broadcast initiation page, the first host terminal sends a live broadcast creation request for live broadcasting in push stream mode to the server. The live broadcast creation request is generated based on the information input by the first host terminal in each text input box and information check box displayed in the live broadcast initiation page.
[0172] In a possible implementation manner, such as Figure 9As shown, it is possible to determine whether to respond to the operation of determining to conduct a co-hosting during the live broadcast based on the checked state of the co-hosting function check box 904 displayed in the live streaming settings interface 901 of the first host terminal. When the co-hosting function check box 904 is selected so that the co-hosting function check box 904 is in the checked state, it is equivalent to responding to the operation of determining to conduct a co-hosting during the live broadcast, thereby generating a co-hosting identifier. Among them, the co-hosting identifier can be a fixed string or a random string. Specifically, the co-hosting identifier can include at least one of characters, numbers, and symbols. When the co-hosting function check box 904 is selected so that the co-hosting function check box 904 is in the un-checked state, it is equivalent to responding to the operation of determining not to conduct a co-hosting during the live broadcast, and thus no co-hosting identifier is generated.
[0173] In a possible implementation manner, during the process of generating the first live streaming request based on the co-hosting identifier and the live streaming key, the first host terminal can use the co-hosting identifier and the live streaming key as parameters of the first live streaming request, directly integrate the co-hosting identifier and the live streaming key to generate the first live streaming request and send it to the server; or it can update the live streaming key provided by the server based on the co-hosting identifier, add the key label of the co-hosting identifier to the live streaming key, and then send the live streaming key as the first live streaming request to the server. It should be noted that while receiving the live streaming key sent by the server in response to the live broadcast creation request, the first host terminal will also receive the corresponding live streaming address. When generating the first live streaming request, the co-hosting identifier, the live streaming key, and the live streaming address can be jointly integrated to generate the first live streaming request; or after adding the key label to the live streaming key based on the co-hosting identifier, the live streaming address and the live streaming key carrying the co-hosting identifier are used as the first live streaming request; or based on the co-hosting identifier, the live streaming address is updated, the address label of the co-hosting identifier is added to the live streaming address, and the live streaming key and the live streaming address carrying the co-hosting identifier are used as the first live streaming request.
[0174] In a possible implementation manner, the first host terminal can also receive the first original media stream and the second target media stream transmitted based on the second transmission protocol based on the third live broadcast room for co-hosting. Among them, the third live broadcast room is created by the server after receiving the second live streaming request carrying the co-hosting identifier sent by the second host terminal, and the second target media stream is obtained by the server based on the conversion of the second original media stream; thus, the first host terminal can simultaneously display the respective pictures corresponding to the second target media stream and the first original media stream.
[0175] In a possible implementation manner, the first host terminal can also receive the first original media stream and the second original media stream transmitted based on the second transmission protocol based on the first live broadcast room for co-hosting. Thus, the first host terminal can simultaneously display the respective pictures corresponding to the first original media stream and the second original media stream.
[0176] In a possible implementation, the first host terminal may also receive a first target media stream and a second original media stream transmitted based on a second transmission protocol based on the first live broadcast room for co-hosting, so that the first host terminal can simultaneously display the corresponding pictures of the first target media stream and the second original media stream.
[0177] The live data processing method provided by the embodiments of the present application will be described in detail below.
[0178] Refer to Figure 18 , Figure 18 which is an optional flowchart of the live data processing method provided by the embodiments of the present application. In this method, the live data processing method is applied to a server, and the live data processing method includes but is not limited to the following steps 1801 to step 1813:
[0179] Step 1801: Receive a live broadcast creation request sent by the first host terminal for live broadcast in a push stream mode, and generate a live broadcast room identifier corresponding to the first host terminal.
[0180] In this step, the live broadcast room identifier is used to identify different live broadcast rooms.
[0181] Step 1802: When the live broadcast creation request carries a co-hosting identifier, generate a target random number.
[0182] In this step, the co-hosting identifier is used to indicate co-hosting during the live broadcast.
[0183] Step 1803: Concatenate the co-hosting identifier, the live broadcast room identifier, and the target random number into an original string.
[0184] Step 1804: Encrypt the original string through a target encryption algorithm to obtain a push stream key, and send the push stream key to the first host terminal.
[0185] Step 1805: Receive a first push stream request sent by the first host terminal.
[0186] In this step, the first push stream request is used to request live broadcast in a push stream mode based on the first transmission protocol in the second live broadcast room.
[0187] Step 1806: Extract the push stream key from the first push stream request.
[0188] In this step, the push stream key is obtained by encrypting the co-hosting identifier and the live broadcast room identifier through a target encryption algorithm.
[0189] Step 1807: Decrypt the push stream key through a target decryption algorithm to obtain decryption data.
[0190] Step 1808: Verify the decrypted data. When the verification result indicates that the decrypted data includes a co-hosting identifier and a live room identifier, create a first live room for co-hosting based on the live room identifier.
[0191] Step 1809: Receive the first original media stream sent by the first host terminal based on the first transmission protocol.
[0192] Step 1810: Receive the second original media stream sent by the second host terminal.
[0193] In this step, when the second original media stream is sent based on the first transmission protocol, at this time, before the server receives the second original media stream sent by the second host terminal, first receive the second push stream request sent by the second host terminal. When the second push stream request carries a co-hosting identifier, create a third live room for co-hosting, where the second push stream request is used to request live streaming in the fourth live room based on the push stream mode of the first transmission protocol; and after this step, the server can convert the second original media stream into a second target media stream transmitted based on the second transmission protocol, send the second target media stream to the first host terminal based on the third live room, and send the merged media stream to the second viewer terminal based on the fourth live room. Additionally, when the second original media stream is sent based on the second transmission protocol, at this time, after the server receives the second original media stream sent by the second host terminal, the server can send the second original media stream to the first host terminal based on the first live room.
[0194] Step 1811: When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, convert the first original media stream into a first target media stream transmitted based on the second transmission protocol.
[0195] In this step, the transmission delay of the second transmission protocol is less than that of the first transmission protocol.
[0196] Step 1812: Send the first target media stream and the second original media stream to the second host terminal based on the first live room respectively.
[0197] Step 1813: Merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to the first viewer terminal based on the second live room.
[0198] In this step, when the second original media stream is sent based on the first transmission protocol, the second original media stream and the first original media stream can be directly merged into a merged media stream. When the second original media stream is sent based on the second transmission protocol, then convert the second original media stream into a third target media stream transmitted based on the first transmission protocol, and then merge the third target media stream and the first original media stream into a merged media stream.
[0199] According to the live broadcast data processing method provided in the above embodiments, the first host terminal adds a co-hosting identifier for indicating co-hosting during the live broadcast when sending a first streaming request to the server. When the server confirms that the first streaming request carries the co-hosting identifier, it will create a first live broadcast room for co-hosting. When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, it converts the first original media stream sent based on the first transmission protocol into a first target media stream transmitted based on the second transmission protocol, and then sends the first target media stream to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than that of the first transmission protocol, it is possible to perform low-latency co-hosting based on the first live broadcast room using the second transmission protocol. Moreover, by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first audience terminal based on the second live broadcast room, the mixing of the original media streams is achieved without changing the address for the audience terminal to watch the live broadcast. It can be seen that the live broadcast data processing method provided in the embodiments of the present application can reduce the latency of co-hosting in the streaming mode, improve the real-time performance of co-hosting, and at the same time can achieve co-hosting live broadcasts with low latency compatible with different live broadcast modes, and the audience terminal can switch the screen after co-hosting without perception.
[0200] Referring to Figure 19 , Figure 19 FIG. is an optional overall flowchart of the live broadcast data processing method provided in the embodiments of the present application. Among them, the live broadcast data processing method includes but is not limited to the following steps 1901 to step 1916:
[0201] Step 1901, the first host terminal sends a live broadcast creation request carrying a co-hosting identifier to the server.
[0202] In this step, the co-hosting identifier can be generated in response to an operation of determining co-hosting during the live broadcast, and the live broadcast creation request is used to request the server to provide a live broadcast service for live streaming in the push mode.
[0203] Step 1902, the server returns a push stream key and a push stream address to the first host terminal.
[0204] In this step, when the server receives the live broadcast creation request for live streaming in the push mode sent by the first host terminal, it generates a live broadcast room identifier corresponding to the first host terminal, and according to the co-hosting identifier carried in the live broadcast creation request, generates a target random number, concatenates the co-hosting identifier, the live broadcast room identifier, and the target random number into an original string, and then encrypts the original string through a target encryption algorithm to obtain a push stream key.
[0205] Step 1903, the first host terminal sends a first streaming request carrying a co-hosting identifier to the server.
[0206] In this step, after receiving the streaming key and streaming address returned by the server, the first anchor terminal generates a first streaming request based on the streaming key.
[0207] Step 1904: The server extracts the streaming key and verifies the microphone connection ID and the live broadcast room ID.
[0208] In this step, after receiving the first push stream request provided by the first anchor terminal, the server extracts the push stream key and the push stream address from the first push stream request, and then decrypts the push stream key through the target decryption algorithm to obtain decrypted data. It can be verified from the decrypted data that the decrypted data includes the microphone connection identifier and the live broadcast room identifier of the second live broadcast room, indicating that the first anchor terminal has a microphone connection requirement during the live broadcast process.
[0209] Step 1905, the server creates the first live broadcast room and the second live broadcast room.
[0210] In this step, when it is verified from the decrypted data that the decrypted data includes a microphone connection identifier and a second live broadcast room identifier, the server can create a first live broadcast room and a second live broadcast room according to the live broadcast room identifier, wherein the first live broadcast room is used for microphone connection, and the second live broadcast room is used for the first anchor terminal to push live broadcast to the first audience terminal.
[0211] Step 1906: The first anchor terminal transmits the first original media stream to the server based on the first transmission protocol.
[0212] Step 1907: The server transmits the first original media stream to the first viewer terminal based on the second live broadcast room.
[0213] Step 1908: The first anchor terminal initiates a request for connecting to the second anchor terminal through the server.
[0214] In this step, when the first anchor terminal initiates a request to the server to connect to the second anchor terminal, the second anchor terminal has already initiated a live broadcast creation request to the server, and the server responds to the live broadcast creation request of the second anchor terminal, and the server establishes a communication connection with the second anchor terminal.
[0215] Step 1909: The second host terminal responds to the microphone connection request and establishes the microphone connection.
[0216] Step 1910: The second anchor terminal sends a second original media stream to the server based on a second transmission protocol.
[0217] Step 1911: The server converts the first original media stream into a first target media stream.
[0218] In this step, the server converts the first original media stream transmitted based on the first transmission protocol into the first target media stream transmitted based on the second transmission protocol, where the transmission delay of the second transmission protocol is less than that of the first transmission protocol.
[0219] Step 1912: The server transmits the first target media stream to the second host terminal based on the first live broadcast room.
[0220] Step 1913: The server transmits the second original media stream to the first host terminal based on the first live broadcast room.
[0221] Step 1914: The server converts the second original media stream into the third target media stream.
[0222] In this step, the server converts the second original media stream transmitted based on the second transmission protocol into the third target media stream transmitted based on the first transmission protocol, facilitating the mixing of the original media streams in subsequent steps.
[0223] Step 1915: The server combines the third target media stream and the first original media stream into a combined media stream.
[0224] In this step, the server combines the third target media stream transmitted based on the first transmission protocol and the first original media stream transmitted based on the first transmission protocol into a combined media stream transmitted based on the first transmission protocol, thus realizing the mixing of the media streams of the two host terminals.
[0225] Step 1916: The server transmits the combined media stream to the first viewer terminal based on the second live broadcast room.
[0226] In this step, the server directly transmits the mixed combined media stream to the first viewer terminal through the second live broadcast room without changing the address for the viewer terminal to watch the live broadcast, thus achieving a seamless switch of the picture after the connection of the co-hosting at the viewer terminal.
[0227] According to the live broadcast data processing method provided in the above embodiments, when the first host terminal sends a first streaming request to the server, it adds a co-hosting identifier for indicating co-hosting during the live broadcast. When the server confirms that the first streaming request carries the co-hosting identifier, it creates a first live broadcast room for co-hosting. When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, it converts the first original media stream sent by the first host terminal based on the first transmission protocol into a first target media stream transmitted based on the second transmission protocol, and then sends the first target media stream to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than that of the first transmission protocol, low-latency co-hosting can be performed based on the first live broadcast room using the second transmission protocol. Moreover, by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first audience terminal based on the second live broadcast room, the mixing of the original media streams is realized without changing the address for the audience terminal to watch the live broadcast. It can be seen that the live broadcast data processing method provided in the embodiments of the present application can reduce the latency of co-hosting in the streaming mode, improve the real-time performance of co-hosting, and at the same time can realize co-hosting live broadcasts with low latency in different live broadcast modes, and the audience terminal can switch the picture after co-hosting without perception.
[0228] The following takes the live broadcast co-hosting of the first host terminal and the second host terminal in the streaming mode as an example to illustrate the live broadcast data processing method. It should be noted that both the first host terminal and the second host terminal transmit media streams to the server based on the first transmission protocol.
[0229] Refer to Figure 20 , Figure 20 which is an optional overall flowchart of the live broadcast data processing method provided in the embodiments of the present application. Among them, the live broadcast data processing method includes but is not limited to the following steps 2001 to step 2024:
[0230] Step 2001, the first host terminal sends a live broadcast creation request to the server.
[0231] Step 2002, the server returns the first streaming key and the first streaming address to the first host terminal.
[0232] In this step, when the server receives the live broadcast creation request sent by the first host terminal for live broadcast in the streaming mode, it generates a live broadcast room identifier corresponding to the first host terminal, and generates a target random number according to the co-hosting identifier carried in the live broadcast creation request. It concatenates the co-hosting identifier, the live broadcast room identifier, and the target random number into an original string, and then encrypts the original string through a target encryption algorithm to obtain the first streaming key.
[0233] Step 2003, the first host terminal generates a first streaming request carrying the co-hosting identifier.
[0234] In this step, the co-hosting identifier can be generated in response to determining an operation of co-hosting during the live broadcast. The first host terminal generates a first push stream request carrying the co-hosting identifier according to the generated co-hosting identifier and the first push stream key provided by the server.
[0235] Step 2004, the first host terminal sends a first push stream request carrying the co-hosting identifier to the server.
[0236] Step 2005, the server extracts the first push stream key and verifies to obtain the co-hosting identifier and the live broadcast room identifier.
[0237] In this step, after receiving the first push stream request provided by the first host terminal, the server extracts the first push stream key and the first push stream address from the first push stream request, and then decrypts the first push stream key through a target decryption algorithm to obtain decryption data. It can be verified from the decryption data that the decryption data includes the co-hosting identifier and the live broadcast room identifier of the second live broadcast room, indicating that the first host terminal has a co-hosting requirement during the live broadcast.
[0238] Step 2005, the server creates a first live broadcast room and a second live broadcast room.
[0239] In this step, in the case where it is verified from the decryption data that the decryption data includes the co-hosting identifier and the live broadcast room identifier of the second live broadcast room, the server can create a first live broadcast room and a second live broadcast room according to the live broadcast room identifier, where the first live broadcast room is used for co-hosting, and the second live broadcast room is used for the first host terminal to push stream and broadcast to the first audience terminal.
[0240] Step 2007, the second host terminal sends a live broadcast creation request to the server.
[0241] Step 2008, the server returns a second push stream key and a second push stream address to the second host terminal.
[0242] In this step, after receiving the live broadcast creation request for live broadcasting in the push stream mode sent by the second host terminal, the server generates a live broadcast room identifier corresponding to the second host terminal, and generates a target random number according to the co-hosting identifier carried in the live broadcast creation request, splices the co-hosting identifier, the live broadcast room identifier and the target random number into an original string, and then encrypts the original string through a target encryption algorithm to obtain a second push stream key.
[0243] Step 2009, the second host terminal generates a second push stream request carrying the co-hosting identifier.
[0244] In this step, the co-hosting identifier can be generated in response to determining an operation of co-hosting during the live broadcast. The second host terminal generates a second push stream request carrying the co-hosting identifier according to the generated co-hosting identifier and the second push stream key provided by the server.
[0245] Step 2010, the second host terminal sends a second push stream request carrying the co-hosting identifier to the server.
[0246] Step 2011, the server extracts the second push stream key and verifies to obtain the co-hosting identifier and the live broadcast room identifier.
[0247] In this step, after receiving the second push stream request provided by the second host terminal, the server extracts the second push stream key and the second push stream address from the second push stream request, and then decrypts the second push stream key through a target decryption algorithm to obtain decryption data. It can be verified from the decryption data that the decryption data includes the co-hosting identifier and the live broadcast room identifier of the fourth live broadcast room, indicating that the second host terminal has a co-hosting requirement during the live broadcast.
[0248] Step 2012, the server creates a third live broadcast room and a fourth live broadcast room.
[0249] In this step, in the case where it is verified from the decryption data that the decryption data includes the co-hosting identifier and the live broadcast room identifier of the fourth live broadcast room, the server can create a third live broadcast room and a fourth live broadcast room according to the live broadcast room identifier. Among them, the third live broadcast room is used for co-hosting, and the fourth live broadcast room is used for the second host terminal to perform push stream live broadcast to the second audience terminal.
[0250] Step 2013, the first host terminal transmits the first original media stream to the server based on the first transmission protocol.
[0251] Step 2014, the server transmits the first original media stream to the first audience terminal based on the second live broadcast room.
[0252] In this step, the first host terminal realizes live broadcast in a non-co-hosting state, and the server uses the second live broadcast room to provide a corresponding live broadcast picture to the first audience terminal.
[0253] Step 2015, the second host terminal transmits the second original media stream to the server based on the first transmission protocol.
[0254] Step 2016, the server transmits the second original media stream to the second audience terminal based on the fourth live broadcast room.
[0255] In this step, the second host terminal realizes live broadcast in a non-co-hosting state, and the server uses the fourth live broadcast room to provide a corresponding live broadcast picture to the second audience terminal.
[0256] Step 2017: The first anchor terminal initiates a request for connecting to the second anchor terminal through the server.
[0257] In this step, when the first anchor terminal initiates a request to the server to connect to the second anchor terminal, the second anchor terminal has already initiated a live broadcast creation request to the server, and the server responds to the live broadcast creation request of the second anchor terminal, and the server establishes a communication connection with the second anchor terminal.
[0258] Step 2018: The second anchor terminal responds to the microphone connection request and establishes the microphone connection.
[0259] Step 2019: The server converts the first original media stream into a first target media stream, and converts the second original media stream into a second target media stream.
[0260] In this step, the server converts the first original media stream transmitted based on the first transmission protocol into a first target media stream transmitted based on the second transmission protocol, and also converts the second original media stream transmitted based on the first transmission protocol into a second target media stream transmitted based on the second transmission protocol, wherein the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
[0261] Step 220: The server transmits the first target media stream and the second original media stream to the second anchor terminal based on the first live broadcast room.
[0262] In this step, the second anchor terminal can simultaneously watch the live broadcast images corresponding to the media streams provided by the two anchor terminals through the first live broadcast room.
[0263] Step 2021, the server transmits the second target media stream and the first original media stream to the first anchor terminal based on the third live broadcast room.
[0264] In this step, the first anchor terminal can simultaneously watch the live broadcast images corresponding to the media streams provided by the two anchor terminals through the third live broadcast room.
[0265] Step 2022: The server merges the first original media stream and the second original media stream into a merged media stream.
[0266] In this step, the server merges the first original media stream and the second original media stream into a merged media stream transmitted based on the first transmission protocol, thereby achieving media stream mixing of two anchor terminals.
[0267] Step 2023, the server transmits the combined media stream to the first viewer terminal based on the second live broadcast room.
[0268] In this step, the server directly transmits the merged media stream after mixing to the first viewer terminal through the second live broadcast room without changing the address of the viewer terminal for watching the live broadcast, so as to realize the seamless switching of the picture after the connection of microphones on the first viewer terminal.
[0269] Step 2024, the server transmits the merged media stream to the second viewer terminal based on the fourth live broadcast room.
[0270] In this step, the server directly transmits the merged media stream after mixing to the second viewer terminal through the fourth live broadcast room without changing the address of the viewer terminal for watching the live broadcast, so as to realize the seamless switching of the picture after the connection of microphones on the second viewer terminal.
[0271] According to the live broadcast data processing method provided in the above embodiment, the first host terminal adds a microphone connection identifier for indicating the connection of microphones during the live broadcast when sending the first streaming request to the server. When the server confirms that the first streaming request carries the microphone connection identifier, it will create a first live broadcast room for the connection of microphones. When the first host terminal establishes a connection of microphones with the second host terminal during the live broadcast, it converts the first original media stream sent by the first host terminal based on the first transmission protocol into a first target media stream transmitted based on the second transmission protocol, and then sends the first target media stream to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol, it is possible to perform a low-latency connection of microphones based on the first live broadcast room using the second transmission protocol. Moreover, by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first viewer terminal based on the second live broadcast room, the mixing of the original media streams is realized without changing the address of the viewer terminal for watching the live broadcast. It can be seen that the live broadcast data processing method provided in the embodiments of the present application can reduce the latency of the connection of microphones in the streaming mode, improve the real-time performance of the connection of microphones, and the viewer terminal can seamlessly switch the picture after the connection of microphones.
[0272] It can be understood that although the steps in the above various flowcharts are sequentially shown according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear description in this embodiment, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the above flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0273] Refer to Figure 21 , Figure 21An alternative structural schematic diagram of the live data processing device 2100 provided by the embodiments of the present application. The live data processing device 2100 includes:
[0274] A live room creation module 2101, configured to receive a first streaming request sent by a first host terminal. When the first streaming request carries a co-hosting identifier, create a first live room for co-hosting. Among them, the first streaming request is used to request live streaming in a second live room based on a push streaming mode of a first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live streaming process;
[0275] A media stream receiving module 2102, configured to receive a first original media stream sent by the first host terminal based on the first transmission protocol, and receive a second original media stream sent by the second host terminal;
[0276] A conversion module 2103, configured to convert the first original media stream into a first target media stream transmitted based on a second transmission protocol when the first host terminal establishes co-hosting with the second host terminal during the live streaming process. Among them, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol;
[0277] A media stream sending module 2104, configured to send the first target media stream to the second host terminal based on the first live room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to the first viewer terminal based on the second live room.
[0278] In a possible implementation manner, the live room creation module 2101 is further configured to:
[0279] Extract a streaming key from the first streaming request;
[0280] Verify the streaming key. When the verification result is that the streaming key includes the co-hosting identifier and the live room identifier of the second live room, create a first live room for co-hosting according to the live room identifier.
[0281] In a possible implementation manner, the streaming key is obtained by encrypting the co-hosting identifier and the live room identifier through a target encryption algorithm. The live room creation module 2101 is further configured to:
[0282] Decrypt the streaming key through a target decryption algorithm to obtain decrypted data, where the target decryption algorithm is the inverse algorithm of the target encryption algorithm;
[0283] Verify the decrypted data. When the verification result is that the decrypted data includes the co-hosting identifier and the live room identifier, create a first live room for co-hosting according to the live room identifier.
[0284] In a possible implementation manner, the live room creation module 2101 is further configured to:
[0285] Receive a live broadcast creation request for live broadcast in push stream mode sent by the first host terminal, and generate a live broadcast room identifier corresponding to the first host terminal;
[0286] When the live broadcast creation request carries a co-hosting identifier, generate a target random number, and concatenate the co-hosting identifier, the live broadcast room identifier, and the target random number into an original string;
[0287] Encrypt the original string through a target encryption algorithm to obtain a push stream key, and send the push stream key to the first host terminal.
[0288] In a possible implementation manner, the media stream sending module 2104 is further configured to:
[0289] Based on the first live broadcast room, send the first target media stream and the second original media stream to the second host terminal respectively, so that the second host terminal can simultaneously display the respective corresponding pictures of the first target media stream and the second original media stream.
[0290] In a possible implementation manner, the second original media stream is sent based on the first transmission protocol, and the live broadcast room creation module 2101 is further configured to:
[0291] Receive a second push stream request sent by the second host terminal. When the second push stream request carries a co-hosting identifier, create a third live broadcast room for co-hosting, where the second push stream request is used to request a live broadcast in push stream mode based on the first transmission protocol in the fourth live broadcast room;
[0292] In a possible implementation manner, the second original media stream is sent based on the first transmission protocol, and the media stream sending module 2104 is further configured to:
[0293] Convert the second original media stream into a second target media stream transmitted based on the second transmission protocol, send the second target media stream to the first host terminal based on the third live broadcast room, and send the merged media stream to the second viewer terminal based on the fourth live broadcast room.
[0294] In a possible implementation manner, the media stream sending module 2104 is further configured to:
[0295] Based on the third live broadcast room, send the second target media stream and the first original media stream to the first host terminal respectively, so that the first host terminal can simultaneously display the respective corresponding pictures of the second target media stream and the first original media stream.
[0296] In a possible implementation manner, the media stream sending module 2104 is further configured to:
[0297] Send the second original media stream to the first host terminal based on the first live broadcast room;
[0298] Merging the second original media stream and the first original media stream into a merged media stream includes:
[0299] Converting the second original media stream into a third target media stream transmitted based on the first transmission protocol, and merging the third target media stream and the first original media stream into a merged media stream.
[0300] In a possible implementation, the media stream sending module 2104 is further configured to:
[0301] Based on the first live broadcast room, send the second original media stream and the first original media stream to the first host terminal respectively, so that the first host terminal can simultaneously display the corresponding pictures of the second original media stream and the first original media stream.
[0302] The above live data processing device 2100 and the live data processing method are based on the same inventive concept. When the first host terminal sends a first push stream request to the server, it adds a co-hosting identifier for indicating co-hosting during the live broadcast. When the server confirms that the first push stream request carries the co-hosting identifier, it will create a first live broadcast room for co-hosting. When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, the first original media stream transmitted by the first host terminal based on the first transmission protocol is converted into a first target media stream transmitted based on the second transmission protocol, and then the first target media stream is sent to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than that of the first transmission protocol, low-latency co-hosting can be performed based on the first live broadcast room using the second transmission protocol. And, by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first audience terminal based on the second live broadcast room, the mixing of the original media streams is realized without changing the address for the audience terminal to watch the live broadcast. It can be seen that the live data device provided by the embodiments of the present application can reduce the delay of co-hosting and improve the real-time performance of co-hosting in the push stream mode, and the audience terminal can switch the picture after co-hosting without perception.
[0303] Refer to Figure 22 , Figure 22 FIG.
[0304] A request module 2201, configured to send a first push stream request carrying a co-hosting identifier to the server, so that the server responds to the co-hosting identifier and creates a first live broadcast room for co-hosting, where the first push stream request is used to request live broadcast in the push stream mode based on the first transmission protocol in the second live broadcast room, and the co-hosting identifier is used to indicate co-hosting during the live broadcast;
[0305] The streaming module 2202 is used to send the first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes a co-hosting connection with the second host terminal during the live broadcast, the server can convert the first original media stream into a first target media stream transmitted based on the second transmission protocol, obtain the second original media stream sent by the second host terminal, send the first target media stream to the second host terminal based on the first live broadcast room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to the first audience terminal based on the second live broadcast room;
[0306] Among them, the transmission delay of the second transmission protocol is less than that of the first transmission protocol.
[0307] In a possible implementation, the request module 2201 is further used for:
[0308] In response to determining the operation of co-hosting during the live broadcast, generate a co-hosting identifier, generate a live broadcast creation request for live streaming based on the co-hosting identifier, and send the live broadcast creation request to the server;
[0309] Receive the streaming key sent by the server in response to the live broadcast creation request, where the streaming key is generated by the server based on the co-hosting identifier;
[0310] Generate a first streaming request based on the streaming key, and send the first streaming request to the server.
[0311] In a possible implementation, the request module 2201 is further used for:
[0312] Send a live broadcast creation request for live streaming to the server, and receive the streaming key sent by the server in response to the live broadcast creation request;
[0313] In response to determining the operation of co-hosting during the live broadcast, generate a co-hosting identifier;
[0314] Generate a first streaming request based on the co-hosting identifier and the streaming key, and send the first streaming request to the server.
[0315] In a possible implementation, the live broadcast data processing device further includes a receiving module, and the receiving module is used for:
[0316] Based on the third live broadcast room for co-hosting, receive the first original media stream and the second target media stream transmitted based on the second transmission protocol, where the third live broadcast room is created by the server after receiving the second streaming request carrying the co-hosting identifier sent by the second host terminal, and the second target media stream is obtained by the server based on the conversion of the second original media stream;
[0317] Simultaneously display the screens corresponding to the second target media stream and the first original media stream respectively.
[0318] The above live broadcast data processing device 2100 and the live broadcast data processing method are based on the same inventive concept. When the first host terminal sends a first streaming request to the server, it adds a co-hosting identifier for indicating co-hosting during the live broadcast. When the server confirms that the first streaming request carries the co-hosting identifier, it creates a first live broadcast room for co-hosting. When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, it converts the first original media stream sent by the first host terminal based on the first transmission protocol into a first target media stream transmitted based on the second transmission protocol, and then sends the first target media stream to the second host terminal based on the first live broadcast room. Since the transmission delay of the second transmission protocol is less than that of the first transmission protocol, low-latency co-hosting can be performed based on the first live broadcast room using the second transmission protocol. Moreover, by merging the second original media stream and the first original media stream into a merged media stream and sending the merged media stream to the first audience terminal based on the second live broadcast room, the mixing of the original media streams is realized without changing the address for the audience terminal to watch the live broadcast. It can be seen that the live broadcast data device provided by the embodiments of the present application can reduce the latency of co-hosting in the streaming mode, improve the real-time performance of co-hosting, and the audience terminal can seamlessly switch to the screen after co-hosting.
[0319] The electronic device for executing the above live broadcast data processing method provided by the embodiments of the present application may be a terminal. Refer to Figure 23 , Figure 23 which is a partial structural block diagram of the terminal provided by the embodiments of the present application. The terminal includes components such as a camera assembly 2310, a first memory 2320, an input unit 2330, a display unit 2340, sensors 2350, an audio circuit 2360, a wireless fidelity (WiFi) module 2370, a processor 2380, and a power supply 2390. Those skilled in the art can understand that Figure 23 the terminal structure shown in
[0320] does not constitute a limitation on the terminal. It may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0321] The first memory 2320 can be used to store software programs and modules. The processor 2380 executes various functional applications and data processing of the terminal by running the software programs and modules stored in the first memory 2320.
[0322] The input unit 2330 can be used to receive input digital or character information and generate key signal inputs related to the settings and function controls of the terminal. Specifically, the input unit 2330 can include a touch panel 2331 and other input devices 2332.
[0323] The display unit 2340 can be used to display input information or provided information and various menus of the terminal. The display unit 2340 can include a display panel 2341.
[0324] The audio circuit 2360, speaker 2361, and microphone 2362 can provide an audio interface.
[0325] The power supply 2390 can be alternating current, direct current, a disposable battery, or a rechargeable battery.
[0326] The number of sensors 2350 can be one or more. The one or more sensors 2350 include but are not limited to: acceleration sensors, gyroscope sensors, pressure sensors, optical sensors, etc. Among them:
[0327] The acceleration sensor can detect the magnitudes of accelerations on the three coordinate axes of the coordinate system established by the terminal. For example, the acceleration sensor can be used to detect the components of the gravitational acceleration on the three coordinate axes. The processor 2380 can control the display unit 2340 to display the user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor. The acceleration sensor can also be used for game or user motion data collection.
[0328] The gyroscope sensor can detect the body direction and rotation angle of the terminal. The gyroscope sensor can cooperate with the acceleration sensor to collect the 3D actions of the user on the terminal. Based on the data collected by the gyroscope sensor, the processor 2380 can implement the following functions: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0329] The pressure sensor can be disposed on the side frame of the terminal and / or the lower layer of the display unit 2340. When the pressure sensor is disposed on the side frame of the terminal, a grip signal of the user on the terminal can be detected, and the processor 2380 can perform left / right hand recognition or a quick operation according to the grip signal collected by the pressure sensor. When the pressure sensor is disposed on the lower layer of the display unit 2340, the processor 2380 can control the operable controls on the UI interface according to the pressure operation of the user on the display unit 2340. The operable controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
[0330] The optical sensor is used to collect the ambient light intensity. In one embodiment, the processor 2380 can control the display brightness of the display unit 2340 according to the ambient light intensity collected by the optical sensor. Specifically, when the ambient light intensity is high, the display brightness of the display unit 2340 is increased; when the ambient light intensity is low, the display brightness of the display unit 2340 is decreased. In another embodiment, the processor 2380 can also dynamically adjust the shooting parameters of the camera assembly 2310 according to the ambient light intensity collected by the optical sensor.
[0331] In this embodiment, the processor 2380 included in the terminal can execute the live data processing method of the previous embodiment.
[0332] The electronic device for executing the above live data processing method provided by the embodiment of the present application can also be a server. Refer to Figure 24 , Figure 24 which is a partial structural block diagram of the server provided by the embodiment of the present application. The server 2400 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPUs) 2422 (for example, one or more processors) and a second memory 2432, and one or more storage media 2430 (for example, one or more mass storage devices) for storing application programs 2442 or data 2444. Among them, the second memory 2432 and the storage media 2430 can be transient storage or persistent storage. The program stored in the storage media 2430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server 2400. Further, the central processing unit 2422 can be configured to communicate with the storage media 2430 and execute a series of instruction operations in the storage media 2430 on the server 2400.
[0333] The server 2400 may further include one or more power supplies 2426, one or more wired or wireless network interfaces 2450, one or more input / output interfaces 2458, and / or one or more operating systems 2441, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, and so on.
[0334] The processor in the server 2400 can be used to execute the live data processing method.
[0335] The embodiment of the present application also provides a computer-readable storage medium, which is used to store a computer program, and the computer program is used to execute the live data processing method of each of the foregoing embodiments.
[0336] The embodiment of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the live data processing method described above.
[0337] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances to describe the embodiments of the present application, for example, it can be implemented in an order other than those illustrated or described here. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not have to be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or are inherent to these processes, methods, products or devices.
[0338] It should be understood that in this application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one (or one of the following)" or its similar expression refers to any combination of these items, including any combination of single items (or one) or plural items (or ones). For example, at least one (or one) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0339] It should be understood that in the description of the embodiments of this application, the meaning of "a plurality (or multiple items)" is more than two. Understandings such as "greater than", "less than", and "exceeding" do not include the present number, and understandings such as "above", "below", and "within" include the present number.
[0340] In several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical, or other forms.
[0341] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0342] In addition, each functional unit in the various embodiments of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0343] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0344] It should also be understood that the various embodiments provided in the embodiments of this application can be combined arbitrarily to achieve different technical effects.
[0345] The above has specifically described the preferred embodiments of this application, but this application is not limited to the above embodiments. Those skilled in the art can also make various equivalent deformations or substitutions without departing from the spirit of this application, and these equivalent deformations or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A live broadcast data processing method, characterized in that, applied to a server, the live broadcast data processing method includes: Receiving a first streaming request sent by a first host terminal, and when the first streaming request carries a co-hosting identifier, creating a first live broadcast room for co-hosting, wherein the first streaming request is used to request live broadcast in a second live broadcast room based on a first transmission protocol, and the co-hosting identifier is used to indicate co-hosting during the live broadcast; Receiving a first original media stream sent by the first host terminal based on the first transmission protocol, and receiving a second original media stream sent by a second host terminal; When the first host terminal establishes co-hosting with the second host terminal during the live broadcast, converting the first original media stream into a first target media stream transmitted based on a second transmission protocol, wherein the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol; Sending the first target media stream to the second host terminal based on the first live broadcast room, merging the second original media stream and the first original media stream into a merged media stream, and sending the merged media stream to a first viewer terminal based on the second live broadcast room.
2. The live broadcast data processing method according to claim 1, characterized in that, the step of creating a first live broadcast room for co-hosting when the first streaming request carries a co-hosting identifier includes: Extracting a streaming key from the first streaming request; Verifying the streaming key, and when the verification result is that the streaming key includes the co-hosting identifier and the live broadcast room identifier of the second live broadcast room, creating a first live broadcast room for co-hosting according to the live broadcast room identifier.
3. The live broadcast data processing method according to claim 2, characterized in that, the streaming key is obtained by encrypting the co-hosting identifier and the live broadcast room identifier through a target encryption algorithm, and the step of verifying the streaming key, and when the verification result is that the streaming key includes the co-hosting identifier and the live broadcast room identifier of the second live broadcast room, creating a first live broadcast room for co-hosting according to the live broadcast room identifier includes: Decrypting the streaming key through a target decryption algorithm to obtain decryption data, wherein the target decryption algorithm is the inverse algorithm of the target encryption algorithm; Verifying the decryption data, and when the verification result is that the decryption data includes the co-hosting identifier and the live broadcast room identifier, creating a first live broadcast room for co-hosting according to the live broadcast room identifier.
4. The live broadcast data processing method according to claim 3, characterized in that, before receiving the first streaming request sent by the first host terminal, the live broadcast data processing method further includes: Receiving a live broadcast creation request sent by the first host terminal for live broadcast in the streaming mode, and generating the live broadcast room identifier corresponding to the first host terminal; When the live broadcast creation request carries the co-hosting identifier, generating a target random number, and concatenating the co-hosting identifier, the live broadcast room identifier and the target random number into an original string; Encrypt the original string through the target encryption algorithm to obtain a streaming key, and send the streaming key to the first host terminal.
5. The live data processing method according to claim 1, wherein, sending the first target media stream to the second host terminal based on the first live broadcast room includes: sending the first target media stream and the second original media stream to the second host terminal based on the first live broadcast room, so that the second host terminal can simultaneously display the corresponding pictures of the first target media stream and the second original media stream respectively.
6. The live data processing method according to claim 1, wherein, the second original media stream is sent based on the first transmission protocol; before receiving the second original media stream sent by the second host terminal, the live data processing method further includes: receiving a second streaming request sent by the second host terminal, and when the second streaming request carries the co-hosting identifier, creating a third live broadcast room for co-hosting, wherein the second streaming request is used to request a live broadcast based on the streaming mode of the first transmission protocol in a fourth live broadcast room; after receiving the second original media stream sent by the second host terminal, the live data processing method further includes: converting the second original media stream into a second target media stream transmitted based on the second transmission protocol, sending the second target media stream to the first host terminal based on the third live broadcast room, and sending the merged media stream to the second audience terminal based on the fourth live broadcast room.
7. The live data processing method according to claim 6, wherein, sending the second target media stream to the first host terminal based on the third live broadcast room includes: sending the second target media stream and the first original media stream to the first host terminal based on the third live broadcast room, so that the first host terminal can simultaneously display the corresponding pictures of the second target media stream and the first original media stream respectively.
8. The live data processing method according to claim 1, wherein, the second original media stream is sent based on the second transmission protocol; after receiving the second original media stream sent by the second host terminal, the live data processing method further includes: sending the second original media stream to the first host terminal based on the first live broadcast room; merging the second original media stream and the first original media stream into a merged media stream includes: converting the second original media stream into a third target media stream transmitted based on the first transmission protocol, and merging the third target media stream and the first original media stream into a merged media stream.
9. The live data processing method according to claim 8, wherein, sending the second original media stream to the first host terminal based on the first live broadcast room includes: Based on the first live broadcast room, the second original media stream and the first original media stream are respectively sent to the first host terminal for the first host terminal to simultaneously display the corresponding pictures of the second original media stream and the first original media stream.
10. A live broadcast data processing method, characterized in that, applied to a first host terminal, the live broadcast data processing method includes: Sending a first streaming request carrying a connection identifier to a server for the server to respond to the connection identifier to create a first live broadcast room for connection, wherein the first streaming request is used to request live broadcast in a streaming mode based on a first transmission protocol in a second live broadcast room, and the connection identifier is used to indicate connection during the live broadcast; Sending a first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes a connection with a second host terminal during the live broadcast, the server converts the first original media stream into a first target media stream transmitted based on a second transmission protocol, obtains a second original media stream sent by the second host terminal, sends the first target media stream to the second host terminal based on the first live broadcast room, combines the second original media stream and the first original media stream into a combined media stream, and sends the combined media stream to a first audience terminal based on the second live broadcast room; wherein, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
11. The live broadcast data processing method according to claim 10, characterized in that, The sending the first streaming request carrying a connection identifier to the server includes: Responding to an operation of determining connection during the live broadcast, generating a connection identifier, generating a live broadcast creation request for live broadcast in the streaming mode based on the connection identifier, and sending the live broadcast creation request to the server; Receiving a streaming key sent by the server in response to the live broadcast creation request, wherein the streaming key is generated by the server based on the connection identifier; Generating the first streaming request based on the streaming key and sending the first streaming request to the server.
12. The live broadcast data processing method according to claim 10, characterized in that, The sending the first streaming request carrying a connection identifier to the server includes: Sending a live broadcast creation request for live broadcast in the streaming mode to the server and receiving a streaming key sent by the server in response to the live broadcast creation request; Responding to an operation of determining connection during the live broadcast, generating a connection identifier; Generating the first streaming request based on the connection identifier and the streaming key and sending the first streaming request to the server.
13. The live broadcast data processing method according to claim 10, characterized in that, The live broadcast data processing method further includes: Based on a third live broadcast room for co-hosting, receive the first original media stream and a second target media stream transmitted based on the second transmission protocol. The third live broadcast room is created by the server after receiving a second push stream request carrying the co-hosting identifier sent by the second host terminal, and the second target media stream is converted by the server based on the second original media stream; Simultaneously display the screens corresponding to the second target media stream and the first original media stream respectively.
14. A live broadcast data processing device, Characterized in that, Comprising: A live broadcast room creation module, configured to receive a first push stream request sent by a first host terminal, and when the first push stream request carries a co-hosting identifier, create a first live broadcast room for co-hosting. The first push stream request is used to request a push stream mode based on a first transmission protocol in a second live broadcast room, and the co-hosting identifier is used to indicate co-hosting during the live broadcast; A media stream receiving module, configured to receive a first original media stream sent by the first host terminal based on the first transmission protocol, and receive a second original media stream sent by a second host terminal; A conversion module, configured to, when the first host terminal establishes co-hosting with the second host terminal during the live broadcast, convert the first original media stream into a first target media stream transmitted based on a second transmission protocol, where the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol; A media stream sending module, configured to send the first target media stream to the second host terminal based on the first live broadcast room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to a first audience terminal based on the second live broadcast room.
15. A live broadcast data processing device, Characterized in that, Comprising: A request module, configured to send a first push stream request carrying a co-hosting identifier to a server, so that the server responds to the co-hosting identifier to create a first live broadcast room for co-hosting. The first push stream request is used to request a push stream mode based on a first transmission protocol in a second live broadcast room, and the co-hosting identifier is used to indicate co-hosting during the live broadcast; A push stream module, configured to send a first original media stream to the server based on the first transmission protocol, so that when the first host terminal establishes co-hosting with a second host terminal during the live broadcast, the server converts the first original media stream into a first target media stream transmitted based on a second transmission protocol, obtain a second original media stream sent by the second host terminal, send the first target media stream to the second host terminal based on the first live broadcast room, merge the second original media stream and the first original media stream into a merged media stream, and send the merged media stream to a first audience terminal based on the second live broadcast room; Wherein, the transmission delay of the second transmission protocol is less than the transmission delay of the first transmission protocol.
16. An electronic device, comprising a memory and a processor, the memory stores a computer program, Characterized in that, When the processor executes the computer program, the live data processing method described in any one of claims 1 to 13 is implemented.
17. A computer-readable storage medium storing a computer program, wherein, when the computer program is executed by a processor, the live data processing method described in any one of claims 1 to 13 is implemented.
18. A computer program product comprising a computer program, wherein, when the computer program is executed by a processor, the live data processing method described in any one of claims 1 to 13 is implemented.