WO2026001990A1 - 直播方法、装置、设备和介质 - Google Patents

直播方法、装置、设备和介质

Info

Publication number
WO2026001990A1
WO2026001990A1 PCT/CN2025/103182 CN2025103182W WO2026001990A1 WO 2026001990 A1 WO2026001990 A1 WO 2026001990A1 CN 2025103182 W CN2025103182 W CN 2025103182W WO 2026001990 A1 WO2026001990 A1 WO 2026001990A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
live streaming
terminal device
live
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/103182
Other languages
English (en)
French (fr)
Inventor
陈柏均
陈福兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Publication of WO2026001990A1 publication Critical patent/WO2026001990A1/zh
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Definitions

  • the exemplary implementations of this disclosure generally relate to the field of computers, and particularly to live streaming methods, apparatus, devices, and computer-readable storage media.
  • the streamer can run a virtual environment (such as a game environment, virtual reality environment, etc.) on their own terminal device and provide live footage of the streamer's activities within that virtual environment.
  • a virtual environment such as a game environment, virtual reality environment, etc.
  • virtual environments may involve complex scenarios and require significant resources, which limits the ability to run live streams to high-performance terminal devices, thus reducing the richness and convenience of live streaming.
  • a live streaming method includes: in response to receiving an access request for accessing a virtual environment at a server device, controlling a first terminal device of a first user in a live streaming room to launch a container at the first terminal device; controlling the first terminal device to obtain state data of the virtual environment via the container; and obtaining live streaming data based on the state data, the live streaming data being presented in the live streaming room.
  • a live streaming apparatus in a second aspect of this disclosure, includes: a container initiation module configured to, in response to receiving an access request for accessing a virtual environment on a server device, control a first terminal device of a first user in a live streaming room to initiate a container on the first terminal device; a data acquisition module configured to control the first terminal device to acquire state data of the virtual environment via the container; and a data generation module configured to obtain live streaming data based on the state data, the live streaming data being presented in the live streaming room.
  • an electronic device in a third aspect of this disclosure, includes: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to a first aspect of this disclosure when executed by the at least one processing unit.
  • a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, causes the processor to implement the method according to a first aspect of this disclosure.
  • a computer program product comprising a computer program, wherein when the computer program is executed by a processor, it implements the method according to a first aspect of this disclosure.
  • Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented
  • Figure 2 shows a schematic diagram of an example of managing a live streaming room according to some embodiments of the present disclosure
  • Figure 3 illustrates a schematic diagram of an example of managing a live streaming room according to some other embodiments of the present disclosure
  • Figure 4A shows a schematic diagram of the signaling flow for starting a game according to some embodiments of the present disclosure
  • Figure 4B shows a schematic diagram of the signaling flow for ending a game according to some embodiments of the present disclosure
  • Figure 5 illustrates a schematic diagram of an example of generating live streaming data according to some embodiments of the present disclosure
  • Figure 6 illustrates a schematic diagram of an example of first service processing data according to some embodiments of the present disclosure
  • Figure 7 illustrates a flowchart of a process for managing a live streaming room according to some embodiments of the present disclosure
  • Figure 8 shows a schematic structural block diagram of an apparatus for managing a live streaming room according to some embodiments of the present disclosure.
  • Figure 9 shows a block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented.
  • 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 term “some embodiments” should be understood as “at least some embodiments”.
  • the terms “first”, “second”, etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
  • performing a step in response to A does not mean that the step is performed immediately after A, but may include one or more intermediate steps.
  • virtual environment may include, but is not limited to, game environments, simulation environments, analog environments, virtual reality environments, augmented reality environments, etc., and the embodiments of this disclosure are not limited in this respect.
  • game environments simulation environments, analog environments, virtual reality environments, augmented reality environments, etc.
  • simulation environments analog environments
  • virtual reality environments augmented reality environments
  • embodiments of this disclosure are not limited in this respect.
  • game environments will be used as an example of virtual environments in the following description.
  • a prompt message is sent to the user to clearly inform the user that the requested operation will require the acquisition and use of the user's personal information, thereby enabling the user to choose whether to provide personal information to the software or hardware such as electronic devices, applications, servers or storage media that perform the operation of the technical solution disclosed herein, based on the prompt message.
  • a prompt message in response to a user's active request, can be sent to the user, such as a pop-up window, where the prompt message can be presented in text format.
  • 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.
  • Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented.
  • an application 120 is installed on an electronic device 110.
  • a user 140 can interact with the application 120 via the electronic device 110 and/or an attached device of the electronic device 110.
  • application 120 may be a content sharing application (e.g., a video application primarily for video sharing) capable of providing user 140 with various services related to media items (also referred to as media content, media content items, content items, etc.), including browsing, commenting, forwarding, creating (e.g., shooting and/or editing), publishing, etc., of media items.
  • application 120 may also be any other suitable application capable of displaying media items.
  • each "media item" includes one or more types of content, such as video, image, GIF, image set, audio, text, etc.
  • Page 150 may include various types of pages provided by application 120, such as media item presentation pages, media item creation pages, media item publishing pages, message pages, personal homepages, etc.
  • Application 120 can provide media item viewing functionality to view various media items published in application 120.
  • electronic device 110 communicates with server 130 to provide services to application 120.
  • Electronic device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio/video players, digital cameras/camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof.
  • electronic device 110 can also support any type of user-facing interface (such as "wearable" circuitry).
  • Server 130 can be various types of computing systems/servers capable of providing computing power, including but not limited to mainframes, edge computing nodes, computing devices in cloud environments, etc.
  • FIG. 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented.
  • user 110 can establish a live streaming room (e.g., a live streaming room in a live streaming application can correspond to a live streaming session) and provide live streaming content through an associated terminal device 120.
  • a live streaming room e.g., a live streaming room in a live streaming application can correspond to a live streaming session
  • terminal device 120 can also be referred to as the host terminal of the live streaming room.
  • One or more users 130-1, 130-2, ..., 130-N can watch the live stream and participate in interactive activities through their respective associated terminal devices 140-1, 140-2, ..., 140-N.
  • users 130-1, 130-2, ..., 130-N can be collectively referred to as user 130 or individually
  • terminal devices 140-1, 140-2, ..., 140-N can be collectively referred to as terminal device 140 or individually.
  • user 130 can also be referred to as a viewer, listener, viewer, or participant in the live stream.
  • Terminal device 140 can also be referred to as the viewer terminal of the live stream.
  • user 130 can be invited to join the live stream; in this case, the invited user can become a guest user and interact with the host via voice chat.
  • terminal devices 120 and 140 may each have an application capable of providing live streaming services installed, or may have access to a website capable of providing live streaming services. Users 110 and 130 may operate terminal devices 120 and 140 to access the corresponding application or website.
  • terminal devices 120 and 140 can present corresponding live streaming interfaces, which can provide live streaming content, such as audio live streaming content or video live streaming content.
  • terminal devices 120 and 140 can also communicate with server 150 via network 152 to provide live streaming services.
  • Server 150 can provide functions such as management, configuration, and maintenance of applications or websites.
  • Server 150 may include multiple servers, for example, it may include servers for supporting live streaming services, servers for supporting game services, and so on.
  • Terminal devices 120 and 140 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio/video players, digital cameras/camcorders, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof.
  • terminal devices 120 and 140 may also support any type of user-facing interface (such as "wearable" circuitry).
  • Server 150 can be various types of computing systems/servers capable of providing computing power, including but not limited to mainframes, edge computing nodes, computing devices in cloud environments, etc. Server 150 can, for example, provide backend services for applications providing live streaming services in terminal devices 120 and 140. In some embodiments, if a broadcaster initiates an activity in the live streaming room, server 150 may include a server for providing live streaming services and a server for providing activity services. Alternatively and/or additionally, a single server may provide both live streaming services and activity services.
  • a virtual environment e.g., a game environment, a virtual reality environment, an augmented reality environment, etc.
  • broadcasters can run small virtual environments on their terminal devices.
  • large virtual environments may involve complex scenarios and require significant resources (e.g., computing and storage resources).
  • resource-rich computing devices e.g., desktop computers
  • the first terminal device e.g., terminal device 120
  • the first terminal device of a first user in the live streaming room (e.g., a streamer user of a live streaming application, such as user 110) is controlled to launch a container on the first terminal device.
  • the first terminal device can be controlled to obtain state data of the virtual environment via the container. Based on the state data, live streaming data is obtained and presented in the live streaming room.
  • Terminal device 120 may be a portable device with limited resources.
  • the container may be a container located locally on the first terminal device, and the virtual environment may be located on a remote server device different from the first terminal device. In this way, the virtual environment runs on the server device, and terminal device 120 can access the virtual environment using the container, thereby enabling the provision of a live streaming room on terminal device 120.
  • the state data of a virtual environment can represent data from the virtual environment, such as, but not limited to, audio and image data from the virtual environment.
  • the state data of the virtual environment can include audio and video streams from the game environment.
  • Live streaming data can include data transmitted during the live stream, such as adding voice (e.g., game commentary, etc.), video (e.g., video of participation in the game, etc.), and/or other data as needed from the streamer and/or guests to the audio and video streams of the game environment.
  • Figure 2 illustrates an outline of an exemplary embodiment of the present disclosure.
  • Figure 2 shows a schematic diagram of an example 200 for managing a live streaming room according to some embodiments of the present disclosure.
  • Example 200 involves terminal device 120, cloud gaming container 210, cloud gaming server 220, game client 240 running on a cloud instance, and RTC (real-time communication) room 230 (i.e., live streaming room).
  • RTC real-time communication
  • terminal device 120 can respond to a received access request (e.g., a streamer's game launch operation) to access the game environment on a server device (in a game scenario, the server device could be a cloud gaming server), and launch the cloud gaming container 210.
  • the cloud gaming container 210 can then use the cloud gaming server 220 to launch and run the game client 240 on a cloud instance.
  • the cloud gaming SDK (Software Development Kit) 250 can create an RTC room 230.
  • RTC room 230 can transmit the state data of the game environment at game client 240 (such as audio and video streams of the game environment) to cloud gaming container 210.
  • RTC room 230 can also receive game commands sent by cloud gaming container 210 (that is, realize game command transmission).
  • the broadcaster user can operate the game running at game client 240 at terminal device 120 (such as operating virtual characters to perform actions in the game environment corresponding to game client 240).
  • Terminal device 120 obtains the state data of the game environment (i.e., the audio and video streams of the game environment) via cloud gaming container 210, and obtains live streaming data based on the state data. It can present the live streaming data in the live streaming room, that is, present the live streaming data to each user who has joined the live streaming room.
  • the methods of this disclosure can be executed on any computing device with computing capabilities, for example, on a server managing the live streaming room (e.g., server 150 and/or other servers in the network), to control terminal device 120 to start a local container, thereby supporting game live streaming.
  • the server managing the live streaming room can control the first terminal device through control commands.
  • the server managing the live streaming room can send a control command to the first terminal device.
  • the first terminal device can start the container in response to receiving the control command.
  • the methods described above can be executed on the terminal device. In this case, the first terminal device can be controlled to start the container upon detecting an access request.
  • the broadcaster user can use a container (e.g., cloud gaming container 210) to obtain the state data of the virtual environment and obtain live streaming data based on the state data. Since the virtual environment is actually run on a cloud gaming server with powerful resources, it does not require the broadcaster's terminal device to have powerful resources; instead, the container can be used to transfer data between the cloud gaming server and the terminal device. This allows the broadcaster user to conduct live streaming associated with the virtual environment from any suitable terminal device, which helps to enrich live streaming methods and improve the convenience of live streaming.
  • live streaming platforms In live streaming scenarios, live streaming platforms often use RTC and CDN services.
  • the voice chat data When a host and a guest user connect via voice chat, the voice chat data will use the RTC service to ensure low-latency real-time interaction (the data stream corresponding to the RTC service can be called an RTC stream).
  • the RTC service will then push the live chat content to the CDN service. Viewers who are not connected via voice chat will still get the live stream content from the CDN service (the data stream corresponding to the CDN service can be called a CDN stream).
  • Figure 3 illustrates a schematic diagram of an example 300 for managing a live streaming room according to other embodiments of the present disclosure.
  • the terminal device 120 when the terminal device 120 is in a live streaming connection 330 state, the terminal device 120 can receive an access request from the streamer user to access a virtual environment (e.g., a game environment) on a server device (e.g., a server providing the game). For example, the terminal device 120 can determine that it has received an access request from the streamer user to access the virtual environment in response to receiving a user operation from the streamer user to initiate a game.
  • a virtual environment e.g., a game environment
  • server device e.g., a server providing the game.
  • the terminal device 120 can determine that it has received an access request from the streamer user to access the virtual environment in response to receiving a user operation from the streamer user to initiate a game.
  • the terminal device 120 can be controlled to start a container (e.g., cloud gaming container 210) in response to receiving an access request.
  • the cloud gaming container 210 can also send game commands received by the terminal device 120 from the streamer user to the game client 240, and the game client 240 can also send generated game commands to the cloud gaming container 210.
  • the terminal device 120 can also use the cloud gaming container 210 to obtain state data of the game environment (e.g., including audio and video streams of the game environment) from the game client 240 running on the cloud instance 360.
  • terminal device 120 can directly obtain state data via cloud gaming container 210.
  • terminal device 120 can receive state data from a first service for managing the live streaming room (e.g., RTC service 320 provided by the first server of the live streaming room) via cloud gaming container 210.
  • terminal device 120 can forward an interaction request (e.g., an interaction request for the game environment) to a server device to update the state data of the virtual environment and receive the updated state data in response to receiving an interaction request.
  • terminal device 120 can forward an interaction request to a server device in response to receiving an interaction request from a streamer user for operating the game.
  • the server device can operate the game environment based on the interaction request to update the game environment.
  • terminal device 120 can receive the updated state data corresponding to the updated game environment via cloud gaming container 210.
  • cloud gaming container 210 can assist in relaying data between terminal device 120 and cloud instance 360, thereby achieving the goal of streamers controlling the virtual environment from their own terminal device 120.
  • the terminal device 120 can forward status data to the first service via a container (e.g., cloud gaming container 210), so that the forwarded status data is transmitted to the server device.
  • a container e.g., cloud gaming container 210
  • the terminal device 120 can use the RTC service 320 and the cloud gaming container 210 to relay data between itself and the server device, thereby enabling real-time operation of virtual characters in the game and/or performance of other actions.
  • Terminal device 120 can generate live streaming data based on the acquired virtual environment status data, which can be presented in the live streaming room.
  • terminal device 120 can also acquire first acquisition data from a first acquisition device.
  • the first acquisition device may include, for example, an image acquisition device (e.g., a camera), an audio acquisition device (e.g., a speaker), etc., of terminal device 120.
  • the first acquisition data may include, for example, image data, audio data, etc., associated with the broadcaster user.
  • terminal device 120 can acquire image data and audio data of the broadcaster user from a camera to generate video data.
  • initial data can be added to the live stream data to generate broadcast data (also known as broadcast audio and video stream).
  • broadcast data can include video data from the virtual environment itself, as well as video data from the broadcaster.
  • video data from the virtual environment can be presented in a designated area (e.g., a large window in the display area), while live video data from the broadcaster can be presented in another designated area (e.g., a small window at the top center of the display area). This allows for the provision of richer information within the live stream.
  • the broadcaster data can also be generated by the terminal device 120.
  • the terminal device 120 can acquire status data and generate broadcaster data based on the first acquisition data acquired by itself via the first acquisition device and the acquired status data.
  • the terminal device 120 can directly provide the broadcaster data to the RTC service 320 so that the RTC service 320 can perform further processing.
  • the terminal device 340 corresponding to the guest user is also in a live broadcast connection state 350.
  • the terminal device 340 can acquire second acquisition data from a second acquisition device.
  • the second acquisition device may include, for example, an image acquisition device (e.g., a camera), an audio acquisition device (e.g., a speaker), etc., of the terminal device 340.
  • the second acquisition data may include, for example, image data, audio data, etc., associated with the guest user.
  • the terminal device 340 can acquire image data and audio data of the guest user from a camera, thereby generating video data.
  • the second acquisition data may also be referred to as the guest audio-visual stream.
  • Figure 3 only shows one guest user, alternatively and/or additionally, the broadcaster user can invite multiple guest users, and the terminal devices of each guest user can acquire the corresponding guest audio-visual stream in a similar manner.
  • the terminal device 340 may also provide the second collected data to the RTC service 320.
  • the RTC service 320 can provide the guest audio and video streams to the terminal device 120 to add guest-related data to the live stream data.
  • RTC service 320 can process data. For example, RTC service 320 can receive the host audio and video stream sent by terminal device 120 and the guest audio and video stream sent by terminal device 340. RTC service 320 can also provide the guest audio and video stream of the guest users participating in the live broadcast to terminal device 120, and provide the host data of the host users to terminal device 340. If there are multiple guest users, for each guest user, RTC service 320 can merge the host data and the second acquisition data corresponding to other guests (i.e., the second acquisition data corresponding to other guest users other than the current guest user) into one RTC stream, and provide the RTC stream to the terminal device 340 corresponding to the guest user.
  • the second acquisition data corresponding to other guests i.e., the second acquisition data corresponding to other guest users other than the current guest user
  • RTC service 320 can also merge multiple second-collected data streams corresponding to multiple guests into a single RTC stream and provide this RTC stream to terminal device 120.
  • the second-collected data of the guest users can be obtained, and the live broadcast data can be updated based on the second-collected data.
  • the updated live broadcast data may include, for example, anchor data (i.e., status data and first-collected data) and second-collected data.
  • Terminal device 120 can then present the updated live broadcast data. In this way, the live broadcast data can include richer content.
  • terminal device 120/RTC service 320 may also transmit live streaming data to a second service in the live streaming room (e.g., CDN service 310 provided by a second server in the live streaming room) to generate content distribution data.
  • CDN service 310 may push the content distribution data to the terminal device of viewer user 301 in the form of a CDN stream, so that the content distribution data is presented on the terminal device of viewer user 301 in the live streaming room.
  • terminal device 120/RTC service 320 may also transmit updated live streaming data to CDN service 310 to generate updated content distribution data.
  • terminal device 120 can initialize (418) the cloud gaming container 405.
  • the cloud gaming container 405 After the cloud gaming container 405 is initialized, it can call (419) the cloud gaming server 406 to launch (420) the cloud game 407 (i.e., the game environment running on the cloud instance).
  • the cloud game 407 can instruct (421) the cloud gaming RTC 408 to create an RTC room and send (422) the cloud game launch result to the cloud gaming server 406.
  • the cloud gaming server 406 can forward (423) the received cloud game launch result to the cloud gaming container 405.
  • the live streaming server 403 can respond to the cloud gaming container 405 obtaining the cloud game launch result, obtain the cloud game launch result through the cloud gaming container 405, and send (424) the cloud game launch result to terminal device 120.
  • the live streaming RTC 404 can also send (431) live streaming data to the guest terminal 402 corresponding to the guest user in the live streaming room. For example, if the live streaming room includes only one guest user, the live streaming RTC 404 can obtain the live streaming data based on the broadcaster data and send the live streaming data to the guest terminal 402. If the live streaming room includes multiple guest users, the live streaming RTC 404 can obtain the live streaming data based on the broadcaster data and second collection data of other guest users besides the guest user, and send the live streaming data to the guest terminal 402. Thus, the live streaming RTC 404 can distribute live streaming data, including game environment status data, to the viewer terminal 401, the guest terminal 402, and the broadcaster terminal 120.
  • live streaming data including game environment status data
  • terminal device 120 can switch (443) the layout of the live streaming page used to present the live streaming room, and cancel (444) the generation of anchor data based on status data and first collected data. For example, terminal device 120 can cancel the presentation of the game page corresponding to the game environment in the background layer of the live streaming page. For example, terminal device 120 can directly determine the first collected data as anchor data, and terminal device 120 can directly present the anchor page corresponding to the anchor data in the background layer of the live streaming page.
  • FIG5 illustrates a schematic diagram of an example of obtaining live data according to some embodiments of the present disclosure.
  • terminal device 120 can acquire first acquisition data 501 from a first acquisition device (which may include, for example, video, audio, images, etc. associated with the broadcaster user, and may also be referred to as broadcaster audio and video stream).
  • a first acquisition device which may include, for example, video, audio, images, etc. associated with the broadcaster user, and may also be referred to as broadcaster audio and video stream).
  • the live stream data can be, for example, as shown on the live stream page 610, with a background layer of game footage, and the streamer's footage and guest footage corresponding to multiple guest users superimposed on the game footage.
  • RTC service 606 can, for example, send the live stream data to a CDN service so that the CDN service can push the live stream data to viewers in the form of a CDN stream.
  • a container can be used to acquire the state data of a virtual environment, and live streaming data to be presented in the live streaming room can be generated based on the state data.
  • This allows broadcasters to access the virtual environment in the cloud from any terminal device, and broadcasters can conduct live streams associated with the virtual environment from any suitable terminal device, which helps to enrich live streaming methods and improve the convenience of live streaming.
  • FIG. 7 shows a flowchart of a live streaming process 700 according to some embodiments of this disclosure.
  • Process 700 can be implemented on any device with computing capabilities. Process 700 is described below with reference to Figure 1.
  • the first terminal device of the first user in the live broadcast room is controlled to start a container at the first terminal device.
  • control of the first terminal device is to obtain the state data of the virtual environment through the container.
  • live streaming data is obtained based on status data, and the live streaming data is presented in the live streaming room.
  • obtaining status data includes receiving status data via a container from a first service for managing the live streaming room, the first service being started by a server device.
  • process 700 further includes: in response to receiving an interaction request at a first terminal device, controlling the first terminal device to forward the interaction request to a server device to update the state data of the virtual environment; and receiving the updated state data.
  • the first user is a live streamer user of a live streaming application
  • obtaining live streaming data includes: acquiring first acquisition data from a first acquisition device; obtaining streamer data based on the first acquisition data and status data; and obtaining live streaming data based on the streamer data.
  • process 700 further includes: updated live data being presented at a first terminal device.
  • obtaining the second collected data includes obtaining the second collected data via a first service.
  • process 700 further includes: transmitting updated live streaming data to a second service of the live streaming room to generate content distribution data, which is presented on the terminal devices of the viewers in the live streaming room.
  • process 700 further includes: in response to determining that the live broadcast room includes guest users, a first service acquires second acquisition data from a second acquisition device of the guest users; the first service updates the live broadcast data based on the second acquisition data; and the first service transmits the updated live broadcast data to a second service of the live broadcast room to generate content distribution data, the content distribution data being presented on the terminal devices of the audience users in the live broadcast room.
  • process 700 further includes: in response to receiving an exit request for exiting the virtual environment, controlling the first terminal device to request the server device to exit the virtual environment from the container; and in response to receiving a message that the virtual environment has been exited, controlling the first terminal device to release the container.
  • FIG. 8 shows a schematic structural block diagram of a live streaming apparatus 800 according to some embodiments of this disclosure.
  • the various modules/components in apparatus 800 can be implemented by hardware, software, firmware, or any combination thereof.
  • device 800 includes a container startup module 810, configured to control a first terminal device of a first user in the live streaming room to start a container on the first terminal device in response to receiving an access request for accessing a virtual environment on a server device.
  • Device 800 also includes a data acquisition module 820, configured to control the first terminal device to acquire state data of the virtual environment via the container.
  • Device 800 further includes a data retrieval module 830, configured to obtain live streaming data based on the state data, and the live streaming data is presented in the live streaming room.
  • the data acquisition module 820 includes a data receiving module configured to receive status data from a first service for managing a live streaming room via a container, the first service being initiated by a server device.
  • the apparatus 800 further includes: a request forwarding module configured to, in response to receiving an interaction request at a first terminal device, control the first terminal device to forward the interaction request to a server device to update the state data of the virtual environment; and an update data receiving module configured to receive updated state data.
  • a request forwarding module configured to, in response to receiving an interaction request at a first terminal device, control the first terminal device to forward the interaction request to a server device to update the state data of the virtual environment
  • an update data receiving module configured to receive updated state data.
  • the request forwarding module includes: a first forwarding module configured to control a first terminal device to forward status data to a first service via a container, so that the forwarded status data is transmitted to a server device.
  • the first user is a live streaming application's anchor user
  • the data acquisition module 830 includes: a first data acquisition module configured to acquire first acquisition data from a first acquisition device; an anchor data acquisition module configured to acquire anchor data based on the first acquisition data and status data; and a first data acquisition module configured to acquire live streaming data based on the anchor data.
  • the data generation module 830 further includes: a second data acquisition module configured to acquire second acquisition data from a second acquisition device of a guest user in response to determining that the live broadcast room includes guest users; and a data update module configured to update the live broadcast data based on the second acquisition data.
  • the apparatus 800 further includes: an update data presentation module configured to present updated live data at a first terminal device.
  • the second data acquisition module is specifically configured to acquire second collected data via a first service.
  • the apparatus 800 further includes: a distribution data generation module configured to transmit updated live data to a second service in the live streaming room to generate content distribution data, the content distribution data being presented on the terminal devices of the viewers in the live streaming room.
  • a distribution data generation module configured to transmit updated live data to a second service in the live streaming room to generate content distribution data, the content distribution data being presented on the terminal devices of the viewers in the live streaming room.
  • the apparatus 800 further includes: a third data acquisition module configured to, in response to determining that the live broadcast room includes guest users, acquire second acquisition data from a second acquisition device of the guest users via a first service; a live broadcast data update module configured to update the live broadcast data by the first service based on the second acquisition data; and an update data transmission module configured to transmit the updated live broadcast data from the first service to a second service of the live broadcast room to generate content distribution data, the content distribution data being presented on the terminal devices of the audience users in the live broadcast room.
  • a third data acquisition module configured to, in response to determining that the live broadcast room includes guest users, acquire second acquisition data from a second acquisition device of the guest users via a first service
  • a live broadcast data update module configured to update the live broadcast data by the first service based on the second acquisition data
  • an update data transmission module configured to transmit the updated live broadcast data from the first service to a second service of the live broadcast room to generate content distribution data, the content distribution data being presented on the terminal devices of the audience users in the live broadcast room
  • the apparatus 800 further includes: an environment exit module configured to control a first terminal device to request the container to exit the virtual environment in response to receiving an exit request for exiting the virtual environment; and a container release module configured to control the first terminal device to release the container in response to receiving a message that the virtual environment has been exited.
  • the units and/or modules included in device 800 can be implemented in various ways, including software, hardware, firmware, or any combination thereof.
  • one or more units and/or modules can be implemented using software and/or firmware, such as machine-executable instructions stored on a storage medium.
  • some or all of the units and/or modules in device 800 can be implemented at least partially by one or more hardware logic components.
  • exemplary types of hardware logic components include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chips (SoCs), complex programmable logic devices (CPLDs), and so on.
  • Such electronic devices or combinations of electronic devices may, for example, include server 150, terminal device 120, and/or terminal device 140 in FIG. 1.
  • Figure 9 shows a block diagram of an electronic device 900 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 900 shown in Figure 9 is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. The electronic device 900 shown in Figure 9 can be used to implement the server 150, terminal device 120, and/or terminal device 140 of Figure 1.
  • the electronic device 900 is in the form of a general-purpose electronic device.
  • Components of the electronic device 900 may include, but are not limited to, one or more processors or processing units 910, a memory 920, a storage device 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960.
  • the processing unit 910 may be a physical or virtual processor and is capable of performing various processes according to the program stored in the memory 920. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 900.
  • Electronic device 900 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 900, including but not limited to volatile and non-volatile media, removable and non-removable media.
  • Memory 920 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof.
  • Storage device 930 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and/or data and can be accessed within electronic device 900.
  • Electronic device 900 may further include additional removable/non-removable, volatile/non-volatile storage media.
  • disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided.
  • each drive may be connected to a bus (not shown) via one or more data media interfaces.
  • Memory 920 may include computer program product 925 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
  • the communication unit 940 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 900 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 900 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.
  • PCs network personal computers
  • Input device 950 can be one or more input devices, such as a mouse, keyboard, trackball, etc.
  • Output device 960 can be one or more output devices, such as a monitor, speaker, printer, etc.
  • Electronic device 900 can also communicate with one or more external devices (not shown) via communication unit 940 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 900, or with any device that enables electronic device 900 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input/output (I/O) interface (not shown).
  • I/O input/output
  • a computer-readable storage medium that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above.
  • a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.
  • 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.
  • 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.
  • Computer-readable program instructions can 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 that execute 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.
  • each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function.
  • the functions indicated in the blocks may occur in a different order than those indicated 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.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

根据本公开的实施例,提供了用于管理直播间的方法、装置、设备和介质。该方法包括:响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在第一终端设备处启动容器。控制第一终端设备经由容器获取虚拟环境的状态数据。基于状态数据得到直播数据,直播数据被呈现在直播间中。以此方式,有助于丰富直播方式,提高直播的便捷性。

Description

直播方法、装置、设备和介质
本申请要求2024年6月26日递交的、标题为“直播方法、装置、设备和介质”、申请号为202410842285.7的中国发明专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本公开的示例性实现方式总体涉及计算机领域,特别地涉及直播方法、装置、设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的应用能够提供直播功能。在直播过程时,例如,主播可以在自身的终端设备处运行的虚拟环境(例如,游戏环境、虚拟现实环境等),并且在直播间中提供主播用户在虚拟环境中的活动画面。然而,虚拟环境可能涉及复杂场景并且需要使用较多资源,这会导致仅能在具有较高性能的终端设备开启直播,由此降低了直播的丰富性和便捷性。
发明内容
在本公开的第一方面,提供了一种直播方法。该方法包括:响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在第一终端设备处启动容器;控制第一终端设备经由容器获取虚拟环境的状态数据;以及基于状态数据来得到直播数据,直播数据被呈现在直播间中。
在本公开的第二方面,提供了一种直播装置。该装置包括:容器启动模块,被配置为响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在第一终端设备处启动容器;数据获取模块,被配置为控制第一终端设备经由容器获取虚拟环境的状态数据;以及数据生成模块,被配置为基于状态数据来得到直播数据,直播数据被呈现在直播间中。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,其中计算机程序被处理器执行时实现根据本公开的第一方面的方法。
应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的一些实施例的用于管理直播间的示例的示意图;
图3示出了根据本公开的另一些实施例的用于管理直播间的示例的示意图;
图4A示出了根据本公开的一些实施例的开始游戏的信令流的示意图;
图4B示出了根据本公开的一些实施例的结束游戏的信令流的示意图;
图5示出了根据本公开的一些实施例的生成直播数据的示例的示意图;
图6示出了根据本公开的一些实施例的第一服务处理数据的示例的示意图;
图7示出了根据本公开的一些实施例的用于管理直播间的过程的流程图;
图8示出了根据本公开的一些实施例的用于管理直播间的装置的示意性结构框图;以及
图9示出了其中可以实现本公开的一个或多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文中,除非明确说明,“响应于A”执行一个步骤并不意味着在“A”之后立即执行该步骤,而是可以包括一个或多个中间步骤。
在本文中,术语“虚拟环境”可以包括但不限于:游戏环境、仿真环境、模拟环境、虚拟现实环境、增强现实环境等等,本公开的实施例在此方面不受限制。为了便于描述,在下文中将仅以游戏环境作为虚拟环境的示例来进行描述。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获得或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获得和使用到用户的个人信息,从而使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获得用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
示例环境
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,电子设备110中安装有应用120。用户140可以经由电子设备110和/或电子设备110的附接设备来与应用120进行交互。
在一些实施例中,应用120可以是内容分享应用(例如,以视频分享为主的视频应用),能够向用户140提供与媒体项(也可以称之为媒体内容、媒体内容项、内容项等)相关的各类服务,包括媒体项的浏览、评论、转发、创作(例如,拍摄和/或编辑)、发布等等。在一些实施例中,应用120也可以是其他任意适当的应用,其中能够展示媒体项。在本文中,每个“媒体项”包括一个或多个类型的内容,例如视频、图像、动图、图像集、音频、文本等等。
在图1的环境100中,如果应用120处于活动状态,电子设备110可以呈现应用120的页面150。页面150可以包括应用120所能提供的各类页面,诸如媒体项呈现页面、媒体项创作页面、媒体项发布页面、消息页面、个人主页,等等。应用120可以提供媒体项查看功能,以查看在应用120中发布的各类媒体项。
在一些实施例中,电子设备110与服务器130通信,以实现对应用120的服务的供应。电子设备110可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,电子设备110也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。服务器130可以是能够提供计算能力的各种类型的计算系统/服务器,包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。
应当理解,仅出于示例性的目的描述环境100中各个元素的结构和功能,而不暗示对于本公开的范围的任何限制。
示例环境
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在环境100中,用户110可以通过相关联的终端设备120建立直播间(例如,直播应用中的直播间可以对应于一个直播会话)并提供直播内容等。在一些场景中,用户110例如也称为直播间的主播、直播方或管理方。终端设备120也可以被称为直播间的主播端。
一个或多个用户130-1、130-2、……、130-N可以通过各自相关联的终端设备140-1、140-2、……、140-N观看直播并参与直播间的互动等。为便于讨论,用户130-1、130-2、……、130-N可以统称为或单独称为用户130,并且终端设备140-1、140-2、……、140-N可以统称为或单独称为终端设备140。在一些场景中,用户130也可以称为直播间的观众、听众、观看方或参与方。终端设备140也可以被称为直播间的观众端。备选地和/或附加地,用户130可以被邀请加入直播,此时被邀请的用户可以转换为嘉宾用户,并且连麦与主播对话。
应当理解,虽然图1中仅示出了单个主播用户,在一些实施例中,在某个直播间中可以存在多个主播用户参与直播。在一些实施例中,终端设备120、终端设备140中可以分别安装有能够提供直播服务的应用,或者可以访问能够提供直播服务的网站。用户110和用户130可以操作终端设备120和终端设备140,以访问对应的应用或网站。
相应地,终端设备120和终端设备140可以呈现相应的直播界面,其例如可以提供直播间的直播内容,例如,音频直播内容或视频直播内容等。
在一些实施例中,终端设备120和终端设备140还可以通过网络152与服务器150通信,以实现对直播服务的供应。服务器150可以提供关于应用或网站的管理、配置和维护等功能。服务器150可以包括多个服务器,例如,可以包括用于为直播服务提供支持的服务器,用于为游戏服务提供支持的服务器,等等。
终端设备120和终端设备140可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,终端设备120、140也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
服务器150可以是能够提供计算能力的各种类型的计算系统/服务器,包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。服务器150例如可以为终端设备120和终端设备140中提供直播服务的应用提供后台服务。在一些实施例中,如果主播用户在直播间中发起活动,服务器150可以包括用于提供直播服务的服务器和用于提供活动服务的服务器。备选地和/或附加地,可以由单一服务器来提供直播服务和活动服务。
应当理解,仅出于示例性的目的描述环境100中各个元素的结构和功能,而不暗示对于本公开的范围的任何限制。以下将继续参考附图描述本公开的一些示例实施例。
为了便于描述,在下文中仅以用户访问虚拟环境(例如,游戏环境、虚拟现实环境、增强现实环境,等等)作为活动的示例来描述管理直播间的过程。传统上,主播可以在终端设备处运行小型的虚拟环境,然而,由于大型虚拟环境可能涉及复杂场景并且需要使用较多资源(例如,计算资源和存储资源)。这导致主播仅能借助具有丰富资源的计算设备(例如,台式机等)来加载大型虚拟环境,并且在直播间中直播。这会导致直播环境受到限制,降低了直播的丰富性和便捷性。此时,期望可以在便携式终端设备处加载大型虚拟环境并且提供直播。
管理直播间的概要
有鉴于此,本公开的实施例提出了一种直播改进方案。根据该方案,响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户(例如直播应用的主播用户,例如用户110)的第一终端设备(例如终端设备120),以便在第一终端设备处启动容器。可以控制第一终端设备经由容器获取虚拟环境的状态数据。基于状态数据来得到直播数据,直播数据被呈现在直播间中。终端设备120可以是具有有限资源的便携式设备。在此,容器可以是位于第一终端设备本地的容器,虚拟环境可以位于不同于第一终端设备的远程服务器设备处。以此方式,虚拟环境在服务器设备处运行,并且终端设备120可以利用容器访问虚拟环境,继而实现在终端设备120提供直播间。
在本公开的上下文中,虚拟环境的状态数据可以表示来自虚拟环境的数据,例如,包括但不限于虚拟环境中的声音数据和图像数据。具体地,在游戏环境下,虚拟环境的状态数据可以包括来自游戏环境的音视频流。直播数据可以包括在直播期间传输的数据,例如,可以在游戏环境的音视频流的基础上,添加来自主播和/或嘉宾的语音(例如,游戏解说,等)、视频(例如,参与游戏期间的视频,等)、和/或所需的其他数据。
以虚拟环境包括游戏环境、终端设备120的容器为云游戏容器为例,参见图2描述根据本公开的一个示例性实施例的概要,图2示出了根据本公开的一些实施例的用于管理直播间的示例200的示意图。示例200涉及终端设备120、云游戏容器210、云游戏服务器220、运行在云实例上的游戏客户端240以及RTC(实时通信)房间230(也即,直播间)。
在直播状态下,终端设备120可以响应于接收到用于访问服务器设备(在游戏场景下,服务器设备可以是云游戏服务器)处的游戏环境的访问请求(例如主播用户对游戏的启动操作),启动的云游戏容器210。云游戏容器210可以借助云游戏服务器220来在云实例上启动并运行游戏客户端240。游戏客户端240运行后,云游戏SDK(软件开发包)250可以创建RTC房间230。
RTC房间230可以将游戏客户端240处的游戏环境的状态数据(例如可以包括游戏环境的音视频流)传输至云游戏容器210。RTC房间230还可以接收云游戏容器210发送的游戏指令(也即实现游戏指令传输)。由此,主播用户可以在终端设备120处对游戏客户端240处运行的游戏进行操作(例如操作虚拟角色在游戏客户端240对应的游戏环境中执行动作)。
终端设备120经由云游戏容器210获取游戏环境的状态数据(也即游戏环境的音视频流),并基于状态数据来得到直播数据。可以呈现直播间中的直播数据,也即向加入直播间的各个用户呈现直播数据。可以在具有计算能力的任何计算设备处执行本公开的方法,例如,可以在管理直播间的服务器(例如服务器150和/或网络中的其他服务器)处执行上述方法,以便控制终端设备120启动本地的容器,进而支持游戏直播。在本公开的上下文中,管理直播间的服务器可以通过控制指令来控制第一终端设备。例如,响应于上文描述的访问请求,管理直播间的服务器可以向第一终端设备发送控制指令。此时,第一终端设备可以响应于接收到该控制指令来启动容器。又例如,可以在终端设备处执行上文描述的方法。此时,第一终端设备可以在检测到访问请求的情况下,控制第一终端设备来启动容器。
以此方式,在本公开的实施例中,主播用户可以借助容器(例如云游戏容器210)来获取虚拟环境的状态数据,并基于状态数据来得到直播数据。由于虚拟环境实际被运行在具有强大资源的云游戏服务器处,并不要求主播的终端设备具有强大资源,而是可以利用容器来在云游戏服务器和终端设备之间中转数据。这使得主播用户可以在任意适当的终端设备处进行与虚拟环境相关联的直播,有助于丰富直播方式,提高直播的便捷性。以下将继续参考附图描述本公开的一些示例实施例。
管理直播间的详细过程
在直播场景下,直播平台经常会使用RTC和CDN服务,当主播用户与嘉宾用户进行连麦时,连麦数据将使用RTC服务以保证低延时的实时互动(RTC服务对应的数据流可以被称之为RTC流),RTC服务随后将直播连麦的内容转推至CDN服务,不连麦的观众用户依然从CDN服务获取直播内容(CDN服务对应的数据流可以被称之为CDN流)。
图3示出了根据本公开的另一些实施例的用于管理直播间的示例300的示意图。如图3所示,在终端设备120处于直播连麦330状态下时,终端设备120可以接收主播用户用于访问服务器设备(例如提供游戏的服务器)处的虚拟环境(例如游戏环境)的访问请求。例如,终端设备120可以响应于接收到主播用户的用于发起游戏的用户操作,确定接收到主播用户用于访问虚拟环境的访问请求。
进一步,可以控制终端设备120响应于接收到访问请求,启动容器(例如云游戏容器210)。云游戏容器210还可以将终端设备120接收到的来自主播用户的游戏指令发送至游戏客户端240,游戏客户端240也可以将产生的游戏指令发送至云游戏容器210。终端设备120还可以借助云游戏容器210从云实例360处运行的游戏客户端240处获取游戏环境的状态数据(例如可以包括游戏环境的音视频流)。
在本公开的方法的控制下,终端设备120可以直接借助云游戏容器210来获取状态数据。在一些实施例中,终端设备120可以经由云游戏容器210,从用于管理直播间的第一服务(例如由直播间的第一服务器提供的RTC服务320)接收状态数据。具体地,终端设备120可以响应于接收到交互请求(例如针对游戏环境的交互请求),向服务器设备转发交互请求以更新虚拟环境的状态数据,并接收更新的状态数据。例如,终端设备120可以响应于接收到主播用户的用于操作游戏的交互请求,向服务器设备转发该交互请求。服务器设备可以基于该交互请求来对游戏环境进行操作,以更新游戏环境。游戏环境更新后,终端设备120可以经由云游戏容器210接收更新后的游戏环境对应的更新的状态数据。以此方式,云游戏容器210可以辅助在终端设备120和云实例360之间中转数据,从而实现由主播在自己的终端设备120处控制虚拟环境的目标。
关于转发交互请求的具体方式,在一些实施例中,终端设备120可以经由容器(例如云游戏容器210),向第一服务转发状态数据,以使得转发的状态数据被传输至服务器设备。由此,终端设备120可以借助RTC服务320和的云游戏容器210,在自身和服务器设备之间中转数据,从而实时地操作游戏中的虚拟角色和/或执行其他动作。
终端设备120可以基于获取到的虚拟环境的状态数据,来生成直播数据,这个直播数据可以被呈现在直播间中。在一些实施例中,除了状态数据外,在本公开的方法的控制下,终端设备120还可以获取来自第一采集设备的第一采集数据。第一采集设备例如可以包括终端设备120的图像采集设备(例如相机)、音频采集设备(例如扬声器)等。第一采集数据例如可以包括与主播用户相关联的图像数据、音频数据等。例如,终端设备120可以获取来自相机的主播用户的图像数据和音频数据,从而生成视频数据。
进一步,可以在直播数据中添加第一采集数据,以便生成主播数据(也可以被称之为主播音视频流)。此时主播数据可以包括虚拟环境本身的视频数据、以及来自主播的视频数据。具体地,可以预定区域(例如,显示区域中的大窗)中呈现虚拟环境的视频数据,并且在另一预定区域(例如,显示区域顶部中间位置的小窗)中呈现来自主播的实拍视频数据。以此方式,可以支持在直播间中提供更为丰富的信息。
在一些实施例中,在本公开的方法的控制下,这个主播数据也可以是终端设备120来生成的。例如,终端设备120可以获取状态数据,并基于自身经由第一采集设备采集到的第一采集数据和获取到的状态数据来生成主播数据。在这种情况下,终端设备120可以直接向RTC服务320提供主播数据,以便RTC服务320进行进一步处理。
在一些实施例中,如果直播间存在嘉宾用户,嘉宾用户对应的终端设备340也处于直播连麦350状态。终端设备340可以获取第二采集设备的第二采集数据。第二采集设备例如可以包括终端设备340的图像采集设备(例如相机)、音频采集设备(例如扬声器)等。第二采集数据例如可以包括与嘉宾用户相关联的图像数据、音频数据等。例如,终端设备340可以获取来自相机的嘉宾用户的图像数据和音频数据,从而生成视频数据。第二采集数据也可以被称之为嘉宾音视频流。尽管图3仅示出了一个嘉宾用户,备选地和/或附加地,主播用户可以邀请多个嘉宾用户,各个嘉宾用户的终端设备可以以类似方式采集相应的嘉宾音视频流。
在一些实施例中,终端设备340也可以分别将第二采集数据提供至RTC服务320。由此,RTC服务320可以将嘉宾音视频流提供至终端设备120,以便向直播数据中添加有关嘉宾的数据。
RTC服务320可以处理数据。例如,RTC服务320可以接收终端设备120发送的主播音视频流和终端设备340发送的嘉宾音视频流。RTC服务320例如还可以向终端设备120提供参与直播间的嘉宾用户的嘉宾音视频流,向终端设备340提供主播用户的主播数据。如果存在多个嘉宾用户,针对每个嘉宾用户,RTC服务320可以将主播数据和其他嘉宾对应的第二采集数据(也即该嘉宾用户之外的其他嘉宾用户对应的第二采集数据)进行合并以合并成一路RTC流,并将该RTC流提供至嘉宾用户对应的终端设备340。
RTC服务320还可以将多个嘉宾对应的多路第二采集数据进行合并以合并成一路RTC流,并将该RTC流提供至终端设备120。在本公开的方法的控制下,例如还可以响应于确定直播间包括嘉宾用户,获取嘉宾用户的第二采集数据,并基于第二采集数据来更新直播数据。更新后的直播数据例如可以包括主播数据(也即状态数据和第一采集数据)和第二采集数据。终端设备120进而可以呈现更新的直播数据。以此方式,直播数据可以包括更为丰富的内容。
需要说明的是,直播数据可以是终端设备120生成的,也可以是RTC服务320生成的。在终端设备120得到直播数据的模式中,终端设备120可以直接得到直播数据,从而避免向RCT服务传输数据来得到直播数据的时间延迟。在RTC服务320得到直播数据的模式中,例如,RTC服务320可以基于主播数据和第二采集数据来得到直播数据。尽管数据传输涉及一定的时间延迟,此模式可以大大降低终端设备120的工作负载,因而尤其适合于性能有限的终端设备120。
在一些实施例中,终端设备120/RTC服务320还可以向直播间的第二服务(例如由直播间的第二服务器提供的CDN服务310)传输直播数据以生成内容分发数据。CDN服务310可以以CDN流的形式向观众用户301的终端设备推送内容分发数据,以使得内容分发数据被呈现在直播间的观众用户301的终端设备处。可以理解,类似地,终端设备120/RTC服务320还可以向CDN服务310传输更新的直播数据以生成更新的内容分发数据。
下面结合图4A和图4B来具体描述主播用户访问游戏环境的具体示例。参考图4A,图4A示出了根据本公开的一些实施例的开始游戏的信令流400的示意图。主播用户的终端设备120可以简称为主播端,嘉宾用户的终端设备可以简称为嘉宾端402,观众用户的终端设备可以简称为观众端401。终端设备120可以响应于接收到来自主播用户的、用于访问服务器设备处的游戏环境的访问请求,向直播服务器403发送(411)该访问请求。直播服务器403可以响应于该访问请求,启动云实例上的游戏环境,并向终端设备120返回(412)启动结果。
终端设备120可以响应于接收到启动结果,切换(413)用于呈现直播间的直播页面的布局。例如,终端设备120可以在直播页面的背景层中呈现游戏环境对应的游戏页面,并在游戏页面上的任意适当位置处叠加呈现用于呈现主播用户的图像的主播窗口和用于呈现嘉宾用户的图像的嘉宾窗口。在一些实施例中,直播服务器403还可以分别向嘉宾端402和观众端401发送(也即414和416)启动结果。嘉宾端402和观众端401可以分别基于启动结果,切换(也即415和417)用于呈现直播间的直播页面的布局。
进一步地,终端设备120可以初始化(418)的云游戏容器405。云游戏容器405被初始化后,可以调用(419)云游戏服务器406来拉起(420)云游戏407(也即运行在云实例上的游戏环境)。云游戏407可以指示(421)云游戏RTC 408来创建RTC房间,并向云游戏服务器406发送(422)云游戏启动结果。云游戏服务器406可以向云游戏容器405转发(423)接收到的云游戏启动结果。直播服务器403可以响应于云游戏容器405获取到云游戏启动结果,经由云游戏容器405获取云游戏启动结果,并向终端设备120发送(424)云游戏启动结果。
云游戏启动后,云游戏容器405可以从云游戏RTC 408处获取(425)游戏环境的状态数据(例如可以包括游戏环境的音视频流)。终端设备120进而可以经由云游戏容器405来获取(426)来获取游戏环境的状态数据。终端设备120还可以获取来自第一采集设备(例如可以包括相机和扬声器)的第一采集数据(例如可以包括与主播用户相关联的视频、图像和音频)。在一些实施例中,终端设备120可以基于第一采集数据和状态数据生成(427)主播数据。
终端设备120例如可以将生成的主播数据发送(428)至连麦RTC 404(其也可以被称之为第一服务、RTC服务、连麦RTC服务等)。在一些实施例中,在直播间还包括嘉宾用户的情况下,嘉宾用户对应的终端设备(也即嘉宾端402)也可以将来自第二采集设备(例如同样可以包括相机和扬声器)的第二采集数据(例如可以包括与嘉宾用户相关联的视频、图像和音频)发送至连麦RTC 404。连麦RTC 404例如可以基于获取到的主播数据和第二采集数据,执行(429)合流操作以得到直播数据。
在一些实施例中,针对参与直播间的每个观众用户,连麦RTC 404可以借助第二服务(例如CDN服务)来基于直播数据生成内容分发数据。连麦RTC 404可以将内容分发数据提供(430)至观众端401,以使得参与直播间的观众用户可以浏览到内容分发数据。
在一些实施例中,连麦RTC 404还可以向直播间中的嘉宾用户对应的嘉宾端402发送(431)直播数据。示例性地,若直播间仅包括一个嘉宾用户,连麦RTC 404可以基于主播数据来得到直播数据,并将直播数据发送至嘉宾端402。若直播间包括多个嘉宾用户,连麦RTC 404可以基于主播数据和嘉宾用户之外的其他嘉宾用户的第二采集数据来得到直播数据,并将直播数据发送至嘉宾端402。由此,连麦RTC 404可以将包括游戏环境的状态数据的直播数据分发至观众端401、嘉宾端402和主播端120。
进一步地,参考图4B,图4B示出了根据本公开的一些实施例的结束游戏的信令流400的示意图。终端设备120可以响应于接收到来自主播用户的、用于退出服务器设备处的游戏环境的退出请求(例如来自主播用户的游戏退出操作),向直播服务器403发送(441)该退出请求。直播服务器403可以响应于该退出请求,退出云实例上的游戏环境,并向终端设备120返回(442)退出结果。
终端设备120可以响应于接收到退出结果,切换(443)用于呈现直播间的直播页面的布局,并取消(444)基于状态数据和第一采集数据来生成主播数据。例如,终端设备120可以取消在直播页面的背景层中呈现游戏环境对应的游戏页面,终端设备120例如可以直接将第一采集数据确定为主播数据,终端设备120可以直接在直播页面的背景层中呈现主播数据对应的主播页面。
在一些实施例中,终端设备120还可以指示(445)云游戏容器405退出虚拟环境。云游戏容器405可以经由(446)云游戏服务器406来关闭(447)云游戏407。云游戏407可以指示云游戏RTC 408销毁(448)先前创建的RTC房间,并向云游戏服务器406返回(449)云游戏关闭结果。云游戏服务器406可以向云游戏容器405转发(450)接收到的云游戏关闭结果。
直播服务器403可以响应于云游戏容器405获取到云游戏关闭结果,经由云游戏容器405获取云游戏关闭结果。在一些实施例中,终端设备120还可以响应于确定游戏环境被退出,释放的云游戏容器405。直播服务器403可以分别向嘉宾端402和观众端401发送(也即451和452)云游戏关闭结果。嘉宾端402和观众端401可以分别基于云游戏关闭结果,切换(也即453和454)直播页面的布局。
参考图5,图5示出了根据本公开的一些实施例的得到直播数据的示例的示意图。如图5所示,终端设备120可以获取来自第一采集设备的第一采集数据501(其例如可以包括与主播用户相关联的视频、音频、图像等,其也可以被称之为主播音视频流)。
终端设备120可以基于用户设置,对第一采集数据501执行特效处理502。例如,终端设备120可以基于用户设置,对主播音视频流中的主播图像进行美白、对主播音频进行变声等等。终端设备120可以基于执行完成特效处理502的第一采集数据501,生成主播预览小窗503。主播预览小窗503例如可以为用于呈现主播画面504(也即主播图像、视频)的窗口。
终端设备120还可以借助云游戏容器210来从云实例360中的游戏客户端370处获取游戏环境的状态数据。终端设备120可以基于游戏环境的状态数据来确定游戏画面。游戏画面例如可以用于呈现状态数据。终端设备120还可以从RTC服务320处获取直播间中的嘉宾用户对应的第二采集数据(也可以被称之为嘉宾音视频流,并基于第二采集数据,确实参与直播间的多个嘉宾对应的多个嘉宾窗口。多个嘉宾窗口可以用于呈现多个嘉宾各自的嘉宾画面(例如画面507-1、画面507-2和画面507-3)。
终端设备120例如可以基于游戏画面、主播画面504、画面507-1、画面507-2和画面507-3来生成直播页面506。直播页面506用于呈现直播数据,直播数据包括第一采集数据、状态数据和第二采集数据,因此,直播页面506可以包括游戏画面、主播画面504、画面507-1、画面507-2和画面507-3。游戏画面例如可以呈现在直播页面506的背景层中。主播画面504、画面507-1、画面507-2和画面507-3可以被叠加呈现在游戏画面上。终端设备120例如可以将直播数据发送至RCT服务以便进一步处理。
参考图6,图6示出了根据本公开的一些实施例的第一服务处理数据的示例600的示意图。如图6所示,终端设备120可以获取虚拟环境的状态数据602和第一采集数据601。状态数据602例如可以包括游戏环境的音视频数据。第一采集数据例如可以包括主播音视频数据。终端设备120可以对第一采集数据601执行特效处理604。终端设备120可以基于执行完成特效处理604的第一采集数据601,生成主播预览小窗603。主播预览小窗603例如可以为用于呈现主播画面的窗口。终端设备120可以将执行特效处理604后的第一采集数据601和状态数据602一同输入前置合流点605。前置合流点605例如可以基于第一采集数据601和状态数据602来生成主播数据。终端设备120可以将主播数据提供至RTC服务606。
RTC服务606可以以RTC流的形式对主播数据进行推送,主播数据例如可以如直播页面609所示,其背景层为游戏环境对应的游戏画面,游戏画面上叠加呈现有主播画面。RTC服务606还可以获取嘉宾用户对应的第二采集数据608。RTC服务606可以基于主播数据和第二采集数据608,执行RTC合流。具体地,RTC服务606可以基于主播数据和第二采集数据608得到直播数据。直播数据例如可以如直播页面610所示,其背景层为游戏画面,游戏画面上叠加呈现有主播画面和多个嘉宾用户对应的嘉宾画面。RTC服务606例如可以将直播数据发送至CDN服务,以便CDN服务以CDN流的形式向观众用户推送直播数据。
综上所述,根据本公开的实施例,可以借助容器来获取虚拟环境的状态数据,并基于状态数据来生成要被呈现在直播间的直播数据。这使得主播用户可以在任意终端设备处访问云端处的虚拟环境,主播用户可以在任意适当的终端设备处进行与虚拟环境相关联的直播,有助于丰富直播方式,提高直播的便捷性。
示例过程
上文已经描述了查询的各个步骤的具体细节,提供了一种管理直播间的方法。图7示出了根据本公开的一些实施例的直播过程700的流程图。过程700可以被实现在具有计算能力的任何设备处。下面参考图1描述过程700。
在框710,响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在第一终端设备处启动容器。
在框720,控制第一终端设备经由容器获取虚拟环境的状态数据。
在框730,基于状态数据来得到直播数据,直播数据被呈现在直播间中。
在一些实施例中,获取状态数据包括:经由容器,从用于管理直播间的第一服务接收状态数据,第一服务是由服务器设备来启动的。
在一些实施例中,过程700进一步包括:响应于在第一终端设备处接收到交互请求,控制第一终端设备向服务器设备转发交互请求以更新虚拟环境的状态数据;以及接收更新的状态数据。
在一些实施例中,控制第一终端设备转发交互请求包括:控制第一终端设备经由容器,向第一服务转发状态数据,以使得转发的状态数据被传输至服务器设备。
在一些实施例中,第一用户为直播应用的主播用户,以及得到直播数据包括:获取来自第一采集设备的第一采集数据;基于第一采集数据和状态数据,得到主播数据;以及基于主播数据得到直播数据。
在一些实施例中,得到直播数据进一步包括:响应于确定直播间包括嘉宾用户,获取来自嘉宾用户的第二采集设备的第二采集数据;以及基于第二采集数据来更新直播数据。
在一些实施例中,过程700进一步包括:更新的直播数据被呈现在第一终端设备处。
在一些实施例中,获取第二采集数据包括:经由第一服务来获取第二采集数据。
在一些实施例中,过程700进一步包括:向直播间的第二服务传输更新的直播数据以生成内容分发数据,内容分发数据被呈现在直播间的观众用户的终端设备处。
在一些实施例中,过程700进一步包括:响应于确定直播间包括嘉宾用户,由第一服务获取来自嘉宾用户的第二采集设备的第二采集数据;由第一服务基于第二采集数据来更新直播数据;以及由第一服务向直播间的第二服务传输更新的直播数据以生成内容分发数据,内容分发数据被呈现在直播间的观众用户的终端设备处。
在一些实施例中,过程700进一步包括:响应于接收到用于退出虚拟环境的退出请求,控制第一终端设备由容器请求服务器设备来退出虚拟环境;以及响应于接收到虚拟环境被退出的消息,控制第一终端设备释放容器。
示例装置和设备
本公开的实施例还提供了用于实现上述方法或过程的相应装置。图8示出了根据本公开的一些实施例的直播装置800的示意性结构框图。装置800中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置800包括容器启动模块810,被配置为响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在第一终端设备处启动容器。装置800还包括数据获取模块820,被配置为控制第一终端设备经由容器获取虚拟环境的状态数据。装置800还包括数据得到模块830,被配置为基于状态数据来得到直播数据,直播数据被呈现在直播间中。
在一些实施例中,数据获取模块820包括:数据接收模块,被配置为经由容器,从用于管理直播间的第一服务接收状态数据,第一服务是由服务器设备来启动的。
在一些实施例中,装置800进一步包括:请求转发模块,被配置为响应于在第一终端设备处接收到交互请求,控制第一终端设备向服务器设备转发交互请求以更新虚拟环境的状态数据;以及更新数据接收模块,被配置为接收更新的状态数据。
在一些实施例中,请求转发模块包括:第一转发模块,被配置为控制第一终端设备经由容器,向第一服务转发状态数据,以使得转发的状态数据被传输至服务器设备。
在一些实施例中,第一用户为直播应用的主播用户,以及数据得到模块830包括:第一数据获取模块,被配置为获取来自第一采集设备的第一采集数据;主播数据得到模块,被配置为基于第一采集数据和状态数据,得到主播数据;以及第一数据得到模块,被配置为基于主播数据得到直播数据。
在一些实施例中,数据生成模块830进一步包括:第二数据获取模块,被配置为响应于确定直播间包括嘉宾用户,获取来自嘉宾用户的第二采集设备的第二采集数据;以及数据更新模块,被配置为基于第二采集数据来更新直播数据。
在一些实施例中,装置800进一步包括:更新数据呈现模块,被配置为使得更新的直播数据被呈现在第一终端设备处。
在一些实施例中,第二数据获取模块具体被配置为:经由第一服务来获取第二采集数据。
在一些实施例中,装置800进一步包括:分发数据生成模块,被配置为向直播间的第二服务传输更新的直播数据以生成内容分发数据,内容分发数据被呈现在直播间的观众用户的终端设备处。
在一些实施例中,装置800进一步包括:第三数据获取模块,被配置为响应于确定直播间包括嘉宾用户,由第一服务获取来自嘉宾用户的第二采集设备的第二采集数据;直播数据更新模块,被配置为由第一服务基于第二采集数据来更新直播数据;以及更新数据传输模块,被配置为由第一服务向直播间的第二服务传输更新的直播数据以生成内容分发数据,内容分发数据被呈现在直播间的观众用户的终端设备处。
在一些实施例中,装置800进一步包括:环境退出模块,被配置为响应于接收到用于退出虚拟环境的退出请求,控制第一终端设备来由容器请求服务器设备来退出虚拟环境;以及容器释放模块,被配置为响应于接收到虚拟环境被退出的消息,控制第一终端设备来释放容器。
装置800中所包括的单元和/或模块可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一些实施例中,一个或多个单元和/或模块可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置800中的部分或者全部单元和/或模块可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
应当理解,以上方法中的一个或多个步骤可以由适当的电子设备或电子设备的组合来执行。这样的电子设备或电子设备的组合例如可以包括图1中的服务器150、终端设备120和/或终端设备140。
图9示出了其中可以实施本公开的一个或多个实施例的电子设备900的框图。应当理解,图9所示出的电子设备900仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图9所示出的电子设备900可以用于实现图1的服务器150、终端设备120和/或终端设备140。
如图9所示,电子设备900是通用电子设备的形式。电子设备900的组件可以包括但不限于一个或多个处理器或处理单元910、存储器920、存储设备930、一个或多个通信单元940、一个或多个输入设备950以及一个或多个输出设备960。处理单元910可以是实际或虚拟处理器并且能够根据存储器920中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备900的并行处理能力。
电子设备900通常包括多个计算机存储介质。这样的介质可以是电子设备900可访问的任何可以获取的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器920可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备930可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据并且可以在电子设备900内被访问。
电子设备900可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图9中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器920可以包括计算机程序产品925,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元940实现通过通信介质与其他电子设备进行通信。附加地,电子设备900的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备900可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备950可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备960可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备900还可以根据需要通过通信单元940与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备900交互的设备进行通信,或者与使得电子设备900与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供至通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

Claims (15)

  1. 一种直播方法的方法,包括:
    响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在所述第一终端设备处启动容器;
    控制所述第一终端设备经由所述容器获取所述虚拟环境的状态数据;以及
    基于所述状态数据得到直播数据,所述直播数据被呈现在所述直播间中。
  2. 根据权利要求1所述的方法,其中获取所述状态数据包括:经由所述容器,从用于管理所述直播间的第一服务接收所述状态数据,所述第一服务是由所述服务器设备来启动的。
  3. 根据权利要求2所述的方法,进一步包括:
    响应于在所述第一终端设备处接收到交互请求,控制所述第一终端设备向所述服务器设备转发所述交互请求以更新所述虚拟环境的所述状态数据;以及
    接收更新的所述状态数据。
  4. 根据权利要求3所述的方法,其中控制所述第一终端设备以转发所述交互请求包括:控制所述第一终端设备,经由所述容器来向所述第一服务转发所述状态数据,以使得转发的所述状态数据被传输至所述服务器设备。
  5. 根据权利要求1所述的方法,其中所述第一用户为所述直播应用的主播用户,以及得到所述直播数据包括:
    获取来自所述第一采集设备的第一采集数据;
    基于所述第一采集数据和所述状态数据,生成主播数据;以及
    基于所述主播数据得到所述直播数据。
  6. 根据权利要求5所述的方法,其中得到所述直播数据进一步包括:
    响应于确定所述直播间包括嘉宾用户,获取来自所述嘉宾用户的第二采集设备的第二采集数据;以及
    基于所述第二采集数据来更新所述直播数据。
  7. 根据权利要求6所述的方法,其中更新的所述直播数据被呈现在所述第一终端设备处。
  8. 根据权利要求6所述的方法,其中获取所述第二采集数据包括:经由所述第一服务来获取第二采集数据。
  9. 根据权利要求6所述的方法,进一步包括:向所述直播间的第二服务传输更新的所述直播数据以生成内容分发数据,所述内容分发数据被呈现在所述直播间的观众用户的终端设备处。
  10. 根据权利要求5所述的方法,进一步包括:
    响应于确定所述直播间包括嘉宾用户,由所述第一服务获取来自所述嘉宾用户的第二采集设备的第二采集数据;
    由所述第一服务基于所述第二采集数据来更新所述直播数据;以及
    由所述第一服务向所述直播间的第二服务传输更新的所述直播数据以生成内容分发数据,所述内容分发数据被呈现在所述直播间的观众用户的终端设备处。
  11. 根据权利要求1所述的方法,进一步包括:
    响应于接收到用于退出所述虚拟环境的退出请求,控制所述第一终端设备来由所述容器请求所述服务器设备退出所述虚拟环境;以及
    响应于接收到所述虚拟环境被退出的消息,控制所述第一终端设备来释放所述容器。
  12. 一种直播装置,包括:
    容器启动模块,被配置为响应于接收到用于访问服务器设备处的虚拟环境的访问请求,控制直播间的第一用户的第一终端设备,以在所述第一终端设备处启动容器;
    数据获取模块,被配置为控制所述第一终端设备经由所述容器获取所述虚拟环境的状态数据;以及
    数据生成模块,被配置为基于所述状态数据来得到直播数据,所述直播数据被呈现在所述直播间中。
  13. 一种电子设备,包括:
    至少一个处理器;以及
    至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的指令,所述指令在由所述至少一个处理器执行时使所述电子设备执行根据权利要求1至11中任一项所述的方法。
  14. 一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令可由处理器执行以实现根据权利要求1至11中任一项所述的方法。
  15. 一种计算机程序产品,包括计算机可执行指令,其中所述计算机可执行指令/被处理器执行时实现根据权利要求1至11中任一项所述的方法。
PCT/CN2025/103182 2024-06-26 2025-06-24 直播方法、装置、设备和介质 Pending WO2026001990A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410842285.7A CN121217976A (zh) 2024-06-26 2024-06-26 直播方法、装置、设备和介质
CN202410842285.7 2024-06-26

Publications (1)

Publication Number Publication Date
WO2026001990A1 true WO2026001990A1 (zh) 2026-01-02

Family

ID=98121937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/103182 Pending WO2026001990A1 (zh) 2024-06-26 2025-06-24 直播方法、装置、设备和介质

Country Status (2)

Country Link
CN (1) CN121217976A (zh)
WO (1) WO2026001990A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113423018A (zh) * 2021-08-24 2021-09-21 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
US20220226736A1 (en) * 2019-06-03 2022-07-21 Ping-Kang Hsiung Selection of virtual server for smart cloud gaming application from multiple cloud providers based on user parameters
CN116802611A (zh) * 2020-10-25 2023-09-22 元平台公司 应用程序的安全并发流式传输的系统和方法
CN117170810A (zh) * 2023-09-05 2023-12-05 北京蔚领时代科技有限公司 一种云游戏部署方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220226736A1 (en) * 2019-06-03 2022-07-21 Ping-Kang Hsiung Selection of virtual server for smart cloud gaming application from multiple cloud providers based on user parameters
CN116802611A (zh) * 2020-10-25 2023-09-22 元平台公司 应用程序的安全并发流式传输的系统和方法
CN113423018A (zh) * 2021-08-24 2021-09-21 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN117170810A (zh) * 2023-09-05 2023-12-05 北京蔚领时代科技有限公司 一种云游戏部署方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN121217976A (zh) 2025-12-26

Similar Documents

Publication Publication Date Title
WO2024251214A1 (zh) 用于直播间交互的方法、装置、设备和存储介质
KR102408778B1 (ko) 인터넷 전화 기반 통화 중에 컨텐츠를 공유하는 방법, 시스템, 및 컴퓨터 프로그램
CN111971971B (zh) 消除实况直播中的来宾直播延迟的方法和系统及非暂时性计算机可读记录介质
EP4618566A1 (en) Video interaction method and apparatus, and device and storage medium
WO2024067636A1 (zh) 用于内容呈现的方法、装置、设备和存储介质
WO2026008058A1 (zh) 用于直播互动的方法、装置、设备和存储介质
US20260107036A1 (en) Method for live streaming interactions, apparatus, device and storage medium
WO2026002171A1 (zh) 界面交互的方法、装置、设备和存储介质
WO2025031465A1 (zh) 用于直播间交互的方法、装置、设备和存储介质
WO2025252051A1 (zh) 交互方法、装置、设备和存储介质
WO2026001989A1 (zh) 用于交互的方法、装置、设备和存储介质
WO2025060695A1 (zh) 用于互动的方法、装置、设备和存储介质
WO2025209497A1 (zh) 直播互动的方法、装置、设备和存储介质
WO2025036463A9 (zh) 内容分享和内容查看的方法、装置、设备和存储介质
WO2026012489A1 (zh) 用于直播互动的方法、装置、设备和存储介质
WO2025139909A1 (zh) 直播交互的方法、装置、设备和存储介质
WO2026001097A1 (zh) 云游戏处理和互动方法、装置、设备和存储介质
EP4618563A1 (en) Livestream method and apparatus, device and storage medium
WO2025252150A1 (zh) 交互方法、装置、设备和存储介质
WO2025242205A1 (zh) 直播互动的方法、装置、设备和存储介质
WO2025246491A1 (zh) 用于管理虚拟场景中权限的方法、装置、设备和存储介质
WO2026001990A1 (zh) 直播方法、装置、设备和介质
WO2026001994A1 (zh) 用于管理直播间的方法、装置、设备和介质
WO2026092459A1 (zh) 直播内容呈现的方法、装置、设备和存储介质
CN121940583A (zh) 直播内容呈现的方法、装置、设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25825922

Country of ref document: EP

Kind code of ref document: A1