Method and apparatus for managing live stream, device and medium
By inviting a second user to join the virtual environment of the server device in the live broadcast room, and obtaining and presenting the status data of the virtual environment, the problem of viewers not being able to interact with the streamer is solved, thus improving the interactivity and fun of the live broadcast.
Patent Information
- Application Number
- PCT/CN2025/103198
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-26
- Filing Date
- 2025-06-24
- Publication Date
- 2026-01-02
AI Technical Summary
Viewers cannot interact with the streamer in a virtual environment during a live stream, which affects the interactivity of the live stream.
An invitation message is sent to the first user terminal device in the live broadcast room to invite the second user to join the virtual environment on the server device. The status data of the virtual environment is obtained and live broadcast data is generated based on the status data to be presented in the live broadcast room.
It enriched the live streaming content and improved the interaction between the streamer and the second user, as well as the fun of the live stream.
Smart Images

Figure CN2025103198_02012026_PF_FP_ABST
Abstract
Description
Method, device, apparatus and medium for managing a live room
[0001] The present application claims priority to the Chinese patent application No. 202410841368.4, filed on June 26, 2024, entitled “Method, device, apparatus and medium for managing a live room”, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Exemplary implementations of the present disclosure generally relate to the field of computers, and in particular, to a method, device, apparatus and computer-readable storage medium for managing a live room. BACKGROUND
[0003] With the development of computer technology, more and more applications can provide a live function. For example, during a live process, a host can run a virtual environment (e.g., a game environment, a virtual reality environment, etc.) at a terminal device of the host, and provide a live room with a live picture of the host user in the virtual environment. However, a guest in the live room can only watch the live picture of the host in the virtual environment, and cannot interact with the host in the virtual environment. This affects the interactivity of the live. SUMMARY
[0004] In a first aspect of the present disclosure, a method for managing a live room is provided. The method comprises: sending, at a first terminal device of a first user of the live room, an invitation message, the invitation message being used to invite a second user of the live room to join a virtual environment at a server device; in response to determining that the second user joins the virtual environment, obtaining state data of the virtual environment from a remote server; and obtaining live data based on the state data, the live data being presented in the live room.
[0005] In a second aspect of the present disclosure, a device for managing a live room is provided. The device comprises: an invitation information sending module configured to send, at a first terminal device of a first user of the live room, an invitation message, the invitation message being used to invite a second user of the live room to join a virtual environment at a server device; a state data obtaining module configured to, in response to determining that the second user joins the virtual environment, obtain state data of the virtual environment from a remote server; and a live data generating module configured to obtain live data based on the state data, the live data being presented in the live room.
[0006] In a third aspect of the present disclosure, an electronic device is provided. The electronic device comprises: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions, when executed by the at least one processor, causing the electronic device to perform the method according to the first aspect of the present disclosure.
[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, having stored thereon computer-executable instructions that, when executed by a processor, cause the processor to implement the method according to the first aspect of the present disclosure.
[0008] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to the first aspect of the present disclosure.
[0009] It is to be understood that the details set forth herein are not intended to limit the key or critical features of the implementations of the present disclosure or to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description, which, taken in conjunction with the drawings, disclose various implementations. BRIEF DESCRIPTION OF DRAWINGS
[0010] The above and other features, aspects, and advantages of various implementations of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. In the drawings similar elements are denoted by similar reference numerals, wherein:
[0011] FIG. 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;
[0012] FIG. 2 shows a schematic diagram of an example of managing a live room according to some embodiments of the present disclosure;
[0013] FIGS. 3A-3D show schematic diagrams of signaling flows for managing a live room according to some embodiments of the present disclosure;
[0014] FIG. 4 shows a schematic diagram of an example of a page according to some embodiments of the present disclosure;
[0015] FIG. 5 shows a flowchart of a process for managing a live room according to some embodiments of the present disclosure;
[0016] FIG. 6 shows a schematic structural block diagram of an apparatus for managing a live room according to some embodiments of the present disclosure; and
[0017] FIG. 7 shows a block diagram of an electronic device in which one or more embodiments of the present disclosure can be implemented. DETAILED DESCRIPTION
[0018] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments set forth herein; rather, these embodiments are provided so that the present disclosure can be more thoroughly and completely understood. It should be understood that the drawings and embodiments of the present disclosure are only for illustrative purposes and are not intended to limit the scope of protection of the present disclosure.
[0019] In the description of embodiments of the present disclosure, the term "comprising" and its conjugations should be understood to encompass the meanings of "consisting of" and "consisting essentially of", i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". The terms "first", "second" and the like can refer to different or identical objects. Other explicit and implicit definitions can also be included below.
[0020] In this document, unless explicitly stated otherwise, performing a step "in response to" an event means that the step can be performed immediately after the event, or one or more intermediate steps can be included.
[0021] In this document, the term "virtual environment" can include but is not limited to: game environment, simulation environment, simulation environment, virtual reality environment, augmented reality environment, etc., and embodiments of the present disclosure are not limited in this respect. For ease of description, only game environment will be described as an example of virtual environment hereinafter.
[0022] It can be understood that the data involved in the technical solutions of the present disclosure (including but not limited to the data itself, the obtaining or use of the data) should comply with the requirements of relevant laws and regulations and relevant provisions.
[0023] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the type of personal information involved in the present disclosure, the scope of use, the scenario of use, etc. should be informed to the user and the authorization of the user should be obtained through appropriate means according to relevant laws and regulations.
[0024] For example, in response to receiving the user's active request, the user is sent a prompt message to explicitly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information, so that the user can voluntarily choose whether to provide personal information to the software or hardware such as electronic devices, application programs, servers or storage media that perform the operation of the technical solutions of the present disclosure according to the prompt message.
[0025] As an optional but non-limiting implementation, in response to receiving the active request of the user, the manner of sending the prompt information to the user can be, for example, a pop-up window manner, in which the prompt information can be presented in the form of text. In addition, the pop-up window can also carry a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0026] It can be understood that the above notification and user authorization obtaining process is only illustrative and does not limit the implementation of the present disclosure, and other manners meeting the relevant laws and regulations can also be applied to the implementation of the present disclosure.
[0027] Example environment
[0028] FIG. 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. In the environment 100, a user 110 can establish a live room (for example, a live room in a live application can correspond to one live room) and provide live content through an associated terminal device 120, and the like. In some scenarios, the user 110 is also referred to as a host, a live party, or a management party of the live room. The terminal device 120 can also be referred to as a host end of the live room.
[0029] One or more users 130-1, 130-2, …, 130-N can watch the live and participate in the interaction of the live room through the respective associated terminal devices 140-1, 140-2, …, 140-N, and the like. For ease of discussion, the users 130-1, 130-2, …, 130-N can be collectively referred to as or individually referred to as the user 130, and the terminal devices 140-1, 140-2, …, 140-N can be collectively referred to as or individually referred to as the terminal device 140. In some scenarios, the user 130 can also be referred to as a viewer, a listener, a watching party, or a participating party of the live room. The terminal device 140 can also be referred to as a viewer end of the live room. Alternatively and / or additionally, the user 130 is allowed to be invited to join the live, at which time the invited user can be converted into a guest user and talk on the mic with the host.
[0030] It should be understood that although only a single host user is shown in FIG. 1, in some embodiments, there can be multiple host users participating in the live in a certain live room. In some embodiments, the terminal device 120 and the terminal device 140 can respectively install an application capable of providing a live service, or can access a website capable of providing a live service. The user 110 and the user 130 can operate the terminal device 120 and the terminal device 140 to access the corresponding application or website.
[0031] Correspondingly, the terminal device 120 and the terminal device 140 can present a corresponding live interface, which can provide, for example, live content of the live room, such as audio live content or video live content, and the like.
[0032] In some embodiments, the terminal devices 120 and 140 can also communicate with a server 150 through the network 152 to implement provisioning of the live service. The server 150 can provide functions such as management, configuration and maintenance of applications or websites. The server 150 can include multiple servers, for example, a server for providing support for the live service, a server for providing support for the game service, and the like.
[0033] The terminal devices 120 and 140 can be any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, a tablet computer, a laptop computer, a notebook computer, a netbook computer, a smartbook, a tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a television receiver, a radio broadcast receiver, an electronic book device, a game device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. In some embodiments, the terminal devices 120, 140 are also capable of supporting any type of interface to the user (such as "wearable" circuitry, etc.).
[0034] The server 150 can be various types of computing systems / servers capable of providing computing capabilities, including but not limited to mainframes, edge computing nodes, computing devices in a cloud environment, and the like. The server 150 may, for example, provide background services for applications in the terminal devices 120 and 140 that provide the live service. In some embodiments, the server 150 can include a live server for providing the live service and a game server for providing the game service if a host user initiates an activity in a live room. Alternatively and / or additionally, the live service and the activity service can be provided by a single server.
[0035] It should be understood that the structures and functions of the various elements in the environment 100 are described for illustrative purposes only, and do not imply any limitation on the scope of the present disclosure. Some example embodiments of the present disclosure will continue to be described below with reference to the accompanying drawings.
[0036] For ease of description, the process of managing a live room is described below only by way of example with a user accessing a virtual environment (e.g., a game environment, a virtual reality environment, an augmented reality environment, etc.) as an activity. Traditionally, a host can run a virtual environment at his / her own terminal device and provide a live room with a live picture of the host user in the virtual environment. However, the guests and viewers in the live room can only watch the live picture of the host in the virtual environment. The guests and viewers can interact with the host in the live room, but cannot interact with the host in the virtual environment. For example, the guests and viewers can chat with the host in the live room, but cannot challenge the host in the game environment. This affects the interactivity of the live. At this time, it is desirable to enable the viewers and guests to interact with the host in the virtual environment to improve the interactivity of the live.
[0037] Summary of managing a live room
[0038] In view of this, embodiments of the present disclosure propose an improved solution for managing a live room. According to the solution, at a first terminal device (e.g., terminal device 120) of a first user (e.g., a host user of a live application, such as user 110) of a live room, an invitation message is sent. The invitation message is used to invite a second user (which can be a guest user (i.e., a viewer user after going on the air), such as user 130) of the live room to join a virtual environment at a server device. In response to determining that the second user joins the virtual environment, state data of the virtual environment is obtained from a remote server (e.g., server 150). Live data is obtained based on the state data, and the live data is rendered in the live room. Here, the virtual environment can be located at the remote server different from the first terminal device.
[0039] In the context of the present disclosure, the state data of the virtual environment can represent data from the virtual environment, such as, but not limited to, sound data and image data in the virtual environment. Specifically, under the game environment, the state data of the virtual environment can include an audio / video stream from the game environment. The live data can include data transmitted during the live, such as, but not limited to, adding voice (e.g., game commentary, etc.), video (e.g., video during participation in the game, etc.), and / or other required data from the host and / or the guest on the basis of the audio / video stream of the game environment.
[0040] In this way, in embodiments of the present disclosure, the host user can invite other users to join the virtual environment in the live room, which helps to enrich the live content, improve the interactivity of the host user and the second user, and the interest of the live room. Some example embodiments of the present disclosure will be described below with reference to the accompanying drawings.
[0041] Detailed process of managing a live room
[0042] In a live streaming scenario, a live streaming platform often uses real-time communication (RTC) and content distribution network (CDN) services. When a host user and a guest user are in a live streaming session, the live streaming session part uses the RTC service to ensure low-latency real-time interaction (the data stream corresponding to the RTC service can be referred to as an RTC stream), and the RTC service then pushes the live streaming session content to the CDN service. The audience users who are not in the live streaming session still obtain the live streaming content from the CDN service (the data stream corresponding to the CDN service can be referred to as a CDN stream).
[0043] For example, in a virtual environment including a game environment, a local container of the terminal device 120 is a cloud game container. Referring to FIG. 2, FIG. 2 shows a schematic diagram of an example 200 for managing a live streaming room according to some embodiments of the present disclosure. The example 200 involves a terminal device 120 of a host user and a terminal device 240 of a second user (which can include a guest user in the live streaming room) in the live streaming room. The terminal device 120 and the terminal device 240 can both be in a live streaming session 232 state.
[0044] In some embodiments, the terminal device 120 can send an invitation message to the terminal device 240, the invitation message being used to invite the second user to join a virtual environment at a server device (for example, a game server 270). In a game scenario, the second user joining the virtual environment can mean that the second user enters a game environment. For example, the terminal device 120 can invite a guest user to join a game environment located in the cloud. In some embodiments, the second user can also include an audience user. The host user can invite the audience user to join the live streaming session (the audience user after joining the live streaming session can be referred to as a guest user), and then invite the guest to join the virtual environment. Assuming that the game is a chess game, the guest user can accept the invitation and enter the chess game, and play against the host user.
[0045] Regarding the specific way of sending the invitation information, in some embodiments, the terminal device 120 can start a local first container (for example, a cloud game container 231), and send an invitation message to a remote server device (for example, the game server 270) via the first container, so that the remote server uses the invitation message to notify the second user to join the virtual environment. For example, the terminal device 120 can start a local cloud game container 231, and send an invitation message to the game server 270 via the cloud game container 231, so that the game server 270 uses the invitation message to notify the second user to join the game environment.
[0046] The game server 270 may, for example, forward the invitation message to the live server 280, which may, in turn, forward the invitation message to the terminal device 240 of the corresponding second user based on the invitation message to invite the second user to join the game environment (i.e., to invite the guest user to participate in the game). In this way, the guest user can be allowed to remotely access the virtual environment and interact with the host user and / or other guest users in the virtual environment, thereby providing more rich live content.
[0047] In some embodiments, the host user can control the guest user to exit the virtual environment. Specifically, the terminal device 120 may, in response to receiving an exit request for the second user to exit the virtual environment, send an exit message to the remote server. For example, the terminal device 120 may send the exit message to the game server 270, which may forward the exit message indicating the second user to exit the virtual environment to the live server 280. The live server 280 may, in turn, forward the exit message to the corresponding second user based on the exit message to notify the second user to exit the game environment (i.e., to notify the guest user to end the game). In this way, the host user can be supported to control the personnel participating in the game in a more flexible and efficient manner.
[0048] In some embodiments, taking the second user as an example, the terminal device 120 may present a plurality of second users invited to join the virtual environment and select a second user from the plurality of second users based on a user operation from the host user. The game server 270 may, for example, also obtain information of the plurality of second users (i.e., guest information, which may, for example, include role information, number information, etc. of the second user) from the live server 280.
[0049] The terminal device 120 may, for example, obtain the information of the plurality of second users from the game server 270 via the cloud game container 231, and then present the plurality of second users to the host user based on the obtained information of the plurality of second users. Illustratively, the terminal device 120 may present a guest list in which a plurality of guest users are presented. The terminal device 120 may, in response to receiving a selection operation on a certain guest user in the plurality of guest users, determine to send an invitation message to the guest user. In this way, the allowed invited users can be explicitly presented, thereby facilitating the host user to select the desired guest to participate in the game.
[0050] In some embodiments, the invitation information can include an access address of the virtual environment and role information for joining the virtual environment. The invitation message can enable the second user to access the virtual environment with the access address and join the virtual environment with the role information. In this way, the guest user can be assigned an explicit access address, thereby facilitating the guest user to directly join the game based on the address, thereby ensuring that the host user and the guest user join the same game. Further, the guest user can join the virtual environment according to the specified role information, thereby having corresponding permissions in the virtual environment.
[0051] In some embodiments, taking the example of sending an invitation message to the guest user corresponding to the terminal device 240, the terminal device 240 can determine to join the game environment in response to receiving a confirmation operation of the invitation message from the guest user. The terminal device 240 can join the game environment by means of a local second container (for example, a cloud game container 241).
[0052] In some embodiments, the terminal device 120 can obtain state data of the virtual environment from a remote server (for example, a game server 270) in response to determining that the second user joins the virtual environment. For example, the terminal device 120 can obtain state data (for example, which can include audio and video streams of the game environment) of the game environment from a game client 251 running at a cloud instance 250 (which can also be understood as a game client running in the cloud) by means of a local cloud game container 231 in response to determining that the second user joins the game environment. Both the game client 251 and the cloud game container 231 can transmit game instructions between the terminal device 120 and the game server 270.
[0053] In some embodiments, after the terminal device 240 determines to join the game environment, the terminal device 240 can send game instructions received from the guest user to the terminal device 240 to a game client 261 running at a cloud instance 260 by means of a local cloud game container 241 of the terminal device 240. The game client 261 can also send generated game instructions to the cloud game container 241. The terminal device 120 can also obtain state data (for example, which can include audio and video streams of the game environment) of the game environment from the game client 261 by means of the cloud game container 241. It should be noted that the cloud instance 250 and the cloud instance 260 can be the same cloud instance or different cloud instances. In this way, the guest user can control the role in the virtual environment, thereby providing more rich live streaming content.
[0054] The terminal device 120 can obtain the state data directly via the cloud game container 231. In some embodiments, the terminal device 120 can receive the state data from a first service (e.g., the RTC service 220) for managing the live room via the cloud game container 231. The service can be initiated by a remote server device. The state data can also be updated, for example, in response to a second interaction request (e.g., an interaction request of a guest user for the game environment) at the terminal device 240, which can be sent to a remote server device (e.g., the game server 270) via the cloud game container 241. For example, the guest user can play the game, the actions of the guest user are sent to the game server 270 through the cloud game container 241, and the game content is sent to the terminal device 240 through the game client 261, the cloud game container 241. In this way, the guest user is allowed to operate a character in the virtual environment and interact with the character of the host user in the virtual environment, thereby providing more rich live content.
[0055] In some embodiments, the terminal device 120 can forward the interaction request to a remote server device (e.g., the game server 270) to update the state data of the virtual environment and receive the updated state data in response to receiving the interaction request (e.g., the interaction request for the game environment). For example, the terminal device 120 can forward the interaction request of the host user for operating the game to the game server 270 in response to receiving the interaction request. The game server 270 can operate the game environment based on the interaction request to update the game environment. After the game environment is updated, the terminal device 120 can receive the updated state data corresponding to the updated game environment via the cloud game container 210. In this way, the cloud game container 231 can assist in relaying data between the terminal device 120 and the cloud instance 250, thereby achieving the goal of controlling the virtual environment by the host at his own terminal device 120.
[0056] The terminal device 120 can obtain live data based on the obtained state data of the virtual environment, which can be presented in the live room. In some embodiments, in addition to the state data, the terminal device 120 can also obtain first collection data from a first collection device. The first collection device may, for example, include an image collection device (e.g., a camera) of the terminal device 120, an audio collection device (e.g., a speaker), etc. The first collection data may, for example, include image data, audio data, etc. associated with the host user. For example, the terminal device 120 can obtain image data and audio data of the host user from the camera, thereby generating video data.
[0057] Further, the first captured data can be added in the live data, so as to generate anchor data (which can also be referred to as anchor audio / video stream). At this time, the anchor data can include video data of the virtual environment itself, and video data from the anchor. Specifically, the video data of the virtual environment can be presented in a predetermined area (e.g., a large window in the display area), and the live video data from the anchor can be presented in another predetermined area (e.g., a small window in the middle of the top of the display area). In this way, richer information can be provided in the live room.
[0058] In some embodiments, the anchor data can also be generated by the terminal device 120. For example, the terminal device 120 can obtain the state data, and generate the anchor data based on the first captured data captured by the terminal device 120 via the first capturing device and the obtained state data. In this case, the terminal device 120 can directly provide the anchor data to the RTC service 220 for further processing.
[0059] In some embodiments, the terminal device 240 can obtain second captured data of a second capturing device. The second capturing device can include, for example, an image capturing device (e.g., a camera) of the terminal device 240, an audio capturing device (e.g., a microphone), and the like. The second captured data can include, for example, image data, audio data, and the like associated with the guest user. For example, the terminal device 240 can obtain image data and audio data of the guest user from the camera, thereby generating video data. The second captured data can also be referred to as guest audio / video stream. Although FIG. 2 only shows one guest user, alternatively and / or additionally, the anchor user can invite multiple guest users, and the terminal device of each guest user can join the virtual environment and capture the corresponding guest audio / video stream in a similar manner.
[0060] In some embodiments, the terminal device 240 can also provide the second captured data to the RTC service 220. Thus, the RTC service 220 can provide the guest audio / video stream to the terminal device 120, so as to add data about the guest in the live data.
[0061] The RTC service 220 can process the data. For example, the RTC service 220 can receive the anchor audio / video stream sent by the terminal device 120 and the guest audio / video stream sent by the terminal device 240. The RTC service 220 may, for example, also provide the terminal device 120 with the guest audio / video stream of the guest user participating in the live room and provide the terminal device 240 with the anchor data of the anchor user. If there are multiple guest users, for each guest user, the RTC service 220 can merge the anchor data and the second collection data corresponding to other guests (i.e., the second collection data corresponding to the other guest users other than the guest user) to merge into one RTC stream, and provide the RTC stream to the terminal device 240 corresponding to the guest user.
[0062] The RTC service 220 can also merge the multiple second collection data corresponding to multiple guests into one RTC stream, and provide the RTC stream to the terminal device 120. The terminal device 120 may, for example, also acquire the second collection data of the guest user in response to determining that the live room includes the guest user, and update the live data based on the second collection data. The updated live data may, for example, include the anchor data (i.e., the state data and the first collection data) and the second collection data. The terminal device 120 may, in turn, present the updated live data. In this way, the live data can include more rich content.
[0063] It should be noted that the live data can be generated by the terminal device 120 or by the RTC service 220. In the mode in which the terminal device 120 obtains the live data, the terminal device 120 can directly obtain the live data, thereby avoiding the time delay of transmitting data to the RTC service 220 to obtain the live data. In the mode in which the RTC service 220 obtains the live data, for example, the RTC service 220 can obtain the live data based on the anchor data and the second collection data. Although data transmission involves a certain time delay, this mode can greatly reduce the workload of the terminal device 120, and thus is particularly suitable for terminal devices 120 with limited performance.
[0064] In some embodiments, the terminal device 120 / RTC service 220 can also transmit the live data to a second service (e.g., the CDN service 210) of the live room to generate content distribution data. The CDN service 210 can push the content distribution data to the terminal device of the audience user 201 in the form of a CDN stream, so that the content distribution data is presented at the terminal device of the audience user 201 of the live room. It can be understood that similarly, the terminal device 120 / RTC service 220 can also transmit the updated live data to the CDN service 210 to generate updated content distribution data.
[0065] The following results are described in detail in FIGS. 3A-3D, which show signaling flows for managing a live room according to some embodiments of the present disclosure (i.e., examples 300A-300D). Referring to FIG. 3A, FIG. 3A shows a signaling flow 300A for starting a game according to some embodiments of the present disclosure. The terminal device 120 of the host user can be referred to as a host end for short, the terminal device of the guest user can be referred to as a guest end 302 for short, and the terminal device of the audience user can be referred to as an audience end 301 for short.
[0066] The terminal device 120 can send 311 the access request to the live server 303 in response to receiving the access request from the host user for accessing the game environment at the server device. The live server 303 can start the game environment on the cloud instance and return 312 the start result to the terminal device 120 in response to the access request. The terminal device 120 can switch 313 the layout of the live page for presenting the live room in response to receiving the start result. For example, the terminal device 120 can present a game page corresponding to the game environment in a background layer of the live page, and superimposedly present a host window for presenting an image of the host user and a guest window for presenting an image of the guest user at any appropriate position on the game page.
[0067] In some embodiments, the live server 303 can also send 314 and 316 the start result to the guest end 302 and the audience end 301, respectively. The guest end 302 and the audience end 301 can switch 315 and 317 the layout of the live page for presenting the live room based on the start result, respectively.
[0068] Further, the terminal device 120 can initialize 318 a local cloud game container 305. After the cloud game container 305 is initialized, the cloud game container 305 can call 319 the cloud game server 306 to pull up 320 the cloud game 309 (i.e., the game environment running on the cloud instance). The cloud game 309 can instruct 321 the cloud game RTC 310 to create an RTC room and send 322 the cloud game start result to the cloud game server 306. The cloud game server 306 can forward 323 the received cloud game start result to the cloud game container 305. The live server 303 can obtain the cloud game start result via the cloud game container 305 in response to the cloud game container 305 obtaining the cloud game start result, and send 324 the cloud game start result to the terminal device 120.
[0069] After the cloud game is started, the cloud game container 305 can acquire (325) state data of the game environment (which can include, for example, an audio and video stream of the game environment) from the cloud game RTC 310. The terminal device 120 can in turn acquire (326) the state data of the game environment via the cloud game container 305. The terminal device 120 can also acquire first capture data (which can include, for example, video, images, and audio associated with the host user) from a first capture device (which can include, for example, a camera and a speaker). In some embodiments, the terminal device 120 can generate (327) host data based on the first capture data and the state data.
[0070] The terminal device 120 can send (328), for example, the generated host data to the talkback RTC 304 (which can also be referred to as a first service, a RTC service, a talkback RTC service, etc.). In some embodiments, in the case that the live room also includes a guest user, the terminal device (i.e., the guest end 302) corresponding to the guest user can also send second capture data (which can include, for example, video, images, and audio associated with the guest user) from a second capture device (which can also include, for example, a camera and a speaker) to the talkback RTC 304. The talkback RTC 304 can perform (329), for example, a merge operation based on the acquired host data and the second capture data to obtain live data.
[0071] In some embodiments, the talkback RTC 304 can generate, for each audience user participating in the live room, content distribution data based on the live data by means of a second service (e.g., a CDN service). The talkback RTC 304 can provide (330) the content distribution data to the audience end 301, so that the audience user participating in the live room can browse to the content distribution data.
[0072] In some embodiments, the talkback RTC 304 can also send (331) the live data to the guest end 302 corresponding to the guest user in the live room. Illustratively, if the live room includes only one guest user, the talkback RTC 304 can obtain the live data based on the host data and send the live data to the guest end 302. If the live room includes multiple guest users, the talkback RTC 304 can obtain the live data based on the host data and second capture data of the other guest users in addition to the guest user, and send the live data to the guest end 302. In this way, the talkback RTC 304 can distribute the live data including the state data of the game environment to the audience end 301, the guest end 302, and the host end 120.
[0073] Referring to FIG. 3B, FIG. 3B shows a schematic diagram of a signaling flow 300B for inviting a guest to participate in a game, according to some embodiments of the present disclosure. The terminal device 120 can send 342 an invitation message to the cloud game 309 via (341) the cloud game container 305 in response to receiving an invitation request from the host user for inviting a guest user to participate in a game (e.g., a selection operation of a certain guest user from the host user). The cloud game 309 can forward 343 the invitation message to the developer server 308. The developer server 308 can instruct the open platform server 307 to send the invitation message to the terminal device of the corresponding guest user based on the invitation message.
[0074] Alternatively or additionally, the developer server 308 can also forward 344 the invitation message to the open platform server 307 directly, so that the open platform server 307 sends 345 the invitation message to the guest end 302 of the corresponding guest user based on the invitation message. The guest end 302 can start a local cloud game container and join the game environment by (346) the local cloud game container in response to receiving the invitation message and receiving a confirmation operation of the guest user for the invitation message. It is to be noted that the cloud game container 305 can include multiple cloud game containers, for example, can include a cloud game container local to the terminal device 120, a cloud game container local to the guest end 203, etc.
[0075] Referring to FIG. 3C, FIG. 3C shows a schematic diagram of a signaling flow 300C for ending a guest’s participation in a game, according to some embodiments of the present disclosure. The terminal device 120 can send 352 a quit message to the cloud game 309 via (351) the cloud game container 305 in response to receiving a quit request from the host user for ending a guest user’s participation in a game (e.g., a deletion operation of a guest participating in a game from the host user, which can indicate that the guest user exits the virtual environment). The cloud game 309 can forward 353 the quit message to the developer server 308. The developer server 308 can instruct the open platform server 307 to send the quit message to the terminal device of the corresponding guest user based on the quit message.
[0076] Alternatively or additionally, the developer server 308 can also forward 354 the quit message to the open platform server 307 directly, so that the open platform server 307 sends 355 the quit message to the guest end 302 of the corresponding guest user based on the quit message. The guest end 302 can close 356 the local cloud game container in response to receiving the quit message and receiving a confirmation operation of the guest user for the quit message. Alternatively or additionally, the guest end 302 can also directly close the cloud game container in response to receiving the quit message.
[0077] Referring to FIG. 3D, FIG. 3D shows a schematic diagram of a signaling flow 300D of ending a game according to some embodiments of the present disclosure. The terminal device 120 can send (361) a close message corresponding to the close request to the live server 303 in response to receiving the close request (e.g., a game exit operation from the host user) indicating to close the virtual environment from the host user. The live server 303 can close the game environment on the cloud instance and return (362) a close result to the terminal device 120 in response to the close message.
[0078] The terminal device 120 can switch (363) the layout of the live page for presenting the live room and stop (364) generating the host data based on the state data and the first collection data in response to receiving the close result. For example, the terminal device 120 can cancel presenting the game page corresponding to the game environment in the background layer of the live page. The terminal device 120 can directly determine the first collection data as the host data, for example, and the terminal device 120 can directly present the host page corresponding to the host data in the background layer of the live page.
[0079] In some embodiments, the terminal device 120 can further instruct (365) the cloud game container 305 to close the virtual environment. The cloud game container 305 can instruct (366) the cloud game server 306 to close (367) the cloud game 309 (i.e., the terminal device 120 can send a close message to the remote cloud game server 306 via the cloud game container 305 to instruct the cloud game server 306 to close the virtual environment). The cloud game 309 can instruct the cloud game RTC 310 to destroy (368) the previously created RTC room and return (369) a cloud game close result to the cloud game server 306. The cloud game server 306 can forward (370) the received cloud game close result to the cloud game container 305. The live server 303 can acquire the cloud game close result via the cloud game container 305 in response to the cloud game container 305 acquiring the cloud game close result.
[0080] In some embodiments, the terminal device 120 can further release the local cloud game container (i.e., the closed local cloud game container) in response to determining that the game environment is exited. In this way, the resources that are no longer used can be released, thereby reducing the resource overhead of the terminal device 120. The live server 303 can send (i.e., 371 and 372) the cloud game close result to the guest end 302 and the audience end 301, respectively. The guest end 302 and the audience end 301 can switch (i.e., 373 and 374) the layout of the live page based on the cloud game close result, respectively. The guest end 302 can further receive the close message sent by the live server 303 and release the local cloud game container to close the virtual environment based on the close message.
[0081] Referring to FIG. 4, FIG. 4 shows a schematic diagram of an example 400 of a page according to some embodiments of the present disclosure. As shown in FIG. 4, in the chess game, the terminal device 120 corresponding to the anchor user can present a page 410 in response to the second user joining the game environment. The page 410 presents a game picture in the anchor user's perspective and an anchor picture corresponding to the first collection data. The second user can also present a page 420 in response to joining the game environment. The page 420 presents a game picture in the second user's perspective. In some embodiments, the terminal device 120 corresponding to the audience user in the live broadcast room can also present the page 410.
[0082] Although not shown, the page 410 can include other content, for example, pictures from collection devices of various guests, and the like. For example, the page 420 can include other content, for example, pictures from collection devices of the anchor and various guests, and the like.
[0083] In summary, according to embodiments of the present disclosure, the anchor user can invite other users to join the virtual environment in the live broadcast room, which helps to enrich the live broadcast content and improve the interactivity between the anchor user and the second user and the interestingness of the live broadcast room.
[0084] Example process
[0085] The specific details of each step of the query have been described above, providing a method of managing a live broadcast room. FIG. 5 shows a flowchart of a process 500 for managing a live broadcast room according to some embodiments of the present disclosure. The process 500 can be implemented at the terminal device 120. The process 500 is described below with reference to FIG. 1.
[0086] At block 510, the terminal device 120 sends an invitation message at a first terminal device of a first user of a live broadcast room, the invitation message being used to invite a second user of the live broadcast room to join a virtual environment at a server device.
[0087] At block 520, the terminal device 120 obtains state data of the virtual environment from the server in response to determining that the second user joins the virtual environment.
[0088] At block 530, the terminal device 120 obtains live broadcast data based on the state data, the live broadcast data being presented in the live broadcast room.
[0089] In some embodiments, sending the invitation message includes: starting a first container at the first terminal device; and sending the invitation message to the server device via the first container, so that the server notifies the second user to join the virtual environment with the invitation message.
[0090] In some embodiments, the invitation message comprises: an access address of the virtual environment and role information for joining the virtual environment, and the invitation message causes the second user to access the virtual environment by using the access address and to join the virtual environment by using the role information, the second user joining the virtual environment by using a second container at a second terminal device of the second user.
[0091] In some embodiments, receiving the state data comprises: receiving the state data from a first service for managing the live room, the first service being started by the server device.
[0092] In some embodiments, the process 500 further comprises: in response to receiving the interaction request at the first terminal device, forwarding the interaction request to the server device to update the state data of the virtual environment; and receiving the updated state data.
[0093] In some embodiments, the state data of the virtual environment is updated in response to a second interaction request at the second terminal device, the second interaction request being sent to the server device via a second container started at the second terminal device.
[0094] In some embodiments, the process 500 further comprises: at the first terminal device, in response to receiving a quit request for causing the second user to quit the virtual environment, sending a quit message to the server to cause the server to notify the second user to quit the virtual environment.
[0095] In some embodiments, the second container at the second terminal device of the second user is closed in response to a message from the server to quit the virtual environment.
[0096] In some embodiments, the process 500 further comprises: at the first terminal device, in response to receiving a close request for closing the virtual environment, sending a close message to the server via the first container to cause the server to close the virtual environment; and in response to receiving a message that the virtual environment is closed, closing the first container.
[0097] In some embodiments, the second container at the second terminal device of the second user is closed in response to a message from the server that the virtual environment is closed.
[0098] In some embodiments, the first user is a host user of the live room and the second user is a guest user of the live room, and the process 500 further comprises: presenting, at the first terminal device, a plurality of second users allowed to be invited to join the virtual environment; and selecting the second user from the plurality of second users.
[0099] Example apparatus and devices
[0100] Embodiments of the present disclosure also provide a corresponding apparatus for implementing the above method or process. FIG. 6 shows a schematic structural block diagram of an apparatus 600 for managing a live room according to some embodiments of the present disclosure. Various modules / components in the apparatus 600 can be implemented by hardware, software, firmware, or any combination thereof.
[0101] As shown, the apparatus 600 includes an invitation information sending module 610 configured to send, at a first terminal device of a first user of a live room, an invitation message for inviting a second user of the live room to join a virtual environment at a server device. The apparatus 600 further includes a state data obtaining module 620 configured to obtain, in response to determining that the second user joins the virtual environment, state data of the virtual environment from the server. The apparatus 600 further includes a live data generating module 630 configured to obtain live data based on the state data, the live data being presented in the live room.
[0102] In some embodiments, the invitation information sending module 610 includes a first container starting module configured to start a first container at the first terminal device, and an information sending module configured to send, via the first container, the invitation message to the server device, so that the server notifies the second user to join the virtual environment by using the invitation message.
[0103] In some embodiments, the invitation message includes an access address of the virtual environment and role information for joining the virtual environment, and the invitation message causes the second user to access the virtual environment by using the access address and to join the virtual environment by using the role information, the second user joining the virtual environment by using a second container at a second terminal device of the second user.
[0104] In some embodiments, the state data obtaining module 620 is further configured to receive the state data from a first service for managing the live room, the first service being started by the server device.
[0105] In some embodiments, the apparatus 600 further includes an interaction request forwarding module configured to forward, in response to receiving an interaction request at the first terminal device, the interaction request to the server device to update the state data of the virtual environment, and an updated data receiving module configured to receive the updated state data.
[0106] In some embodiments, the state data of the virtual environment is updated in response to a second interaction request at the second terminal device, the second interaction request being sent to the server device via a second container started at the second terminal device.
[0107] In some embodiments, the apparatus 600 further includes an exit message sending module configured to, at the first terminal device, in response to receiving an exit request for making the second user exit the virtual environment, send an exit message to the server to make the server notify the second user to exit the virtual environment.
[0108] In some embodiments, the second container at the second terminal device of the second user is closed in response to a message from the server that the virtual environment is closed.
[0109] In some embodiments, the apparatus 600 further includes an exit message sending module configured to, at the first terminal device, in response to receiving an exit request for making the second user exit the virtual environment, send an exit message to the server to make the server notify the second user to exit the virtual environment.
[0110] In some embodiments, the second container at the second terminal device of the second user is closed in response to a message from the server that the virtual environment is closed.
[0111] In some embodiments, the first user is a host user of the live room, and the second user is a guest user of the live room, and the apparatus 600 further includes a user presenting module configured to present, at the first terminal device, a plurality of second users who are invited to join the virtual environment, and a user selecting module configured to select the second user from the plurality of second users.
[0112] The units and / or modules included in the apparatus 600 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, e.g., machine executable instructions stored on a storage medium. In addition to or alternatively, some or all of the units and / or modules in the apparatus 600 can be implemented at least partially by one or more hardware logic components. As an example and not by way of limitation, example types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SOCs), complex programmable logic devices (CPLDs), etc.
[0113] It should be understood that one or more steps in the above methods can be performed by an appropriate electronic device or combination of electronic devices. Such an electronic device or combination of electronic devices may, for example, include the server 150, the terminal device 120, and / or the terminal device 140 in FIG. 1.
[0114] FIG. 7 illustrates a block diagram of an electronic device 700 in which one or more embodiments of the disclosure can be implemented. It should be understood that the electronic device 700 illustrated in FIG. 7 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 700 illustrated in FIG. 7 can be used to implement the server 150, the terminal device 120, and / or the terminal device 140 of FIG. 1.
[0115] As illustrated in FIG. 7, the electronic device 700 is in the form of a general electronic device. Components of the electronic device 700 can include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 can be a real or virtual processor and is capable of executing various processing in accordance with programs stored in the memory 720. In a multi-processing system, multiple processing units execute computer-executable instructions in parallel to improve the processing power of the electronic device 700.
[0116] The electronic device 700 typically includes a plurality of computer storage media. Such media can be any available media that is accessible by the electronic device 700 and includes both volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 can be a removable or non-removable media and can include machine-readable media, such as a flash drive, a magnetic disk, or any other media that can be used to store information and / or data and that can be accessed by the electronic device 700.
[0117] The electronic device 700 can further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 7, a disk drive and a disk drive interface can be provided for reading from or writing to a removable, non- volatile magnetic disk (e.g., a "hard disk that can be used for storing software and / or data) and an optical disk drive and an optical disk drive interface can be provided for reading from or writing to a removable, non-volatile optical disk (such as a CD-ROM or other optical medium). In these instances, each drive can be connected to the bus (not shown) by one or more data media interfaces. The memory 720 can include a computer program product 725 having one or more program modules configured to carry out the various methods or actions of the various embodiments of the present disclosure.
[0118] The communication unit 740 enables communication through the communication medium with other electronic devices. Additionally, the functionality of the components of the electronic device 700 can be implemented in a single computing cluster or a plurality of computer machines capable of communicating over a communication connection. As such, the electronic device 700 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node in the networking environment.
[0119] The input device 750 can be one or more input devices, such as a mouse, a keyboard, a trackball, etc. The output device 760 can be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 700 can also communicate with one or more external devices (not shown), such as a storage device, a display device, etc., through the communication unit 740, as needed, with one or more devices that enable a user to interact with the electronic device 700, or with any devices (e.g., a network card, a modem, etc.) that enable the electronic device 700 to communicate with one or more other electronic devices. Such communication can be carried out via an input / output (I / O) interface (not shown).
[0120] According to an example implementation of the present disclosure, there is provided a computer-readable storage medium having computer-executable instructions stored thereon, where the computer-executable instructions are executed by a processor to implement the method described above. According to an example implementation of the present disclosure, there is also provided a computer program product tangibly stored on a non-transitory computer-readable medium and comprising computer-executable instructions, where the computer-executable instructions are executed by a processor to implement the method described above.
[0121] Various aspects of the disclosure are now described with reference to the drawings. In general, the drawings described below are diagrammatic and schematic representations of actual or conceptual structures and processes, and are not limiting of the scope of the present disclosure. In the drawings, the same reference numerals are used to represent similar or like items.
[0122] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable medium, thereby making a computer program product, i.e., an article of manufacture, according to the definitions and teachings of 35 U.S.C. § 101. The computer readable storage medium can include a computer readable storage medium alone or in combination with another computer readable storage medium.
[0123] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0124] The flow diagrams and the block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logic functions (s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in some cases, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and
[0125] implementations. Numerous modifications and adaptations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The herein described subject matter is to be considered in all its novel implications and applications and can be practiced in a variety of environments. It is also to be understood that such features are only examples and that many modifications, additions, or omissions can be made without departing from the scope of the claimed disclosure.
Claims
1. A method for managing a live streaming room, comprising: An invitation message is sent to the first terminal device of the first user in the live broadcast room. The invitation message is used to invite the second user in the live broadcast room to join the virtual environment at the server. In response to determining that the second user has joined the virtual environment, the status data of the virtual environment is obtained from the server; as well as Live data is obtained based on the status data and is then presented in the live streaming room.
2. The method according to claim 1, wherein sending the invitation message comprises: Start the first container at the first terminal device; as well as The invitation message is sent to the server device via the first container, so that the server can use the invitation message to notify the second user to join the virtual environment.
3. The method according to claim 1, wherein the invitation message includes: The access address of the virtual environment, the role information for joining the virtual environment, and the invitation message enable the second user to access the virtual environment using the access address and join the virtual environment using the role information. The second user joins the virtual environment using the second container on the second user's second terminal device.
4. The method according to claim 1, wherein receiving the status data includes: The status data is received from a first service used to manage the live streaming room, the first service being initiated by the server device.
5. The method of claim 1, further comprising: In response to receiving an interaction request at the first terminal device, the interaction request is forwarded to the server device to update the state data of the virtual environment; as well as Receive the updated status data.
6. The method of claim 5, wherein the state data of the virtual environment is updated in response to a second interaction request at the second terminal device, the second interaction request being sent to the server device via a second container launched at the second terminal device.
7. The method of claim 1, further comprising: At the first terminal device, in response to receiving an exit request for the second user to exit the virtual environment, an exit message is sent to the server, so that the server notifies the second user to exit the virtual environment.
8. The method of claim 7, wherein the second container at the second terminal device of the second user is closed in response to a message from the server indicating that the user has exited the virtual environment.
9. The method of claim 2, further comprising: At the first terminal device, in response to receiving a shutdown request for closing the virtual environment, a shutdown message is sent to the server via the first container, so that the server closes the virtual environment; as well as In response to receiving a message that the virtual environment has been shut down, the first container is closed.
10. The method of claim 9, wherein the second container at the second terminal device of the second user is closed in response to a message from the server that the virtual environment is closed.
11. The method according to claim 1, wherein the first user is the host user of the live broadcast room, the second user is the guest user of the live broadcast room, and the method further comprises: Multiple users who are allowed to be invited to join the virtual environment are displayed on the first terminal device; as well as Select the second user from the plurality of users.
12. A device for managing a live streaming room, comprising: The invitation message sending module is configured to send an invitation message to the first terminal device of the first user in the live broadcast room. The invitation message is used to invite the second user in the live broadcast room to join the virtual environment of the server device. The status data acquisition module is configured to acquire status data of the virtual environment from the server in response to determining that the second user has joined the virtual environment. as well as The live streaming data generation module is configured to obtain live streaming data based on the status data, and the live streaming data is presented in the live streaming room.
13. An electronic device, comprising: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to any one of claims 1 to 11 when executed by the at least one processor.
14. A computer-readable storage medium having stored thereon computer-executable instructions that can be executed by a processor to implement the method according to any one of claims 1 to 11.
15. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Live broadcast interaction method and device, electronic equipment and computer readable storage medium
CN111818348A
Interaction method and device in cloud game live broadcast, storage medium and electronic device
CN114082198A
Interaction method and device, equipment and storage medium
CN117180734A
Content management server, information sharing system, communication method, and program
JP2020095706A
Systems, methods, and computer-readable media for improved concurrency of users of a shared virtual environment
US20190349444A1