Cloud game live broadcasting method, device, computing equipment and computer storage medium

Through the establishment of streaming data channels and stitching media description information in the cloud game live broadcast, the problem of voice interaction between users and the anchors is solved, and multi -user connections with real -time voice interaction and convenientness have been realized. Essence

CN115767123BActive Publication Date: 2025-01-28SHANGHAI BILIBILI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211457381.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-17
Publication Date
2025-01-28
Estimated Expiration
2042-11-17

AI Technical Summary

Technical Problem

In the live broadcast scenario of cloud gaming, voice interaction between users and anchors is difficult and cannot be carried out in real time, because in the prior art, users can only hear the anchor's voice through the delayed voice in the live broadcast room, and cannot interact through voice means. Influence the game effect.

Method used

Through the Lianmai request triggered by the application household, establish a streaming data channel between the user side and the media server, receive the media description information returned by the media server, stitch this information to obtain the media flow of other users, and realize the voice interaction between multiple users. Essence

Benefits of technology

Realized real -time voice interaction between users, reduced the problem of delay, and improved the interaction and convenience of cloud game live broadcast.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115767123B_ABST
    Figure CN115767123B_ABST
Patent Text Reader

Abstract

The present application discloses a method, device, computing equipment and computer storage medium for live broadcast of cloud gaming. The method includes: in response to a live broadcast request triggered by a first user, establishing a streaming media data channel between a first user terminal and a media server according to the generated first media description information; receiving second media description information returned by the media server through the streaming media data channel, the second media description information being generated based on the live broadcast request triggered by the second user; splicing the second media description information into the first media description information, and obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information. In the present application, the spliced ​​first media description information includes the information of other live broadcast users, thereby realizing the reuse of one RTC connection to receive media streams of multiple users; the use of live broadcast technology combined with cloud gaming in live broadcast scenarios makes the interaction between users smoother and more convenient, avoiding delay problems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, apparatus, computing device and computer storage medium for live broadcasting of cloud games. Background Art

[0002] With the rapid development of Internet technology, the live broadcast industry came into being. Diversified live broadcast content has become the content pursued by major live broadcast platforms. More and more users are using various live broadcast platforms for online entertainment, game live broadcasts, etc.

[0003] Cloud gaming is a gaming mode based on cloud computing. All games in cloud gaming are run on the cloud gaming server, and the hardware requirements for terminal devices are relatively low. As a result, it is becoming increasingly popular among major live broadcast platforms and anchors, and live broadcasting of cloud gaming has also become a trend.

[0004] In the live broadcast scenario, when users are invited by the host to enter the cloud game to play together, the communication between the user and the host becomes difficult because the game has sound and the live broadcast stream has delays. Without voice connection, the user can only hear the host's voice through the long-delayed sound in the live broadcast room, and they cannot interact with the host through voice means, which seriously affects the game effect. Summary of the invention

[0005] The purpose of this application is to provide a cloud game live broadcast connection method, device, computing equipment and computer storage medium to solve the problems existing in the prior art that users cannot interact with each other by voice or the interaction is not timely due to voice interaction only through the live broadcast room.

[0006] According to one aspect of an embodiment of the present application, a cloud game live broadcasting method is provided, including:

[0007] In response to a microphone connection request triggered by the first user, a streaming media data channel is established between the first user terminal and the media server according to the generated first media description information;

[0008] Receiving second media description information returned by the media server through the streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user;

[0009] The second media description information is spliced ​​into the first media description information, and the media stream uploaded by the second user end is obtained according to the media stream identifier in the spliced ​​first media description information.

[0010] Further, the first media description information includes: first local media description information and first remote media description information;

[0011] The first media description information generating method includes:

[0012] Setting first local media description information, and generating first remote media description information according to the first local media description information;

[0013] Establishing a streaming media data channel between the first client and the media server according to the generated first media description information further includes:

[0014] A streaming media data channel is established between the first client and the media server according to the first local media description information and the first remote media description information.

[0015] Furthermore, generating the first remote media description information according to the first local media description information further includes:

[0016] Send a fingerprint information acquisition request to the media server;

[0017] The server fingerprint information returned by the media server in response to the fingerprint information acquisition request is received, and the first remote media description information is generated according to the first local media description information and the server fingerprint information.

[0018] Further, the second media description information includes: second local media description information and second remote media description information;

[0019] Splicing the second media description information into the first media description information further includes:

[0020] Extracting audio media description information and / or video media description information from the second remote media description information;

[0021] The audio media description information and / or the video media description information are spliced ​​into the first remote media description information.

[0022] Furthermore, after splicing the audio media description information and / or the video media description information into the first remote media description information, the method further includes:

[0023] The media stream identifier is automatically increased according to the number of media streams in the spliced ​​first remote media description information.

[0024] Furthermore, after establishing the streaming media data channel between the first user terminal and the media server, the method further includes: obtaining a microphone-connected voice channel identifier returned by the media server;

[0025] An association relationship between the microphone-connected voice channel identifier and the first user identifier is established.

[0026] Furthermore, obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information further includes:

[0027] Re-establishing a streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information;

[0028] The media stream uploaded by the second user terminal is obtained through the re-established streaming media data channel according to the media stream identifier in the spliced ​​first media description information.

[0029] Furthermore, re-establishing the streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information further includes:

[0030] Updating first local media description information;

[0031] A streaming media data channel between the first client and the media server is re-established according to the updated first local media description information and the spliced ​​first remote media description information.

[0032] Furthermore, obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information further includes:

[0033] Get the receiver set containing the connected audio channel;

[0034] A corresponding receiver is found from the receiver set according to the media stream identifier in the spliced ​​first media description information, and the media stream uploaded by the second user end is obtained from the connected microphone voice channel of the found receiver.

[0035] Furthermore, the server fingerprint information includes: IP address, IP port number, user name, password, and device fingerprint.

[0036] According to another aspect of an embodiment of the present application, a cloud game live broadcast and microphone connection device is provided, comprising:

[0037] An establishing module, adapted to establish a streaming media data channel between the first user terminal and the media server according to the generated first media description information in response to a microphone connection request triggered by the first user;

[0038] A receiving module, adapted to receive second media description information returned by the media server through a streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user;

[0039] A splicing module, adapted to splice the second media description information into the first media description information;

[0040] The acquisition module is adapted to acquire the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information.

[0041] According to another aspect of the embodiment of the present application, there is provided a computing device, including: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;

[0042] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned cloud game live broadcast connection method.

[0043] According to another aspect of the embodiments of the present application, a computer storage medium is provided, in which at least one executable instruction is stored, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned cloud game live broadcast connection method.

[0044] According to the solution provided in the embodiment of the present application, in response to a microphone connection request triggered by a first user, a streaming media data channel is established between the first user terminal and the media server according to the generated first media description information, and end-to-end data exchange is achieved through the streaming media data channel; by splicing the second media description information into the first media description information, the first media description information includes information about other microphone-connected users, thereby realizing the reuse of one RTC connection to receive media streams of multiple users; the microphone connection technology is combined with cloud games in live broadcast scenarios to make the interaction between users smoother and more convenient, avoiding delay problems.

[0045] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0047] Figure 1 A schematic diagram of the process of a cloud game live broadcast and microphone connection method according to an embodiment of the present application is shown;

[0048] Figure 2A A schematic diagram of the process of a cloud game live broadcast and microphone connection method according to another embodiment of the present application is shown;

[0049] Figure 2B A functional diagram for connecting the host and the user;

[0050] Figure 2C Signaling diagram for cloud game live broadcast and mic connection between anchors and users;

[0051] Figure 3 A schematic diagram of the structure of a cloud game live broadcast and microphone connection device according to an embodiment of the present application is shown;

[0052] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0053] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0054] First, the terms involved in one or more embodiments of the present application are explained.

[0055] webRTC: is the abbreviation of Web Real-Time Communication, which is an API that supports web browsers to conduct real-time voice or video conversations.

[0056] PC: refers to RTCPeerConnection, which represents a WebRTC connection from the local computer to the remote end.

[0057] mediasoup: refers to the media server in SFU mode. SFU (Selective Forwarding Unit) mode receives audio and video streams from each participant in the room.

[0058] DataChannel: refers to RTC DataChannel, which can open a channel between two peers to send and receive arbitrary data through this channel.

[0059] Figure 1 The following is a flow chart of a method for connecting microphones to live broadcast of a cloud game according to an embodiment of the present application. Figure 1 As shown, the method comprises the following steps:

[0060] Step S101: in response to a microphone connection request triggered by a first user, a streaming media data channel is established between the first user terminal and a media server according to the generated first media description information.

[0061] This embodiment is a cloud game live broadcast and microphone connection solution between multiple users, where the concepts of a first user and a second user are introduced, wherein the first user and the second user are relative, the first user is any user among the multiple users, and the second user may be any user among the multiple users except the first user.

[0062] The executor of the cloud game live broadcast and microphone connection method provided in this embodiment is a cloud game client, wherein the cloud game client is equipped with an RTC microphone connection SDK. The cloud game client equipped with the RTC microphone connection SDK provides a microphone connection function. For example, an RTC microphone connection button can be provided. When there is a microphone connection demand, the first user triggers the microphone connection request by clicking the RTC microphone connection button, or the first user can trigger the microphone connection request by voice. In order to realize the cloud game live broadcast and microphone connection, it is necessary to establish the channel required for data exchange. Specifically, it is established using the following method: in response to the microphone connection request triggered by the first user, a streaming media data channel is established between the first user terminal and the media server according to the generated first media description information.

[0063] Among them, the first user terminal is the cloud game client corresponding to the first user; the first media description information is the description information of the media stream, which is for the first user terminal, and the first media description information is generated before the streaming media data channel is established; the streaming media data channel is the channel used to exchange data between the first user terminal and the media server, for example, the streaming media data channel can be a DataChannel channel.

[0064] Step S102: receiving second media description information returned by the media server through the streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user.

[0065] Specifically, the second media description information is for the second user terminal, and the second media description information is generated based on the microphone connection request triggered by the second user, wherein the media server saves the media description information corresponding to all user terminals, so that after the first user initiates the microphone connection and subscribes to the media stream of the second user, the media server returns the second media description information corresponding to the second user connected to the first user through the streaming media data channel, and the first user terminal receives the second media description information returned by the media server through the streaming media data channel, so as to receive the media stream of the second user through the second media description information.

[0066] Step S103: splice the second media description information into the first media description information, and obtain the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information.

[0067] Specifically, in order to facilitate interaction between the first user and the second user, after receiving the second media description information returned by the media server, the second media description information needs to be spliced ​​into the first media description information. Through splicing, the first user end can receive the media stream of the second user through the established connection. Therefore, after the splicing is completed, the first user end can obtain the media stream uploaded by the second user end according to the media stream identifier in the spliced ​​first media description information.

[0068] The solution provided by the present application responds to a microphone connection request triggered by a first user, establishes a streaming media data channel between the first user terminal and the media server according to the generated first media description information, and realizes end-to-end data exchange through the streaming media data channel; by splicing the second media description information into the first media description information, the first media description information includes information of other microphone connection users, thereby realizing the reuse of one RTC connection to receive media streams of multiple users; the microphone connection technology is combined with cloud games in live broadcast scenarios to make the interaction between users smoother and more convenient, avoiding delay problems.

[0069] Figure 2A FIG. 2 shows a flow chart of a method for connecting microphones to live broadcast of a cloud game according to another embodiment of the present application. Figure 2A As shown, the method comprises the following steps:

[0070] Step S201: in response to a microphone connection request triggered by a first user, first local media description information is set, and first remote media description information is generated according to the first local media description information.

[0071] In order to realize cloud game live broadcast and connection, it is necessary to establish the channels required for data exchange, mainly to establish the streaming media data channel based on the first media description information, wherein the first media description information includes a pair of media description information, namely, the first local media description information and the first remote media description information. Step S201-Step S202 describes in detail the process of establishing the streaming media data channel.

[0072] The connection method in this embodiment mainly adopts RTC connection. Since WebRTC itself does not provide a signaling transmission mechanism, the existing technology can only exchange each other's media description information (also called SDP information) through WebSocket or XMLHttpRequest, etc., and this method increases the service cost. In order to reduce the cost of setting up the signaling service, the step of exchanging SDP information by the signaling service is omitted. After detecting that the first user triggers the connection request, the first local media description information will be created, where the first local media description information is the local media description information of the first user end, and then, the first remote media description information is generated according to the created first local description information, where the first remote media description information is the response SDP information for the media server.

[0073] In an optional implementation manner of the present application, generating the first remote media description information according to the first local media description information may further be implemented by the following method:

[0074] Send a fingerprint information acquisition request to the media server to request the server fingerprint information of the media server, wherein the server fingerprint information is an identity identifier of the media server, which can uniquely identify a media server, and different media servers have different server fingerprint information; the server fingerprint information may include the following information: IP address, IP port number, user name, password, hash fingerprint, and the server fingerprint information may also include other information, which is not listed here. The media server returns the stored server fingerprint information to the first user terminal, and the first user terminal receives the server fingerprint information returned by the media server in response to the fingerprint information acquisition request, and then generates the first remote media description information according to the first local media description information and the server fingerprint information.

[0075] Step S202: establishing a streaming media data channel between the first client and the media server according to the first local media description information and the first remote media description information.

[0076] Specifically, after generating the first remote media description information, a streaming media data channel can be directly established between the first user terminal and the media server based on the first local media description information and the first remote media description information, thereby omitting the step of exchanging SDP information of the signaling service. The data exchange between the first user terminal and the media server is completely completed through the streaming media data channel, thereby reducing the cost of setting up the signaling service.

[0077] Step S203: receiving second remote media description information returned by the media server through the streaming media data channel.

[0078] In this embodiment, the second media description information also includes a pair of media description information, namely, the second local media description information and the second remote media description information, and the second media description information is generated based on the microphone connection request triggered by the second user. The generation process of the second media description information is similar to that of the first media description information, which will not be repeated here.

[0079] Every time the first user subscribes to a media stream of a second user, the media server will return the second remote media description information that needs to be accepted to the first user end through the streaming data channel. The first user end receives the second remote media description information returned by the media server through the streaming data channel, wherein the second remote media description information may include the audio and video stream corresponding to the second user.

[0080] Step S204: extract audio media description information and / or video media description information from the second remote media description information, and splice the audio media description information and / or video media description information into the first remote media description information.

[0081] The second remote media description information mainly consists of three parts: session, time and media description. Each second remote media description information may contain multiple time and media descriptions. Specifically, after receiving the second remote media description information, the second remote media description information needs to be spliced ​​into the first remote media description information, wherein the second remote media description information may contain the media description information of the audio stream and / or the media description information of the video stream. Here, the audio media description and / or video media description information can be first extracted from the second remote media description information, and then the audio media description information and / or video media description information are spliced ​​into the first remote media description information. When splicing, the splicing is performed in chronological order, and the earlier splicing time is given priority. By splicing the audio media description information and / or the video media description information into the first remote media description information, it is convenient for the first user end to obtain the corresponding audio and video. Among them, each user end in this embodiment will push the corresponding media stream to the media server through the streaming media data channel.

[0082] Step S205: Increment the media stream identifier according to the number of media streams in the spliced ​​first remote media description information.

[0083] After the splicing is completed, the media stream identifier can be automatically increased according to the number of media streams in the first remote media description information after splicing. The media stream identifier is automatically increased based on the existing media stream identifier. For example, before the splicing, the media stream identifier is 3, and the number of media streams in the first remote media description information after splicing is 4, then the media stream identifier is automatically increased to 4. By automatically increasing the media stream identifier, the first user terminal can know which users' streams it has subscribed to, so as to facilitate the acquisition of the corresponding media streams.

[0084] Step S206: acquiring the media stream uploaded by the second user terminal according to the self-incremented media stream identifier.

[0085] After completing the self-increment of the media stream identifier, the media stream uploaded by the second user terminal can be obtained. Specifically, the media stream uploaded by the second user terminal is obtained according to the self-incremented media stream identifier, wherein each media stream identifier corresponds to a connected voice channel, and the media stream uploaded by the second user terminal can be obtained through the connected voice channel corresponding to the media stream identifier, thereby realizing the use of one RTC connection to accept multiple streams to achieve many-to-many connected microphones.

[0086] In an optional implementation of the present application, after establishing a streaming media data channel between the first user terminal and the media server, the method further includes: obtaining a voice channel identifier returned by the media server; and establishing an association relationship between the voice channel identifier and the first user identifier.

[0087] Specifically, after establishing a streaming media data channel between the first user terminal and the media server, the media server will allocate a voice channel for connecting to the microphone, and send a voice channel identifier for connecting to the microphone to the first user terminal. The first user terminal obtains the voice channel identifier for connecting to the microphone returned by the media server, and establishes an association relationship between the voice channel identifier and the first user identifier. By establishing an association relationship between the two, it is convenient to distinguish the voices of the users.

[0088] In an optional implementation manner of the present application, obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information further includes:

[0089] Re-establishing a streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information;

[0090] The media stream uploaded by the second user terminal is obtained through the re-established streaming media data channel according to the media stream identifier in the spliced ​​first media description information.

[0091] Specifically, after the second media description information is spliced ​​to the first media description information, the first media description information is updated. In order to facilitate the acquisition of the media stream uploaded by the second user terminal, it is necessary to re-establish the streaming media data channel between the first user terminal and the media server based on the spliced ​​first media description information, and obtain the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information through the re-established streaming media data channel.

[0092] Optionally, since the first media description information includes the first local media description information and the first remote media description information, the second remote media description information is usually spliced ​​into the first remote media description information. Therefore, when re-establishing the streaming media data channel between the first user terminal and the media server, it is necessary to update the first local media description information first. After completing the update of the first local media description information, the streaming media data channel between the first user terminal and the media server can be re-established based on the updated first local media description information and the spliced ​​first remote media description information.

[0093] In an optional implementation manner of the present application, obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information can be further implemented by the following method:

[0094] Get the receiver set containing the connected audio channel;

[0095] A corresponding receiver is found from the receiver set according to the media stream identifier in the spliced ​​first media description information, and the media stream uploaded by the second user end is obtained from the connected microphone voice channel of the found receiver.

[0096] The audio media description information and / or the video media description information will carry the media type, for example, audio or video. The first user terminal can add a corresponding receiver according to the media type. Each media stream identifier corresponds to a connected voice channel, and each receiver will have a connected voice channel. Therefore, when obtaining the media stream uploaded by the second user terminal, the receiver set containing the connected voice channel is first obtained, and then, the receiver corresponding to the streaming media identifier is found from the receiver set according to the media stream identifier in the spliced ​​first media description information, and the media stream uploaded by the second user terminal is obtained from the connected voice channel of the found receiver.

[0097] In this embodiment, each user terminal only establishes one RTC connection, that is, a single port, which can realize the media streams of multiple users.

[0098] The following is an example of a cloud game live broadcast between the anchor and the audience. Figure 2B A functional diagram for connecting the host and the user; Figure 2C This is a signaling diagram for the host and the user to conduct a cloud game live broadcast.

[0099] exist Figure 2BIn the game, after the host starts the cloud game, the browser microphone permission detection will be triggered. The detection results are usually divided into two types: permission enabled and permission disabled. When the permission is enabled, the host can enter the voice channel with a microphone. The host can adjust the volume of his own microphone, the volume of the microphones of other users (for example, invited viewers), and can also mute other users. When the permission is disabled, the host enters the voice channel without a microphone. At this time, the host cannot adjust the volume of his own microphone, and the voice channel displays "No microphone";

[0100] After the host starts the cloud game, he can invite the audience to join the cloud game. After the audience accepts the invitation and enters the cloud game, the browser microphone permission check will be triggered. The detection results are divided into two types: permission enabled and permission disabled. When the permission is enabled, the audience can enter the voice channel with a microphone. The audience can adjust the volume of their own microphone and the microphone volume of other users (for example, other invited audiences and hosts); when the permission is disabled, the audience enters the voice channel without a microphone. At this time, they cannot adjust the volume of their own microphone, and the voice channel is displayed as "no microphone".

[0101] exist Figure 2C In the process, the host starts the cloud game through the cloud game client, the cloud game client requests the team list from the cloud game server, the cloud game server returns the team data, and the cloud game client starts the RTC microphone connection according to the microphone connection request triggered by the host, wherein the cloud game client is equipped with the RTC microphone connection SDK, and in response to the microphone connection request triggered by the host, creates the first local media description information, sends a fingerprint information acquisition request to the media server to request the server fingerprint information of the media server, the media server responds to the fingerprint information acquisition request, and returns the server fingerprint information, the cloud game client generates the first remote media description information according to the server fingerprint information, establishes the streaming media data channel between the cloud game client and the media server according to the first local media description information and the first remote media description information, joins the voice channel, displays the RTC microphone connection room list, and merges the RTC room and the host data;

[0102] The host invites the audience (corresponding to the user in the figure) to join the cloud game. The user accepts the invitation and creates a cloud game. The cloud game client opens the RTC connection and joins the host's room, merging the RTC room and cloud game team data. The RTC connection process is similar to the host and will not be repeated here. The cloud game team is a team of players who play games together. The cloud game team data includes: user name, game status (in the team, not entered, left), and UID data.

[0103] The solution provided by the present application is to generate first remote media description information based on first local media description information, and to establish a streaming media data channel between the first user terminal and the media server based on the first local media description information and the first remote media description information, thereby reducing the cost of setting up a signaling service; by splicing the second remote media description information into the first remote media description information, the first remote media description information includes information of other connected microphone users, thereby realizing the reuse of one RTC connection to receive media streams of multiple users; utilizing the connected microphone technology in combination with cloud games in live broadcast scenarios, the interaction between users is made smoother and more convenient, and delay problems are avoided.

[0104] Figure 3 The structure diagram of the cloud game live broadcasting and microphone connection device according to an embodiment of the present application is shown. Figure 3 As shown, the device comprises:

[0105] The first establishing module 301 is adapted to establish a streaming media data channel between the first user terminal and the media server according to the generated first media description information in response to a microphone connection request triggered by the first user;

[0106] The receiving module 302 is adapted to receive second media description information returned by the media server through the streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user;

[0107] A splicing module 303, adapted to splice the second media description information into the first media description information;

[0108] The first acquisition module 304 is adapted to acquire the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information.

[0109] Optionally, the first media description information includes: first local media description information and first remote media description information;

[0110] The device further comprises: a generating module adapted to set the first local media description information and generate the first remote media description information according to the first local media description information;

[0111] The establishing module is further adapted to establish a streaming media data channel between the first client and the media server according to the first local media description information and the first remote media description information.

[0112] Optionally, the generating module is further adapted to: send a fingerprint information acquisition request to a media server;

[0113] The server fingerprint information returned by the media server in response to the fingerprint information acquisition request is received, and the first remote media description information is generated according to the first local media description information and the server fingerprint information.

[0114] Optionally, the second media description information includes: second local media description information and second remote media description information;

[0115] The splicing module is further adapted to: extract the audio media description information and / or the video media description information from the second remote media description information;

[0116] The audio media description information and / or the video media description information are spliced ​​into the first remote media description information.

[0117] Optionally, the splicing module is further adapted to: automatically increase the media stream identifier according to the number of media streams in the spliced ​​first remote media description information.

[0118] Optionally, the device further includes: a second acquisition module, adapted to acquire a microphone-connected voice channel identifier returned by the media server;

[0119] The second establishing module is adapted to establish an association relationship between the microphone-connected voice channel identifier and the first user identifier.

[0120] Optionally, the first acquisition module is further adapted to: re-establish a streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information;

[0121] The media stream uploaded by the second user terminal is obtained through the re-established streaming media data channel according to the media stream identifier in the spliced ​​first media description information.

[0122] Optionally, the first acquisition module is further adapted to: update the first local media description information;

[0123] A streaming media data channel between the first client and the media server is re-established according to the updated first local media description information and the spliced ​​first remote media description information.

[0124] Optionally, the first acquisition module is further adapted to: acquire a receiver set including a microphone-connected voice channel;

[0125] A corresponding receiver is found from the receiver set according to the media stream identifier in the spliced ​​first media description information, and the media stream uploaded by the second user end is obtained from the connected microphone voice channel of the found receiver.

[0126] Optionally, the server fingerprint information includes: IP address, IP port number, user name, password, and device fingerprint.

[0127] The solution provided by the present application responds to a microphone connection request triggered by a first user, establishes a streaming media data channel between the first user terminal and the media server according to the generated first media description information, and realizes end-to-end data exchange through the streaming media data channel; by splicing the second media description information into the first media description information, the first media description information includes information of other microphone connection users, thereby realizing the reuse of one RTC connection to receive media streams of multiple users; the microphone connection technology is combined with cloud games in live broadcast scenarios to make the interaction between users smoother and more convenient, avoiding delay problems.

[0128] An embodiment of the present application also provides a non-volatile computer storage medium, which stores at least one executable instruction, and the computer executable instruction can execute the cloud game live broadcast and microphone connection method in any of the above method embodiments.

[0129] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. The specific embodiment of the present application does not limit the specific implementation of the computing device.

[0130] like Figure 4 As shown, the computing device may include: a processor (processor) 402 , a communications interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .

[0131] in:

[0132] The processor 402 , the communication interface 404 , and the memory 406 communicate with each other via a communication bus 408 .

[0133] The communication interface 404 is used to communicate with other devices such as clients or other servers.

[0134] Processor 402 is used to execute program 410, and specifically can execute the relevant steps in the above-mentioned cloud game live broadcast and microphone connection method embodiment.

[0135] Specifically, the program 410 may include program codes, which include computer operation instructions.

[0136] The processor 402 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0137] The memory 406 is used to store the program 410. The memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0138] Program 410 can be specifically used to enable processor 402 to execute the cloud game live broadcast connection method in any of the above-mentioned method embodiments. The specific implementation of each step in program 410 can refer to the corresponding descriptions in the corresponding steps and units in the above-mentioned cloud game live broadcast connection embodiment, which will not be repeated here. Technicians in the relevant field can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the aforementioned method embodiment, which will not be repeated here.

[0139] The algorithm or display provided here are not inherently related to any specific computer, virtual system or other equipment. Various general systems can also be used together with the teaching based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages ​​can be utilized to realize the content of the present application described here, and the above description of specific languages ​​is to disclose the best mode of implementation of the present application.

[0140] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0141] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed application requires more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.

[0142] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0143] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.

[0144] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components according to the embodiments of the present application. The application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing a part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0145] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be understood as limitations on the order of execution.

Claims

1. A cloud game live broadcasting method, comprising: In response to a microphone connection request triggered by the first user, a streaming media data channel is established between the first user terminal and the media server according to the generated first media description information; Receiving second media description information returned by the media server through the streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user; splicing the second media description information into the first media description information, and acquiring the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information; The step of acquiring the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information further includes: Re-establishing a streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information; The media stream uploaded by the second user terminal is obtained through the re-established streaming media data channel according to the media stream identifier in the spliced ​​first media description information.

2. The method according to claim 1, wherein: The first media description information includes: first local media description information and first remote media description information; The first media description information generating method includes: Setting first local media description information, and generating first remote media description information according to the first local media description information; Establishing a streaming media data channel between the first client and the media server according to the generated first media description information further includes: A streaming media data channel is established between the first client and the media server according to the first local media description information and the first remote media description information.

3. The method according to claim 2, wherein: The generating of the first remote media description information according to the first local media description information further comprises: Sending a fingerprint information acquisition request to the media server; The server fingerprint information returned by the media server in response to the fingerprint information acquisition request is received, and the first remote media description information is generated according to the first local media description information and the server fingerprint information.

4. The method according to claim 2 or 3, wherein: The second media description information includes: second local media description information and second remote media description information; The step of splicing the second media description information into the first media description information further includes: extracting audio media description information and / or video media description information from the second remote media description information; The audio media description information and / or the video media description information is spliced ​​into the first remote media description information.

5. The method according to claim 4, wherein: After splicing the audio media description information and / or the video media description information into the first remote media description information, the method further includes: The media stream identifier is automatically increased according to the number of media streams in the spliced ​​first remote media description information.

6. The method according to any one of claims 1 to 3, wherein: After establishing the streaming media data channel between the first user terminal and the media server, the method further includes: obtaining a microphone-connected voice channel identifier returned by the media server; An association relationship is established between the microphone-connected voice channel identifier and the first user identifier.

7. The method according to claim 1, wherein: Re-establishing the streaming media data channel between the first client and the media server according to the spliced ​​first media description information further includes: Updating first local media description information; A streaming media data channel between the first client and the media server is re-established according to the updated first local media description information and the spliced ​​first remote media description information.

8. The method according to any one of claims 1 to 3, wherein: The step of obtaining the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information further includes: Get the receiver set containing the connected audio channel; A corresponding receiver is found from the receiver set according to the media stream identifier in the spliced ​​first media description information, and the media stream uploaded by the second user terminal is obtained from the microphone voice channel of the found receiver.

9. The method according to claim 3, wherein: The server fingerprint information includes: IP address, IP port number, user name, password, and device fingerprint.

10. A cloud game live broadcast and microphone connection device, comprising: A first establishing module, adapted to establish a streaming media data channel between the first user terminal and the media server according to the generated first media description information in response to a microphone connection request triggered by the first user; A receiving module, adapted to receive second media description information returned by the media server through the streaming media data channel, where the second media description information is generated based on a microphone connection request triggered by a second user; A splicing module, adapted to splice the second media description information into the first media description information; A first acquisition module, adapted to acquire the media stream uploaded by the second user terminal according to the media stream identifier in the spliced ​​first media description information; Wherein, the first acquisition module is further adapted to: re-establish a streaming media data channel between the first user terminal and the media server according to the spliced ​​first media description information; The media stream uploaded by the second user terminal is obtained through the re-established streaming media data channel according to the media stream identifier in the spliced ​​first media description information.

11. A computing device comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the cloud game live broadcast and microphone connection method as described in any one of claims 1-9.

12. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to execute operations corresponding to the cloud game live broadcast and microphone connection method as described in any one of claims 1-9.

13. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the cloud game live broadcast and microphone connection method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Video conference live broadcast method, device and system

    CN112543297A