Method and apparatus for processing video stream, device, medium, and product

WO2026200933A1PCT designated stage Publication Date: 2026-10-01BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/085682
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-24
Filing Date
2026-03-24
Publication Date
2026-10-01

Smart Images

  • Figure CN2026085682_01102026_PF_FP_ABST
    Figure CN2026085682_01102026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method and apparatus for processing a video stream, a device, a medium, and a product. The method comprises: in response to a user triggering a cloud game launch operation in a first virtual space for game live streaming, sending a first request for initializing a cloud game, the first request comprising a first user identifier of the user. The method further comprises: receiving a space identifier of a second virtual space for the cloud game and a second user identifier of the user to be used in transmission of a single video stream of the cloud game. The method further comprises: sending a second request to join the second virtual space to pull a cloud game video stream for the user from the second virtual space, the second request comprising the space identifier and the second user identifier, and the cloud game video stream being determined on the basis of a mapping between the first user identifier and the second user identifier.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, apparatus, devices, media, and products for processing video streams

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202510353726.1, entitled “Method, Apparatus, Device, Medium and Product for Processing Video Streams”, filed on March 24, 2025, which is incorporated herein by reference in its entirety. Technical Field

[0003] The embodiments disclosed herein generally relate to the field of live streaming, and specifically to methods, apparatuses, devices, media, and program products for processing video streams. Background Technology

[0004] Currently, in the live streaming industry, interactive features between hosts and guests, hosts and viewers, and guests and viewers are becoming increasingly popular, and are also gaining favor among diverse groups. Common interactive features can create a lively atmosphere for hosts, guests, and viewers, and can even be used for social interaction, serving as a bridge for communication between people. Among other more flexible interactive features, those that allow viewers and guests to join the live stream anytime, anywhere for fun interactions are particularly popular. Besides the inherent fun of the interaction itself, these features also increase communication between hosts, guests, and viewers, enliven the atmosphere of the entire live stream, and enhance the enthusiasm and overall live streaming experience for hosts, guests, and viewers.

[0005] Nowadays, with the gradual upgrading of interactive gameplay, high-quality video streams encourage hosts, guests, and viewers to stay in the live stream for interaction, and also improve the visual experience for all parties watching the live stream. This plays a crucial role in maintaining the popularity of the live stream and its overall effectiveness. However, as the popularity of the live stream increases, the pressure on data transmission during the live stream also grows. Therefore, optimizing data transmission during live streams has become an increasingly important research topic. Summary of the Invention

[0006] Embodiments of this disclosure provide a method, apparatus, device, medium, and program product for processing video streams.

[0007] According to a first aspect of this disclosure, a method for processing a video stream is provided. The method includes sending a first request for initializing the cloud game in response to a user-triggered cloud game launch operation in a first virtual space for a game live stream, the first request including a first user identifier of the user. The method further includes receiving a space identifier for a second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. The method further includes sending a second request for joining the second virtual space to pull the cloud game video stream for the user from the second virtual space, the second request including the space identifier and the second user identifier, the cloud game video stream being determined based on a mapping between the first user identifier and the second user identifier.

[0008] In a second aspect of this disclosure, a method for processing video streams is provided. The method includes, in response to receiving a first request from a user in a first virtual space for live gaming, for initiating cloud gaming, launching a cloud game, the first request including a first user identifier of the user. The method further includes, in response to the cloud game being launched, determining a space identifier for a second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. The method further includes sending the second user identifier and the space identifier. The method further includes, in response to receiving a second request for joining the second virtual space, determining a cloud game video stream for the first user identifier based on a mapping between the first user identifier and the second user identifier, the second request including the space identifier and the second user identifier.

[0009] In a third aspect of this disclosure, an apparatus for processing video streams is provided. The apparatus includes a first request sending module configured to send a first request for initializing the cloud game in response to a user-triggered cloud game launch operation in a first virtual space for a game live stream, the first request including a first user identifier of the user; a space identifier and a second user identifier receiving module configured to receive a space identifier for a second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game; and a second request sending module configured to send a second request for joining the second virtual space to pull the cloud game video stream for the user from the second virtual space, the second request including a space identifier and a second user identifier, the cloud game video stream being determined based on a mapping between the first user identifier and the second user identifier.

[0010] In a fourth aspect of this disclosure, an apparatus for processing video streams is provided. The apparatus includes a cloud gaming initiation module configured to initiate a cloud game in response to receiving a first request from a user in a first virtual space for live gaming, the first request including a first user identifier of the user; a space identifier and a second user identifier determination module configured to determine a space identifier for a second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game in response to the cloud game being initiated; a space identifier and a second user identifier transmission module configured to transmit the second user identifier and the space identifier; and a cloud game video stream determination module configured to determine a cloud game video stream for the first user identifier based on a mapping between the first user identifier and the second user identifier in response to receiving a second request for joining the second virtual space, the second request including the space identifier and the second user identifier.

[0011] In a fifth aspect of this disclosure, an electronic device is provided, including at least one processor; and a storage device for storing at least one program, which, when executed by the at least one processor, causes the at least one processor to implement the methods according to the first and second aspects of this disclosure.

[0012] In a sixth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the methods according to the first and second aspects of this disclosure.

[0013] In a seventh aspect of this disclosure, a computer program product is provided. This computer program product includes a computer program that, when executed by a processor, implements the methods according to the first and second aspects of this disclosure.

[0014] It should be understood that the content described in this section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0015] The above and other objects, features and advantages of this disclosure will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.

[0016] Figure 1 illustrates a schematic diagram of an example environment in which some embodiments of the present disclosure may be implemented;

[0017] Figure 2 illustrates a schematic diagram of an example method for processing a video stream according to some embodiments of the present disclosure;

[0018] Figure 3 illustrates a schematic diagram of another example method for processing a video stream according to some embodiments of the present disclosure;

[0019] Figure 4 illustrates a schematic diagram of an example of a multi-user one-way transport stream according to some embodiments of the present disclosure;

[0020] Figure 5 illustrates a schematic diagram of an example of user room addition for processing video streams according to some embodiments of the present disclosure;

[0021] Figure 6 illustrates another example of user room addition for processing video streams according to some embodiments of the present disclosure;

[0022] Figure 7 illustrates a schematic diagram of an example of a video stream subscription for processing video streams according to some embodiments of the present disclosure;

[0023] Figure 8 illustrates a schematic diagram of another example of a video stream subscription for processing video streams according to some embodiments of the present disclosure;

[0024] Figure 9 illustrates a schematic diagram of an example of a video stream link for processing video streams according to some embodiments of the present disclosure;

[0025] Figure 10 illustrates a schematic block diagram of an apparatus for processing video streams according to some embodiments of the present disclosure;

[0026] Figure 11 illustrates a schematic block diagram of another apparatus for processing video streams according to some embodiments of the present disclosure;

[0027] Figure 12 illustrates a schematic block diagram of an example device suitable for implementing various embodiments of the present disclosure.

[0028] In the various figures, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation

[0029] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.

[0030] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0031] For example, upon receiving a user's proactive request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0032] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0033] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0034] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0035] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0036] In current live streaming services, improving video stream transmission efficiency and latency are crucial for enhancing the user viewing experience. In multi-user cloud gaming scenarios, the video feed is rendered by game files running on the cloud gaming client. The cloud game acquires the rendered video feed through inter-process communication and pushes it to the Real-Time Communication (RTC) room for users joining the room to subscribe, decode, and render. For typical cloud gaming content, each user joining a room is usually considered a player; therefore, a unique stream needs to be generated for each user and pushed by the cloud gaming client to the RTC room for subscription and consumption.

[0037] However, in practical applications, all guests view the same content, leading to wasted resources when streaming the same content to multiple devices. Furthermore, since cloud gaming is typically used in multi-user voice chat scenarios, the number of users on the microphone can be limited to a predetermined number. Currently, cloud game files only support operation on mobile devices, and cloud game instances face performance bottlenecks on mobile cards. To support a predetermined number of cloud game streams, a single instance cannot meet the demand, requiring parallel connections between instances, increasing resource consumption. Additionally, the conventional method of the streamer forwarding the video to guests in live chat scenarios also presents problems. For example, the streamer subscribing to the cloud game video stream and then forwarding it to other users in the live RTC room adds an extra audio and video encoding / decoding process and transmission time, impacting the image quality and audio-visual alignment in cloud gaming scenarios. These shortcomings result in increased transmission latency and resource consumption in multi-user live cloud gaming scenarios, significantly degrading the user experience for watching and participating in live interactions.

[0038] To address at least the aforementioned and other potential problems, embodiments of this disclosure propose a method for processing video streams. In this method, a computing device may send a first request to initialize a cloud game when a user in a first virtual space used for game streaming wants to start a cloud game. The first request includes a first user identifier of the user. After sending the first request, the computing device receives a space identifier for a second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. Finally, the computing device may send a second request to join the second virtual space to retrieve the cloud game video stream for the user from the second virtual space. The second request includes a space identifier and a second user identifier, and the cloud game video stream is determined based on a mapping between the first and second user identifiers. This method directly transmits video from the second virtual space to multiple users using a single video stream, making transmission more efficient, reducing latency and link resource consumption, and improving the user experience.

[0039] It is understood that this disclosure is only described in conjunction with relevant embodiments and is not intended to limit the scope of protection of this disclosure. Any technical solutions in other disclosures that fall within the scope of protection of this disclosure should be protected.

[0040] Embodiments of the present disclosure will now be described in further detail with reference to the accompanying drawings. Figure 1 illustrates an example environment in which the devices and / or methods of the embodiments of the present disclosure can be implemented. In environment 100, taking a multi-person live streaming scenario as an example, computing device 102 can be a user client. In one example, computing device 102 can be a host's client. In another example, computing device 102 can be a guest's client. In yet another example, computing device 102 can be a viewer's client. Real-time communication can occur between computing device 102 and server 114.

[0041] Examples of computing device 102 include, but are not limited to, personal computers, server computers, handheld or laptop devices, mobile devices (such as mobile phones, personal digital assistants (PDAs), media players, etc.), multiprocessor systems, consumer electronics, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. Examples of server 114 include, but are not limited to, server computers, multiprocessor systems, consumer electronics, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. Figure 1 illustrates a computing device communicating with a server; this is merely an example, and multiple computing devices may communicate with a server.

[0042] As shown in Figure 1, during multi-user live cloud gaming, user 106 in the first virtual space 104 used for game live streaming can launch cloud game 126. For example, the first virtual space is a live streaming room for game live streaming. At this time, computing device 102 sends a first request 108 to initialize cloud game 126. The first request 108 includes the first user identifier 110 of user 106.

[0043] In one example, when computing device 102 is a broadcast client, the first user identifier 110 can be a broadcast identifier, therefore the first request 108 can include the broadcast identifier. Once it is determined that a user has started a cloud gaming live stream and needs to enable cloud gaming, the first request 108 can be transmitted to the server 114 via a single video stream transmission channel. In another example, when computing device 102 is a guest client, the first user identifier 110 can be a guest identifier, and the first request 108 includes the guest identifier. Once it is determined that a guest has joined a cloud gaming live stream and needs to enable cloud gaming, the first request 108 can be transmitted to the server 114 via a single video stream transmission channel.

[0044] Subsequently, after computing device 102 sends the first request 108, server 114 will launch cloud gaming 126 based on the received first request 108. During the launch of cloud gaming, server 114 can assign a second user identifier for the cloud gaming client to the user and further establish a second virtual space 118 for the cloud gaming, such as a game room. Then, server 114 will further establish a mapping relationship between the first user identifier 110 of user 106 in the first virtual space and the second user identifier 122 assigned to the game client in the game. Then, the server will send the space identifier 124 and the second user identifier 122 of the launched cloud gaming 126 to computing device 102, such as the space identifier 124 being a room identifier for a live streaming room. Therefore, after sending the first request 108, computing device 102 will also receive the second user identifier 122 for user 106 and the space identifier 124 for the second virtual space 118 of cloud gaming 126.

[0045] The received second user identifier 122 and space identifier 124 can be used to determine a second request 112 for joining the second virtual space 118 to be sent to the server 114. The second request 112 includes the space identifier 124 and the second user identifier 122.

[0046] As described above, there is a mapping 120 between the first user identifier 110 and the second user identifier 122. When there are multiple users, a single video stream transmission channel can determine which user to transmit the video stream to based on the mapping relationship between the multiple first user identifiers and the multiple second user identifiers in the mapping 120.

[0047] Finally, computing device 102 can send a second request 112 to server 114 to retrieve cloud gaming video stream 116 from second virtual space 118. During this process, server 114 uses the second user identifier 122 and the previously saved mapping 120 to determine the first user identifier 110 of user 106 who has joined the cloud game, thereby adding the user from first virtual space 104 to second virtual space 118. Next, the video stream from second virtual space 118 is pushed to computing device 102 for user 106 to use. Since the cloud gaming video stream 116 can be determined through mapping 120, when multiple users exist, the mapping can be used to accurately transmit the video stream to different users through a single video stream transmission channel.

[0048] This method allows for the direct transmission of video from the second virtual space to multiple users using a single video stream, making transmission more efficient, reducing latency and link resource consumption, and improving user experience.

[0049] The foregoing description, with reference to FIG1, illustrates an example environment in which some embodiments of the present disclosure's devices and / or methods may be implemented. The following description, with reference to FIG2, illustrates an example method 200 for processing video streams according to some embodiments of the present disclosure. This example method may be executed by the computing device 102 in FIG1 or any suitable computing device.

[0050] As shown in Figure 2, in example method 200, in a multi-user live-stream cloud game, where computing device 102 can be either a broadcaster client or a guest client, at box 202, in response to a user triggering a cloud game launch operation for a first virtual space of the game live stream, computing device 102 sends a first request to initialize the cloud game. The first request includes the user's first user identifier. For ease of description, the space identifier can be referred to as the first space identifier.

[0051] In one example, when a streamer in a first virtual space, such as a live streaming room, wants to start a cloud game, they need to first create a cloud game client on their streamer client. In another example, for a guest in the first virtual space, a cloud game client can also be created on their client when they join the first virtual space. Therefore, computing device 102 can send a first request to the server to start and initialize the cloud game through the cloud game client launched on it. Additionally, computing device 102 also adds a second space identifier for the first virtual space 104 to the first request 108. Therefore, after receiving the first request, server 114 will further obtain the second space identifier for the first virtual space 104 at server 114. It should be noted that the process of determining the first user identifier 110 and the second space identifier is completed at computing device 102.

[0052] In some embodiments, when user 106 is a viewer rather than a guest, computing device 102 also sends a third request for the user to participate in the live stream of the first virtual space. This third request also includes the first user identifier 110. Additionally, the third request also includes a second space identifier for the first virtual space. After user 102 participates in the live stream of the first virtual space, it sends a first request to initialize cloud gaming to join the cloud game.

[0053] Then, at box 204, a spatial identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of the single video stream of the cloud game are received.

[0054] After computing device 102 sends a first request to server 114 to initialize the cloud game, server 114 will launch the cloud game to establish a second virtual space for the cloud game or locate the second virtual space of the cloud game that the user wants to join. For example, if computing device 102 is a broadcaster client, server 114 will launch a second virtual space 118 for the cloud game. If computing device 102 is a guest client, server 114 needs to locate the second virtual space of the cloud game that the guest wants to join. Therefore, server 114 can obtain the space identifier of the second virtual space of the cloud game requested in the first request.

[0055] In some embodiments, server 114 further assigns a second user identifier to the cloud gaming client connected to the cloud game. For example, this second user identifier could be an RTC user identifier. By assigning different RTC user identifiers to users in different cloud gaming clients, a single video stream from the second virtual space can be distributed to different game clients for viewing by different users, such as streamers and guests. To clearly send the single video stream to the first virtual space, server 114 establishes a mapping 120 between the first user identifier 110 and the second user identifier 122. When multiple users exist, a mapping entry for each user can be added to mapping 120. Therefore, the single video stream transmission channel can determine which user to transmit the video stream to based on the mapping relationship between multiple user identifiers in mapping 120. This ensures that live data can be transmitted to different users using a single video stream, significantly saving live streaming resource consumption.

[0056] Finally, at box 206, a second request is sent to join the second virtual space to pull a cloud gaming video stream for the user from the second virtual space. The second request includes the space identifier and the second user identifier, and the cloud gaming video stream is determined based on the mapping between the first user identifier and the second user identifier.

[0057] After the computing device 102 obtains the space identifier for the second virtual space and the second user identifier for the user, in order to enable the user to join the second virtual space, the computing device 102 further sends a second request to the server 114 to add the user to the second virtual space. Upon receiving the request, the server 114 determines the first user identifier of the user in the first virtual space corresponding to the second user identifier based on the established mapping relationship, thereby adding the user to the second virtual space. Then, the server 114 further pushes the video stream of the second virtual space to the user. In some embodiments, when the computing device 102 is a client device on the guest side, it also sends a first audio stream for user 106 to the first virtual space 104 so that other users or broadcasters in the first virtual space can access the audio stream. Additionally, it can also retrieve cloud gaming video streams 116 and audio streams sent to the first virtual space by the broadcaster's client device in the first virtual space, as well as audio streams sent by other guests.

[0058] In some embodiments, when the computing device 102 is a client device on the broadcasting side, it can generate a merged video stream, an adjusted cloud gaming video stream, and an audio stream for the user using the cloud gaming video stream pulled from the server 114. For ease of description, this audio stream can also be referred to as a second audio stream. For example, after acquiring the cloud gaming video stream 116, the computing device 102 can also adjust the resolution of the video frames in the cloud gaming video stream 116 to be provided to the first virtual space to generate an adjusted cloud gaming video stream 116. For example, after acquiring the cloud gaming video stream 116, the resolution of the video frames in the cloud gaming video stream 116 can be reduced, for example, the resolution of the video frames in the video stream can be adjusted from 1280*720 to 64*64, thereby saving resource consumption during transmission and increasing the transmission rate.

[0059] Subsequently, computing device 102 can send the adjusted cloud gaming video stream 116, the second audio stream for the user, and the merged video stream generated by the cloud gaming video stream 116 to the first virtual space 104 for the user in the first virtual space to retrieve.

[0060] Additionally, the computing device 102 can also receive motion capture data and other operations from the user 106, and then send the obtained motion capture data and other operations to the server to control the activities of the target object in the cloud game.

[0061] This method allows for the direct transmission of video from the second virtual space to multiple users using a single video stream, making transmission more efficient, reducing latency and link resource consumption, and improving user experience.

[0062] The above description, with reference to FIG2, illustrates an example method 200 for processing a video stream according to some embodiments of the disclosure. The following description, with reference to FIG3, illustrates an example method 300 for processing a video stream according to some embodiments of the present disclosure. This example method can be executed by the server 114 in FIG1 or any suitable computing device.

[0063] As shown in Figure 3, at box 302, in response to receiving a first request from a user in a first virtual space for live gaming to initialize the cloud game, server 114 starts the cloud game, the first request including a first user identifier 110 of user 106.

[0064] Upon receiving the first request 108 from computing device 102, server 114 can launch cloud gaming 126. Additionally, a cloud gaming instance can be created for cloud gaming 126, which can run in a virtual machine on the server's device, thus significantly reducing system resource consumption on the client's device.

[0065] Then, at box 304, in response to the cloud game being started, server 114 determines the spatial identifier of the second virtual space for the cloud game and the second user identifier for the user to be used in the transmission of the single video stream of the cloud game.

[0066] After receiving the first request 108 from the computing device 102, the server 114 obtains the space identifier 128 of the second virtual space 124 corresponding to the first virtual space 104. For ease of description, the space identifier 128 of the second virtual space 124 can also be referred to as the first space identifier. For example, when user 106 is a broadcaster, the server 114 creates a new second virtual space according to the first request and generates the first space identifier of the second virtual space. If user 106 is a guest, the server 104 can look up the first space identifier of the second virtual space 118 according to the first request. For example, based on the second space identifier for the first virtual space included in the first request, the server 104 looks up the first space identifier corresponding to that second space identifier. Additionally, the server 114 can store the mapping relationship between the space identifiers of the second virtual space initiated by the broadcaster and the space identifiers of the first virtual space. Therefore, the first space identifier of the second virtual space corresponding to the second space identifier in the first request can be found through the mapping relationship between the space identifiers. In one example, when creating the second virtual space, the mapping relationship between the space identifiers of the second virtual space and the space identifiers of the first virtual space is determined.

[0067] Subsequently, a second user identifier 122 is assigned to user 106. The second user identifier 122 is associated with a single video stream of cloud gaming 126 and can generate a mapping 120 with the first user identifier 110. This generated mapping 120 is stored on the server 114. Additionally, the second user identifier 122 can also be used to distinguish the cloud gaming client, thus the video stream for that second user identifier is also the video stream for that cloud gaming client.

[0068] Additionally, the maximum number of mapping relationships that mapping 120 can store can be set by the user. For example, the maximum number can be set by the user taking into account factors such as the performance of the client device and the cloud gaming server. This application does not impose any limitations on this.

[0069] Then, at box 306, server 114 sends the second user identifier and the space identifier to computing device 102. After server 114 obtains the second user identifier and the space identifier according to the first request from computing device 102, it sends the second user identifier and the space identifier as a response to the first request to computing device 102.

[0070] After sending the second user identifier 122 and the space identifier 128, a second request 112 for joining the second virtual space can be generated at the computing device 102, wherein the second request includes the space identifier and the second user identifier 122. It is understood that the space identifier is the space identifier of the second virtual space described above. Additionally, the server may have multiple second virtual spaces, and multiple second virtual spaces may have multiple corresponding space identifiers.

[0071] Finally, at box 308, in response to receiving a second request for joining the second virtual space, server 114 determines the cloud gaming video stream for the first user identifier based on the mapping between the first user identifier and the second user identifier, the second request including the space identifier and the second user identifier.

[0072] Upon receiving the second request, a second user identifier 122 is determined, and then a mapping 120 between the determined second user identifier 122 and the first user identifier is used. For ease of description, this mapping 120 is also referred to as the first mapping.

[0073] Subsequently, server 114 can use the first mapping and second user identifier 120 to determine the first user identifier 110, and add user 106 to the second virtual space 128 according to the determined first user identifier 110. Finally, the video stream of the second virtual space 118 is provided to user 106. Additionally, when there are multiple users, the first mapping can be further combined to provide the video stream to multiple users among users 106.

[0074] In some embodiments, a mapping between a first spatial identifier for a second virtual space and a second spatial identifier for a first virtual space can also be determined. When there are multiple second virtual spaces and multiple corresponding first virtual spaces, the mapping between the spatial identifiers of the second virtual spaces and the spatial identifiers of the first virtual spaces can be used to efficiently transmit video streams corresponding to different second virtual spaces to users of different first virtual spaces.

[0075] Additionally, server 114 can also receive motion capture data and other operations from user 106, and then use the obtained motion capture data and other operations to control the activities of target objects in the cloud game.

[0076] This method utilizes the same transmission channel to transmit cloud gaming video streams to multiple different users, and employs different user identifiers and spatial identifiers for the cloud gaming's second virtual space to achieve video stream transmission. This makes the video stream transmission more efficient, reduces latency, and improves the user experience during live streaming.

[0077] The above description, with reference to Figure 3, illustrates an example method 300 for processing video streams according to some embodiments of the disclosure. The following description will use an example of a live streaming room in a first virtual space and a game room in a second virtual space. The following description, with reference to Figure 4, illustrates an example of a multi-user, one-way transport stream for processing video streams according to some embodiments of the present disclosure.

[0078] As shown in Figure 4, example 400 uses a multi-user live-streamed cloud gaming scenario. Additionally, this includes a streamer 420, at least one guest 426, and at least one audience member 434. It can be seen that cloud gaming instance 402 includes a cloud gaming application 404. It should be noted that a Software Development Kit (SDK) is a comprehensive collection of tools, libraries, documentation, and sample code for building applications. It provides developers with abundant resources, enabling them to develop software more efficiently and conveniently. An SDK typically includes Application Programming Interface (API) interfaces, library files, debugging tools, etc., helping developers implement functional requirements more efficiently. In contrast, API interfaces focus more on defining communication methods between software components and providing standardized functional interfaces, while SDKs focus more on providing a complete set of development tools. Combining with the previous example methods 200 and 300, Openid represents the first user identifier, and rtcuserid represents the second user identifier. For each user, there is a corresponding cloud gaming client, such as cloud gaming client 416 corresponding to the host 410, cloud gaming client 422 corresponding to the guest 426, and cloud gaming client 430 corresponding to the audience 434.

[0079] At point 408, the cloud gaming application 404 and the game SDK 412 use OpenID for bidirectional communication to transmit user-related operation information. At point 428, the game SDK 412 obtains the mapping relationship from the cloud gaming server 436. Since the cloud gaming server 436 stores the second user identifier and the mapping relationship between the second user identifier and the first user identifier, the mapping relationship between the first user identifier and the second user identifier can be obtained at point 428.

[0080] Subsequently, the streaming SDK 410 and the game SDK 412 communicate bidirectionally using the second user identifier. After the streaming SDK 410 captures the screen of the cloud gaming application 404 at 406, it can use the single-channel video stream transmission channel at 414 to transmit the RTC video stream and other operations to and from the client.

[0081] Cloud gaming clients 416, 422, and 430 can also receive motion capture data and other operations 418 from the host 420, motion capture data and other operations 424 from the guest 426, and motion capture data and other operations 432 from the audience 434, and transmit them to the cloud gaming application 404 through a single video stream transmission channel to control the actual operation of the cloud gaming application 404.

[0082] This method utilizes the same transmission channel to transmit cloud gaming video streams to multiple different users, making the video stream transmission more efficient and with lower latency, thus improving the user experience during live streaming.

[0083] The above illustration, with reference to FIG4, depicts an example of a multi-user single-channel transport stream according to some embodiments of the disclosure. The following illustration, with reference to FIG5, depicts an example of user addition for processing video streams according to some embodiments of the present disclosure.

[0084] As shown in Figure 5, in Example 500, combined with the previous Example 400, when streamer 502 starts a multi-player cloud game live stream at point 518, the multi-player streamer 504 receives the live stream start message. Subsequently, at point 520, the process of starting the cloud game, carrying the streamer's identifier openid and streamer roomid, is executed. It should be noted that the streamer roomid represents the second room identifier for the live stream room, which corresponds to the second space identifier described earlier. Additionally, the cloud game roomid represents the first room identifier for the cloud game room, which corresponds to the first space identifier described earlier.

[0085] Next, at 522, the cloud gaming client 506 sends the first request for cloud game initialization. Subsequently, at 524, the cloud gaming server 508 sends a container system startup request, that is, a cloud game application startup request. The container system represents the cloud game instance running on the client's virtual machine.

[0086] Next, at point 532, the cloud gaming service platform's Platform as a Service (PaaS) service 510 sends a notification to launch the game to the streaming SDK 512. Subsequently, at point 534, the game is launched, generating a cloud gaming instance 514. Then, at point 536, a request to initialize the SDK is sent to the game SDK 516.

[0087] Then, at 538, a message indicating initialization completion is returned, and at 540, a message indicating successful startup is sent. Next, at 526, a message indicating successful startup is returned, and at 528, the mapping between `openid` and the user identifier `rtcuserid` assigned to the user on the cloud gaming client is saved. At 530, room information (cloud gaming roomid and rtcuserid) is saved. Subsequently, at 542, a message indicating that the container system is adding a room is sent to the client, creating a cloud gaming room. Then, at 544, the client sends a request for the user to join the room.

[0088] Subsequently, at position 546, a user adding a room message is sent, carrying the rtcuserid, and at position 548, the rtcuserid is converted to openid using a mapping. Then, at position 550, a user adding a room message is returned, carrying the openid, and the video stream is retrieved based on the openid.

[0089] Finally, at 552, the first frame of the cloud game is returned to the streaming SDK 512, and at 554, the first frame of the cloud game is returned to the cloud game client 506, and further at 556, the first frame of the cloud game is returned to the live multiplayer 504. Finally, at 558, the first frame of the cloud game is returned to the streamer 502.

[0090] This method utilizes the same transmission channel to transmit cloud gaming video streams to multiple different users, making the video stream transmission more efficient and with lower latency, thus improving the user experience during live streaming.

[0091] The above illustration, with reference to FIG5, depicts an example of user room addition for processing video streams according to some embodiments of the disclosure. The following illustration, with reference to FIG6, depicts another example of user room addition for processing video streams according to some embodiments of the present disclosure.

[0092] As shown in Figure 6, in Example 600, combined with the previous Example 500, after guest 602 joins the cloud gaming room at point 616, the live stream multi-user 604 receives the message that the live stream has started. Subsequently, at point 618, the cloud game is started, carrying the streamer's openid and roomid. Here, the streamer's roomid represents the identifier of the second room. Additionally, the cloud game roomid represents the identifier of the first room.

[0093] Next, at position 620, the cloud gaming client 606 sends the first request for cloud game initialization. Subsequently, at position 622, the cloud gaming server 608 queries the cloud game roomid corresponding to the streamer and assigns the identifier rtcuserid to the guest in the cloud gaming client. Then, at position 624, it saves the mapping between openid and rtcuserid. Finally, at position 626, it sends the room information (cloud game roomid and rtcuserid) to the cloud gaming client.

[0094] Subsequently, at point 628, a message requesting the pod to add a room is sent to the client. Next, at point 630, the client sends a request for a guest to add a room to the streaming SDK at point 610. Then, at point 632, a user adding a room message is sent to the cloud gaming instance at point 612, carrying the rtcuserid. At point 634, the rtcuserid is converted to an openid using a mapping. Finally, at point 636, the game SDK at point 614 returns a user adding a room message, carrying the openid, and the video stream is retrieved based on the openid.

[0095] Finally, at 638, the first frame of the cloud game is returned to the streaming SDK 610, and at 640, the first frame of the cloud game is returned to the cloud game client 606. Then, at 642, the first frame of the cloud game is returned to the live multiplayer 604. Finally, at 644, the first frame of the cloud game is returned to the guests 602.

[0096] This method utilizes the same transmission channel to transmit cloud gaming video streams to multiple different users, making the video stream transmission more efficient and with lower latency, thus improving the user experience during live streaming.

[0097] The above illustration, with reference to FIG6, depicts another example of user room addition for processing video streams according to some embodiments of the disclosure. The following illustration, with reference to FIG7, depicts an example of video stream subscription for processing video streams according to some embodiments of the present disclosure.

[0098] As shown in Figure 7, Example 700 includes three scenarios of live multiplayer cloud gaming, 702 represents the scenario where viewers or guests are watching the live stream, 704 represents the scenario where viewers initiate a connection, and 706 represents the scenario where viewers join the connection and become guests.

[0099] In 702, we can see that the host 704 and the guest 708 directly pull the cloud gaming video stream from the cloud gaming room 706, while the viewer 712 pulls the Content Delivery Network (CDN) stream 714 from the live RTC room 710.

[0100] Host 702 can also pull non-video streams, such as audio streams, from the guest's live stream RTC room 710. Guest 708 can also pull cloud gaming video and audio streams retweeted by host 704 from the live stream RTC room 710.

[0101] When viewer 712 initiates a connection, communication between viewer 712 and CDN stream 714 is disconnected. Viewer 712 can then directly pull the cloud game video stream from cloud game room 706. Viewer 712 can also obtain the cloud game video stream retweeted by streamer 704 from the live RTC room. Additionally, viewers who become guests can send their own audio streams to live RTC room 710 or obtain audio streams from the streamer and guests from live RTC room 710 to join the interactive multi-person live cloud game.

[0102] Additionally, when the streamer 704 forwards the received cloud gaming video stream to the live RTC room 710, the resolution of the cloud gaming video stream can be reduced through encoding to decrease transmission latency, increase transmission rate, and reduce resource consumption during transmission.

[0103] In this solution, the host provides one video stream (including cloud gaming footage), one audio stream, and one merged stream; the guest provides one audio stream; viewers do not publish streams; additionally, the host subscribes to the audio streams published by other users in the RTC room and the cloud gaming client video stream; the guest subscribes to the host's video stream, the audio streams published by other users in the RTC room, and the cloud gaming client video stream; viewers pull CDN streams; they are permanently hosted in both the RTC room and the cloud gaming room; for on-screen display, the host has the cloud gaming client stream (cloud gaming client container, but without an effects filter), the guest has the cloud gaming client stream (cloud gaming client container, but without an effects filter node), and the viewer... All CDN streams are displayed on the screen; at this time, the preset number of users in the RTC room is N, and the total number of actual video stream subscriptions in the room is (2*N-1); streaming media parameters: client-side merge: RTC resolution: 64*64; resolution of streaming media acquisition, merge, and push modules: 1280*720; server-side merge: RTC resolution: 1280*720, resolution of streaming media acquisition, merge, and push modules: 1280*720. After the guests join the connection, the client needs to start a cloud gaming client instance and wait for the cloud game in the cloud gaming client to return the first frame (estimated time 2+ seconds); compared to a regular live broadcast room, users in the RTC room will have one more stream subscription.

[0104] This approach significantly reduces resource consumption during cloud gaming video streaming, increases transmission speed, reduces transmission latency, and enhances the experience of live multiplayer cloud gaming.

[0105] The above illustration, with reference to FIG. 7, depicts an example of a video stream subscription for processing video streams according to some embodiments of the disclosure. The following illustration, with reference to FIG. 8, depicts another example of a video stream subscription for processing video streams according to some embodiments of the present disclosure.

[0106] As shown in Figure 8, in Example 800, combined with the previous Example 700, the cloud gaming video stream contained in the transmission channel at 802 is different from the cloud gaming video stream in Example 700. It can be directly displayed on the screen, that is, the cloud gaming video stream can be directly displayed on the device of the guest or audience without using encoding to reduce the resolution of the cloud gaming video stream.

[0107] Additionally, when guests or viewers join the connection and receive the cloud game video stream from the cloud game room, due to a certain time delay, before the first frame of the cloud game video stream reaches the guests or viewers, the cloud game video stream received by the broadcaster can be forwarded to the guests or viewers through the live broadcast room's RTC room without adjusting the resolution of the video stream. This is to ensure that guests or viewers receive the cloud game video stream as soon as possible, thus guaranteeing their live broadcast experience.

[0108] In this solution, the host provides one video stream (including cloud gaming footage), one audio stream, and one merged stream; the guest provides one audio stream; viewers do not publish streams; additionally, the host subscribes to the audio streams published by other users in the RTC room and the cloud gaming client video stream; the guest subscribes to the host's video stream, the audio streams published by other users in the RTC room, and the cloud gaming client video stream; viewers pull CDN streams; they are constantly active in both the RTC room and the cloud gaming room; for on-screen display, the host has a cloud gaming client stream (cloud gaming client container, but without effects filters), and after the guest joins the connection... Before the first frame of the cloud gaming client stream arrives, the cloud gaming screen retweeted by the host is displayed first; after the first frame of the cloud gaming client stream arrives, the display switches to the cloud gaming client container screen, and the CDN stream screen is displayed to the audience; at this time, the preset number of users in the RTC room is N, and the total number of actual video stream subscriptions in the room is (2*N-1); streaming media parameters: client merging: RTC resolution and the resolution of streaming media acquisition, merging and pushing modules are 1280*720; server merging: RTC resolution and the resolution of streaming media acquisition, merging and pushing modules are 1280*720. Business client optimization scheme: after the guest joins the connection, before the first frame of the cloud gaming client stream arrives, the cloud gaming screen retweeted by the host is displayed first; after the first frame of the cloud gaming client stream arrives, the display switches to the cloud gaming client container screen; and audio-driven lip-syncing is strongly requested. Compared with a regular live broadcast room, users in an RTC room will have one more stream subscription. The above, combined with Figure 8, describes a schematic diagram of another example of video stream subscription for processing video streams according to some disclosed embodiments. The following is a schematic diagram of an example of a video stream link for processing video streams according to some embodiments of the present disclosure, with reference to FIG9.

[0109] As shown in Figure 9, in Example 900, combined with the previous Examples 400 to 600, there are multi-user live cloud gaming component 902, cloud gaming client basic service component 924 and client push streaming SDK component 938.

[0110] The basic service components of the cloud gaming client also include cloud gaming client initialization 926, which is used to initialize the client; cloud gaming client lifecycle control and perception 928, which is used to perceive the transmission status of video frames; business container customization capability 930, which can launch the cloud gaming screen according to needs; cloud gaming client audio and video data perception 932, which is used to perceive the client's audio and video data; and cloud gaming client communication interaction 934, which is used to communicate with other components.

[0111] In the live RTC room, user 904 includes the host 910 and guest 908. Additionally, when viewer 906 joins the chat, they also become a guest.

[0112] Once a multiplayer cloud gaming live stream begins, at point 918, the client notifies the live stream users that the first frame of the cloud game video has arrived. Subsequently, at point 920, the cloud game screen container is launched to display the cloud game screen. Simultaneously, at point 922, the cloud game room video frame and its corresponding timestamp are also sent to the streamer's client to ensure the correct display of the video frames.

[0113] When the broadcaster 910 transmits the cloud gaming video frame and timestamp to the client SDK push streaming component 938 through a single video stream channel, it also writes the Supplemental Enhancement Information (SEI) of the cloud gaming video frame at 914. Subsequently, at 916, the cloud gaming video frame is input to the image input node 950 in the media stream acquisition, merging, and push streaming module 948, then further input to the effects node 952 and processed before being transmitted via the image output node 954 to the acquisition callback 944 in the live connection module 940, and further transmitted to the video stream input node 968 in the real-time communication transmission module 960.

[0114] Additionally, at encoding 970, the received cloud gaming video stream can be down-processed to reduce its resolution, and the down-resolution video stream can be pushed to the viewer or guest end via RTC push 972. This reduces resource consumption during single-channel video stream transmission, increases transmission rate, and reduces transmission latency.

[0115] In addition, the system can pull streams from the RTC remote end 966, such as audio and video streams of guests, and decode the pulled audio and video streams 964. Then, at 962, the decoded video and audio streams and the cloud game video streams captured by the callback are merged. At 946, the merged video stream is called back and transmitted to the live session module 956. Finally, the merged video stream is pushed to the audience through the push module 958 of the single video stream channel, and the SEI of the cloud game video state is consumed at 912.

[0116] Additionally, when a cloud gaming video frame is acquired, black frame generation is disabled at position 936, and external source acquisition is switched back. This can be achieved by switching between internal and external source acquisition at position 942. If no external source provides video frames, black frame generation is enabled. Black frame generation can compensate for lower resolution or non-displayable frames in the live stream before the first frame of the cloud game is acquired.

[0117] For example, when black frame generation is enabled, image compensation can be performed on extremely low resolution images such as 64*64 and 128*128 that cannot be displayed normally, so as to make the live broadcast screen display stably.

[0118] As shown in Figure 10, the device 1000 includes a first request sending module 1002, configured to send a first request for initializing the cloud game in response to a user triggering a cloud game launch operation in a first virtual space for game live streaming. The first request includes a first user identifier of the user. A space identifier and a second user identifier receiving module 1004 is configured to receive a space identifier for the second virtual space for the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. A second request sending module 1006 is configured to send a second request for joining the second virtual space to pull the cloud game video stream for the user from the second virtual space. The second request includes a space identifier and a second user identifier, and the cloud game video stream is determined based on the mapping between the first user identifier and the second user identifier.

[0119] In some embodiments, the space identifier is a first space identifier, and the first request sending module 1002 includes: a second space identifier acquisition module configured to acquire a second space identifier for the first virtual space in response to a user triggering a cloud game launch operation for the first virtual space of the game live stream; and a first request generation module configured to generate a first request for initializing the cloud game based on the second space identifier and the first user identifier.

[0120] In some embodiments, the apparatus 1000 further includes: a third request sending module configured to send a third request for a user to participate in a live broadcast of a first virtual space, the request including the first user identifier; and a first virtual space joining module configured to join the first virtual space based on the first user identifier in response to the acceptance of the third request.

[0121] In some embodiments, the apparatus 1000 further includes: a first audio stream sending module configured to send a first audio stream for a user to a first virtual space; and a cloud gaming video stream and audio stream pulling module configured to pull cloud gaming video streams and audio streams sent from a broadcaster's client device in the first virtual space to the first virtual space.

[0122] In some embodiments, the apparatus 1000 further includes: a resolution reduction module configured to adjust the cloud gaming video stream by reducing the resolution of video frames of the acquired cloud gaming video stream; and a merged video stream sending module configured to send the adjusted cloud gaming video stream, a second audio stream for the user, and a merged video stream generated from the cloud gaming video stream to a first virtual space.

[0123] As shown in Figure 11, the device 1100 includes a cloud game launch module 1102, configured to launch a cloud game in response to receiving a first request from a user in a first virtual space for game live streaming to initialize the cloud game, the first request including the user's first user identifier; a space identifier and second user identifier determination module 1104, configured to determine a space identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game in response to the launch of the cloud game; a space identifier and second user identifier sending module 1106, configured to send the second user identifier and the space identifier; and a cloud game video stream determination module 1108, configured to determine a cloud game video stream for the first user identifier based on the mapping between the first user identifier and the second user identifier in response to receiving a second request for joining the second virtual space, the second request including the space identifier and the second user identifier.

[0124] In some embodiments, the spatial identifier and second user identifier determination module 1104 includes: a second user identifier allocation module configured to allocate a second user identifier associated with a single video stream of the cloud game to a user in response to the cloud game being launched; and a mapping storage module configured to store a mapping between the second user identifier and the first user identifier.

[0125] In some embodiments, the spatial identifier and second user identifier determination module 1104 includes: a spatial identifier query module configured to query the spatial identifier of the second virtual space corresponding to the first virtual space; and a second user identifier allocation module configured to allocate a second user identifier associated with a single video stream of cloud gaming to a user in the second virtual space.

[0126] In some embodiments, the cloud gaming video stream determination module 1108 includes: a second user identifier determination module configured to determine a second user identifier in the second request in response to receiving a second request for joining a second virtual space; a first user identifier determination module configured to determine a first user identifier for a user based on the second user identifier and a mapping; a user joining module configured to join the user to the second virtual space based on the first user identifier; and a video stream providing module configured to provide a video stream for the second virtual space to the user.

[0127] In some embodiments, the spatial identifier is a first spatial identifier, the first request further includes a second spatial identifier of the first virtual space, the mapping is a first mapping, and the apparatus 1100 further includes: a second mapping determination module configured to determine a second mapping between the first spatial identifier and the second spatial identifier.

[0128] In some embodiments, the first slope and second slope adjustment modules include: a first slope determination module configured to determine whether the first slope is greater than a threshold slope; and a starting point coordinate value adjustment module configured to adjust the first slope by adjusting the coordinate value of the starting point in response to the first slope being greater than the threshold slope.

[0129] Figure 12 shows a schematic block diagram of an example device 1200 that can be used to implement embodiments of the present disclosure. The computing device 102 and server 114 in Figure 1 can be implemented using device 1200. As shown, device 1200 includes a central processing unit (CPU) 1201, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 1202 or loaded from storage unit 1208 into random access memory (RAM) 1203. Various programs and data required for the operation of device 1200 may also be stored in RAM 1203. CPU 1201, ROM 1202, and RAM 1203 are interconnected via bus 1204. Input / output (I / O) interface 1205 is also connected to bus 1204.

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

[0131] The various processes and handling described above, such as methods 200, 300, and examples 400 to 900, can be executed by processing unit 1201. For example, in some embodiments, methods 200, 300, and examples 400 to 900 can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 1208. In some embodiments, part or all of the computer program can be loaded and / or installed on device 1200 via ROM 1202 and / or communication unit 1209. When the computer program is loaded into RAM 1203 and executed by CPU 1201, one or more actions of example methods 200, 300, and examples 400 to 900 described above can be performed.

[0132] This disclosure can be a method, apparatus, system, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.

[0133] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0134] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0135] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0136] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0137] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0138] Computer-readable program instructions may 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, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0139] The flowcharts and 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 embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0140] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

A method for processing a video stream, comprising: In response to a user triggering a cloud gaming launch operation in the first virtual space for a game live stream, a first request for initializing the cloud game is sent, the first request including the user's first user identifier; Receive a spatial identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game; as well as A second request is sent to join the second virtual space to pull a cloud gaming video stream for the user from the second virtual space. The second request includes the space identifier and the second user identifier, and the cloud gaming video stream is determined based on a mapping between the first user identifier and the second user identifier. The method according to claim 1, wherein the spatial identifier is a first spatial identifier, and sending a first request for initializing the cloud game includes: In response to a user triggering a cloud gaming launch operation in the first virtual space for game live streaming, a second space identifier for the first virtual space is obtained; as well as The first request for initializing the cloud game is generated based on the second spatial identifier and the first user identifier. The method according to claim 1 further includes: Send a third request for the user to participate in the live broadcast in the first virtual space, the request including the first user identifier; as well as In response to the acceptance of the third request, the user joins the first virtual space based on the first user identifier. The method according to claim 1 further includes: Send a first audio stream for the user to the first virtual space; as well as The cloud gaming video and audio streams sent to the first virtual space by the broadcaster's client device in the first virtual space are retrieved from the first virtual space. The method according to claim 1 further includes: The cloud gaming video stream is adjusted by reducing the resolution of the video frames in the acquired cloud gaming video stream; as well as The adjusted cloud gaming video stream, the second audio stream for the user, and the merged video stream generated from the cloud gaming video stream are sent to the first virtual space. A method for processing a video stream, comprising: In response to receiving a first request for initializing a cloud game from a user in a first virtual space for live game streaming, the cloud game is launched, the first request including a first user identifier of the user. In response to the cloud game being launched, a spatial identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of the single video stream of the cloud game are determined. Send the second user identifier and the space identifier; as well as In response to receiving a second request to join the second virtual space, a cloud gaming video stream for the first user identifier is determined based on the mapping between the first user identifier and the second user identifier, wherein the second request includes the space identifier and the second user identifier. According to the method of claim 6, determining the spatial identifier of the second virtual space for the cloud game and the second user identifier for the user to be used in the transmission of the single video stream of the cloud game includes: In response to the cloud game being launched, a second user identifier associated with a single video stream of the cloud game is assigned to the user; as well as Save the mapping between the second user identifier and the first user identifier. According to the method of claim 6, determining the spatial identifier of the second virtual space for the cloud game and the second user identifier for the user to be used in the transmission of the single video stream of the cloud game includes: Query the space identifier of the second virtual space corresponding to the first virtual space; as well as In the second virtual space, a second user identifier is assigned to the user and associated with a single video stream of the cloud game. The method of claim 6, wherein determining the cloud gaming video stream for the first user identifier comprises: In response to receiving a second request for joining the second virtual space, the second user identifier in the second request is determined; Based on the second user identifier and the mapping, the first user identifier for the user is determined; Based on the first user identifier, the user is added to the second virtual space; as well as The video stream for the second virtual space is provided to the user. According to the method of claim 6, wherein the spatial identifier is a first spatial identifier, the first request further includes a second spatial identifier of the first virtual space, the mapping is a first mapping, and the method further includes: Determine a second mapping between the first spatial identifier and the second spatial identifier. An apparatus for processing media streams, comprising: The first request sending module is configured to send a first request for initializing the cloud game in response to a cloud game launch operation triggered by a user in the first virtual space for game live streaming. The first request includes the user's first user identifier. The spatial identifier and second user identifier receiving module are configured to receive a spatial identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. as well as The second request sending module is configured to send a second request to join the second virtual space to pull a cloud gaming video stream for the user from the second virtual space. The second request includes the space identifier and the second user identifier, and the cloud gaming video stream is determined based on a mapping between the first user identifier and the second user identifier. An apparatus for processing media streams, comprising: The cloud gaming launch module is configured to launch the cloud game in response to receiving a first request from a user in a first virtual space for live gaming, the first request including a first user identifier of the user. A spatial identifier and a second user identifier determination module are configured to, in response to the cloud game being launched, determine a spatial identifier for the second virtual space of the cloud game and a second user identifier for the user to be used in the transmission of a single video stream of the cloud game. The spatial identifier and second user identifier sending module is configured to send the second user identifier and the spatial identifier; as well as The cloud gaming video stream determination module is configured to, in response to receiving a second request for joining the second virtual space, determine a cloud gaming video stream for the first user identifier based on the mapping between the first user identifier and the second user identifier, wherein the second request includes the space identifier and the second user identifier. An electronic device, comprising: At least one processor; as well as A storage device for storing at least one program, which, when executed by the at least one processor, causes the at least one processor to implement the method according to any one of claims 1-10. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method according to any one of claims 1-10 when executed by a processor. A computer program product includes a computer program that, when executed by a processor, implements the method according to any one of claims 1-10.