Interactive data processing method and apparatus

By creating an RTC channel in the live interactive system to connect with the audience, obtaining and pushing the audience's audio data, the problems of system complexity and high cost in the existing technology are solved, and the optimization of data push is achieved.

CN117354553BActive Publication Date: 2025-10-10SHANGHAI BILIBILI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311434261.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-31
Publication Date
2025-10-10
Estimated Expiration
2043-10-31

AI Technical Summary

Technical Problem

The existing live interactive data streaming system is complex and the cost of real-time data push is high.

Method used

By creating an RTC channel, an interactive connection is established with the audience, the audience's audio data is obtained and encapsulated into a live data stream and pushed to the video cloud, and the audience status is distinguished to optimize data push.

Benefits of technology

It reduces the complexity of the live interactive data streaming system and the cost of real-time data push, and achieves a balance between real-time performance and cost in the live interactive system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117354553B_ABST
    Figure CN117354553B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide an interactive data processing method, applied to a host client, the method comprising: in response to a trigger operation of starting live interaction, creating an RTC channel; in the case that an interactive connection with one or more audience terminals is successfully established through the RTC channel, carrying out live interaction with the one or more audience terminals based on the RTC channel; obtaining audio data corresponding to each of the one or more audience terminals; encapsulating the audio data corresponding to each of the one or more audience terminals and audio and video data corresponding to a live room to obtain a live data stream, and pushing the live data stream to a video cloud. Thus, for the audience participating in live interaction, live interaction is carried out with the audience terminals through the RTC channel, and for the audience not participating in live interaction, the data of the RTC channel and the data of the live room are integrated and pushed to the stream on the host client side, thereby reducing the complexity of the live interactive data pushing system and the cost of real-time pushing data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and in particular to an interactive data processing method, apparatus, computer equipment, and computer-readable storage medium. Background Art

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

[0003] In existing technology, live streamers can invite other streamers or viewers to join the livestream to increase interactivity. To meet the business requirement of allowing streamers to invite multiple people to interact simultaneously, the concepts of session and session are separated. A streamer first creates an interactive session, within which multiple users can be invited to join. The joining and leaving of a single user corresponds to the creation and closing of a session. Based on the abstraction of session and session, after creating a session, a streamer can invite multiple streamers to join the session simultaneously via video or voice. Furthermore, even if the session creator leaves, the session can still exist.

[0004] In the above solution, when a livestreamer uses interactive features, the data processing process involves: the livestreamer's client uses RTC audio and video data as a collection source, combines it with data from other collection sources, and pushes it to the video cloud. Finally, the user pulls the video stream from the video cloud for viewing. However, this method of mixing RTC audio and video data with other collected data and then pushing it to the video cloud requires the business server to consider the state consistency of both systems, increasing system complexity and the cost of real-time data push. Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide an interactive data processing method, apparatus, computer equipment and computer-readable storage medium to solve the following problems: the live interactive data streaming system in the existing solution is relatively complex and the cost of real-time data push is high.

[0006] One aspect of an embodiment of the present application provides an interactive data processing method, which is applied to a host client, and the method includes:

[0007] In response to a trigger operation for starting live interaction, an RTC channel is created;

[0008] When an interactive connection is successfully established with one or more viewer terminals through the RTC channel, performing live interaction with the one or more viewer terminals based on the RTC channel;

[0009] Acquiring audio data corresponding to each of the one or more viewer terminals;

[0010] The audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room are encapsulated to obtain a live broadcast data stream, and the live broadcast data stream is pushed to the video cloud.

[0011] Optionally, after the step of creating an RTC channel in response to the operation of starting live interactive broadcast, the method further includes:

[0012] In response to a trigger operation of inviting one or more audience terminals to join the interaction, sending an invitation interaction message to the one or more audience terminals;

[0013] If a confirmation message is received from the one or more viewer terminals in response to the interactive invitation message, an interactive connection is established with the one or more viewer terminals via the RTC channel.

[0014] Optionally, after the step of creating an RTC channel in response to the operation of starting live interactive broadcast, the method further includes:

[0015] Receive interactive application messages from one or more audience terminals;

[0016] Display the interactive setting interface according to the application interactive message;

[0017] In response to a triggering operation on a confirmation control in the interactive setting interface, an interactive connection is established with the one or more viewer terminals via the RTC channel.

[0018] Optionally, establishing an interactive connection with the one or more viewer terminals through the RTC channel includes:

[0019] Controlling the host client to establish a connection with the RTC server through the RTC channel; and

[0020] Control the one or more viewer terminals to establish a connection with the RTC server terminal through the RTC channel.

[0021] Optionally, the method further includes:

[0022] Receive the audio and video data corresponding to the live broadcast room pushed by the anchor client through the RTC server;

[0023] Acquire audio data corresponding to each of the one or more viewer terminals through the RTC server;

[0024] The RTC server encapsulates the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain an RTC data stream.

[0025] Optionally, the method further includes:

[0026] The one or more audience terminals participating in the live interaction are set to an interactive state; wherein the audience terminals in the interactive state pull the RTC data stream from the RTC server to participate in the live interaction.

[0027] Optionally, the method further includes:

[0028] The audience terminal that joins the live broadcast room is set to the audience state; wherein, the audience terminal in the audience state pulls the live broadcast data stream from the video cloud to watch the live broadcast.

[0029] Optionally, before the step of creating an RTC channel in response to the triggering operation of starting live interaction, the method further includes:

[0030] In response to a trigger operation for opening a live broadcast room, creating a live broadcast room;

[0031] The audio and video data corresponding to the live broadcast room are encapsulated to obtain a live broadcast data stream, and the live broadcast data stream is pushed to the video cloud.

[0032] One aspect of an embodiment of the present application further provides an interactive data processing device, which is applied to a host client, and the device includes:

[0033] An RTC channel creation module is used to create an RTC channel in response to a trigger operation for starting live interaction;

[0034] A live interactive module, configured to, when an interactive connection is successfully established with one or more viewer terminals via the RTC channel, perform live interactive operations with the one or more viewer terminals based on the RTC channel;

[0035] An audio data acquisition module, configured to acquire audio data corresponding to each of the one or more viewer terminals;

[0036] The data streaming module is used to encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain a live data stream, and push the live data stream to the video cloud.

[0037] One aspect of an embodiment of the present application further provides a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned interactive data processing method when executing the computer program.

[0038] One aspect of an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program can be executed by at least one processor so that the at least one processor implements the steps of the interactive data processing method as described above when executing the computer program.

[0039] The interactive data processing method, apparatus, device and computer-readable storage medium provided in the embodiments of the present application create an RTC channel in response to a trigger operation for starting live interaction; when an interactive connection is successfully established with one or more audience terminals through the RTC channel, live interaction is performed with the one or more audience terminals based on the RTC channel; audio data corresponding to each of the one or more audience terminals is obtained; the audio data corresponding to each of the one or more audience terminals and the audio and video data corresponding to the live broadcast room are encapsulated to obtain a live data stream, and the live data stream is pushed to the video cloud. Thus, for the audience participating in the live interaction, live interaction is performed with these audience terminals through the RTC channel, while for the audience not participating in the live interaction, the complexity of the live interactive data streaming system and the cost of real-time data push are reduced by integrating the data of the RTC channel and the data of the live broadcast room on the host client side, so that the live interactive system achieves a balance between real-time performance and cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 The following schematically shows a multi-person interactive model business architecture diagram in the prior art;

[0041] Figure 2 A diagram schematically illustrates an application environment of the interactive data processing method according to an embodiment of the present application;

[0042] Figure 3 The following schematically shows a flow chart of an interactive data processing method according to the first embodiment of the present application;

[0043] Figure 4 The following schematically shows a modular block diagram of the interactive data processing process according to the first embodiment of the present application;

[0044] Figure 5 A block diagram schematically shows an interactive data processing device according to the second embodiment of the present application; and

[0045] Figure 6 The following schematically shows a hardware architecture diagram of a computer device suitable for implementing the interactive data processing method according to the third embodiment of the present application. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solutions and advantages of this application more clear, the present application is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0047] It should be noted that the descriptions of "first", "second", etc. in the embodiments of the present application are for descriptive purposes only and should not be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" or "second" may explicitly or implicitly include at least one of such features. In addition, the technical solutions between the various embodiments can be combined with each other, but this must be based on the fact that they can be implemented by ordinary technicians in this field. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such a combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0048] In the existing technology, in a live broadcast scenario, the host can invite other hosts or viewers to connect with the microphone to increase the interactivity of the live broadcast room. In order to meet the business requirement that the host can invite multiple people to interact at the same time, the concepts of session and conversation are separated. The host first creates an interactive session, and multiple users can be invited to join the session. The joining and leaving of a single user corresponds to the creation and closing of a session. Based on the abstraction of sessions and conversations, the host can invite multiple hosts to connect with video / voice at the same time after creating a session, and even if the creator of the session quits, the session can still exist. Figure 1 Shown is a multi-person interaction model business architecture diagram.

[0049] In the above solution, when a livestreamer uses interactive features, the data processing process involves: the livestreamer's client uses RTC audio and video data as a collection source, combines it with data from other collection sources, and pushes it to the video cloud. Finally, users pull the video stream from the video cloud for viewing. However, this method of mixing RTC audio and video data with other collected data and then pushing it to the video cloud requires the business server to consider the state consistency of two systems (the interactive user system and the viewer user system), which increases system complexity and is not conducive to data maintenance.

[0050] In view of this, the present application aims to propose an interactive data processing method, which is applied to the host client, and creates an RTC channel by responding to a trigger operation to start live interaction; when an interactive connection is successfully established with one or more audience terminals through the RTC channel, live interaction is performed with the one or more audience terminals based on the RTC channel; audio data corresponding to each of the one or more audience terminals is obtained; the audio data corresponding to each audience terminal and the audio and video data corresponding to the live broadcast room are encapsulated to obtain a live data stream, and the live data stream is pushed to the video cloud. Thus, for the audience participating in the live interaction, live interaction is performed with these audience terminals through the RTC channel, while for the audience not participating in the live interaction, the complexity of the live interactive data streaming system and the cost of real-time data push are reduced by integrating the data of the RTC channel and the data of the live broadcast room on the host client, so that the live interactive system achieves a balance between real-time performance and cost.

[0051] This application provides multiple embodiments to further introduce the interactive data processing solution, please refer to the following for details.

[0052] In the description of this application, it should be understood that the numerical labels before the steps do not indicate the order in which the steps are executed. They are only used to facilitate the description of this application and to distinguish each step. Therefore, they cannot be understood as limitations on this application.

[0053] The following is an explanation of the terms used in this application:

[0054] RTC (Real-Time Communications): A broader term for real-time communications, encompassing communication protocol standards such as H323 and SIP private protocols. It covers a complete set of communication standards, including clients, servers, and support systems. Communication formats include real-time voice, video, and text.

[0055] Session: A session is the basic unit of multi-person interaction, usually representing an interactive activity. Sessions are created by hosts, who can apply or invite other hosts to conduct real-time video exchanges.

[0056] Session: A session is the basic unit of a session. Typically, one session is associated with multiple sessions. A user's joining and leaving corresponds to the establishment and termination of a session.

[0057] Channel: The resource identifier that links the anchor to the RTC server. Usually, one session corresponds to one channel. Each channel has a unique channel ID. Users can join the specified channel through the channel ID.

[0058] Figure 2 Schematically shows an environmental application diagram according to an embodiment of the present application. Figure 2 As shown:

[0059] The computer device 10000 can be connected to the client 30000 through the network 20000.

[0060] The computer device 10000 can provide services, such as network debugging, or return interactive data processing result data to the client 30000, etc.

[0061] Computer device 10000 may be located in a data center, such as a single location, or distributed across different geographical locations (e.g., across multiple locations). Computer device 10000 may provide services via one or more networks 20000. Network 20000 includes various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or the like. Network 20000 may include physical links, such as coaxial cable links, twisted pair cable links, fiber optic links, combinations thereof, and the like. Network 20000 may include wireless links, such as cellular links, satellite links, Wi-Fi links, and the like.

[0062] Computer device 10000 can be implemented by one or more computing nodes. One or more computing nodes can include virtualized computing instances. Virtualized computing instances can include virtual machines, such as simulations of computer systems, operating systems, servers, etc. The computing nodes can load virtual machines based on virtual images and / or other data that defines specific software (e.g., operating systems, specialized applications, servers) for simulation. As the demand for different types of processing services changes, different virtual machines can be loaded and / or terminated on one or more computing nodes. A hypervisor can be implemented to manage the use of different virtual machines on the same computing node.

[0063] The client 30000 can be configured to access content and services of the computer device 10000. The client 30000 can include any type of electronic device, such as a mobile device, a tablet device, a laptop computer, a workstation, a virtual reality device, a gaming device, a set-top box, a digital streaming device, a vehicle terminal, a smart TV, a set-top box, etc.

[0064] The client 30000 may output (eg, display, render, present) interactive data processing result data and the like to the user.

[0065] The following describes a network debugging solution through multiple embodiments. The solution can be implemented by the computer device 10000.

[0066] Example 1

[0067] Figure 3The flowchart of the interactive data processing method according to the first embodiment of the present application is schematically shown. Applied to the anchor client, the method includes steps S302-S308, wherein:

[0068] Step S302: In response to a trigger operation for starting live interaction, an RTC channel is created;

[0069] In this embodiment, by running a host client on a terminal device, the host client can provide a graphical user interface on the terminal device. The content displayed in this graphical user interface includes a live broadcast room page. A trigger operation is performed on the live broadcast room page to initiate live broadcast interaction. The trigger operation can include a click, double-click, or long press, etc., which is not specifically limited in this embodiment. The terminal device has a user data collection module. The user data collection module collects the trigger operation performed by the host on the live broadcast room page to initiate live broadcast interaction, responds to the trigger operation to initiate live broadcast interaction, and creates an RTC channel. The RTC channel is used for viewers in the live broadcast room to join the live broadcast interaction.

[0070] Step S304: When an interactive connection is successfully established with one or more viewer terminals via the RTC channel, live interaction is performed with the one or more viewer terminals based on the RTC channel;

[0071] After creating an RTC channel, viewers in the live broadcast room can join the RTC channel to participate in the live broadcast interaction. In practice, there are two ways for viewers to participate in the live broadcast interaction: one is to invite one or more viewers in the live broadcast room to participate in the live broadcast interaction through invitation by the host, and the other is to have viewers in the live broadcast room actively submit applications to participate in the live broadcast interaction.

[0072] In this embodiment, after one or more audience terminals join the RTC channel by actively applying or being invited by the host, the host client is controlled to establish an interactive connection with the one or more audience terminals through the RTC channel. Furthermore, when the host client successfully establishes an interactive connection with the one or more audience terminals through the RTC channel, the host client can conduct live interaction with the one or more audience terminals that have joined the interaction based on the RTC channel. Specifically, the host client and one or more audience terminals respectively establish a connection with the RTC server through the RTC channel to realize the interactive connection between the host client and the one or more audience terminals. The host client and the one or more audience terminals respectively upload real-time audio data and / or video data to the RTC server, and pull real-time audio data and / or video data from the RTC server to realize real-time interaction.

[0073] Step S306, obtaining audio data corresponding to each of the one or more viewer terminals;

[0074] Specifically, based on the RTC channel, audio data corresponding to each of one or more viewer terminals that have joined the interaction may be obtained from the RTC server.

[0075] Step S308: encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and push the live broadcast data stream to the video cloud.

[0076] In this embodiment, when the host client interacts with one or more viewer terminals through an RTC channel in a live broadcast, in order to reduce the cost of real-time data push in the live broadcast room, the live broadcast data stream can be pulled from the video cloud for other viewer terminals not participating in the interaction. The live broadcast data stream is obtained by encapsulating the audio data corresponding to each of the one or more viewer terminals participating in the interaction with the audio and video data corresponding to the live broadcast room, and these live broadcast data streams are pushed to the video cloud. In this way, the viewer terminals not participating in the interaction can pull the live broadcast data stream from the video cloud. These live broadcast data streams contain the real-time audio and video data generated by the live broadcast room and the audio data generated by the interaction of each viewer terminal participating in the interaction.

[0077] Several optional embodiments are provided below to optimize the interactive data processing method, specifically as follows:

[0078] In a preferred embodiment of the present application, after step S302, the method further includes:

[0079] In response to a trigger operation of inviting one or more audience terminals to join the interaction, an invitation interaction message is sent to the one or more audience terminals; if a confirmation message is received from the one or more audience terminals in response to the interaction invitation message, an interactive connection is established with the one or more audience terminals through the RTC channel.

[0080] In this embodiment, one or more audience terminals can be invited to join the live interaction by means of an invitation from the anchor client. Specifically, by displaying an interactive invitation control on the graphical user interface provided by the anchor client, the anchor performs a trigger operation to invite one or more audience terminals to join the interaction through the interactive invitation control, wherein the trigger operation can include operations such as clicking, double-clicking or long pressing, and this embodiment does not impose specific restrictions on this. After the user data acquisition module acquires the trigger operation for inviting one or more audience terminals to join the interaction, it responds to the trigger operation and sends an invitation interaction message to one or more audience terminals. If a confirmation message is received from one or more audience terminals in response to the interactive invitation message, an interactive connection is established with the one or more audience terminals through the RTC channel.

[0081] In a preferred embodiment of the present application, after step S302, the method further includes:

[0082] Receive an application interaction message sent by one or more audience terminals; display an interaction setting interface according to the application interaction message; respond to a trigger operation of a confirmation control in the interaction setting interface, and establish an interactive connection with the one or more audience terminals through the RTC channel.

[0083] In this embodiment, the audience can actively apply to join the live interaction. Specifically, by displaying an interaction application control on the graphical user interface provided by the audience, the audience applies to join the interaction through the interaction application control. After receiving the application interaction message sent by one or more audience terminals, the anchor client displays the interaction setting interface according to the application interaction message. If the anchor agrees to these audiences to join the interaction, the trigger operation can be performed through the confirmation control in the interaction setting interface, wherein the trigger operation can include operations such as clicking, double-clicking or long pressing, and this embodiment does not impose specific restrictions on this. After the user data acquisition module collects the trigger operation acting on the confirmation control in the interaction setting interface, it responds to the trigger operation and establishes an interactive connection with one or more audience terminals through the RTC channel.

[0084] In a preferred embodiment of the present application, establishing an interactive connection with the one or more viewer terminals via the RTC channel includes:

[0085] Control the anchor client to establish a connection with the RTC server through the RTC channel; and control the one or more viewer terminals to establish a connection with the RTC server through the RTC channel.

[0086] In an embodiment, the interactive connection between the host client and the RTC server is achieved by controlling the host client to establish a connection with the RTC server through the RTC channel; and controlling one or more viewer terminals to establish a connection with the RTC server through the RTC channel respectively.

[0087] In a preferred embodiment of the present application, the method further includes:

[0088] The audio and video data corresponding to the live broadcast room pushed by the anchor client is received through the RTC server; the audio data corresponding to each of the one or more viewer terminals is obtained through the RTC server; the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room are encapsulated through the RTC server to obtain an RTC data stream.

[0089] In this embodiment, after the anchor client and one or more audience terminals establish connections with the RTC server respectively, the audio and video data corresponding to the live broadcast room pushed by the anchor client are received through the RTC server, and the audio data corresponding to each of the one or more audience terminals are obtained, and the audio data corresponding to each audience terminal and the audio and video data corresponding to the live broadcast room are encapsulated to obtain the RTC data stream, so that the audience terminals joining the live broadcast interaction can directly realize the live broadcast interaction by pulling the RTC data stream from the RTC server.

[0090] In a preferred embodiment of the present application, the method further includes:

[0091] The one or more audience terminals participating in the live interaction are set to an interactive state; wherein the audience terminals in the interactive state pull the RTC data stream from the RTC server to participate in the live interaction.

[0092] In this embodiment, after the audience joins the live interaction, one or more audience terminals participating in the live interaction can be set to an interactive state; wherein the audience terminals in the interactive state pull the RTC data stream from the RTC server to participate in the live interaction.

[0093] In a preferred embodiment of the present application, the method further includes:

[0094] The audience terminal that joins the live broadcast room is set to the audience state; wherein, the audience terminal in the audience state pulls the live broadcast data stream from the video cloud to watch the live broadcast.

[0095] In this embodiment, after the audience joins the live broadcast room, the audience terminal that joins the live broadcast room is set to the audience state; wherein, the audience terminal in the audience state pulls the live broadcast data stream from the video cloud to watch the live broadcast.

[0096] That is to say, based on whether the user participates in the live broadcast interaction, the user is divided into the audience state and the interactive state. The audience end in the interactive state does not pull the video cloud video stream, but pulls the RTC data stream from the RTC server through the RTC channel; the audience end in the audience state does not join the RTC channel, but pulls the live broadcast data stream from the video cloud.

[0097] In a preferred embodiment of the present application, before step S302, the method further includes:

[0098] In response to a trigger operation to open a live broadcast room, a live broadcast room is created; audio and video data corresponding to the live broadcast room are encapsulated to obtain a live broadcast data stream, and the live broadcast data stream is pushed to the video cloud.

[0099] In this embodiment, a control for opening a live broadcast room is provided on the graphical user interface provided by the anchor client. The anchor can trigger the live broadcast room by performing a trigger operation on the control. The trigger operation may include a click, a double-click, or a long press, and this embodiment does not impose any specific restrictions on this. After the user data collection module receives the trigger operation for opening the live broadcast room, it responds to the trigger operation to create the live broadcast room, and then collects and encapsulates the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and pushes the live broadcast data stream to the video cloud so that the audience can pull the live broadcast data stream from the video cloud to watch the live broadcast.

[0100] As an example, Figure 4 This diagram shows a modular block diagram of the interactive data processing process, taking the example of an audience applying to join the interaction. By dividing the audience into two different states: audience state and interactive state, the host's streaming is divided into two parts: one is pushing the stream to the video cloud, and the other is pushing the stream to the RTC server. The process is as follows:

[0101] 1. The host pushes the stream to the video cloud;

[0102] 2. Viewers in viewer mode pull videos from the video cloud for viewing;

[0103] 3.0 The audience sends a request to join the interaction to the business server;

[0104] 3.1 The business server pushes the application to the anchor;

[0105] 3.2 The host agrees to the audience's application;

[0106] 4. When a viewer joins the RTC channel, their status is changed to interactive. The interactive viewer pulls data from the RTC for real-time interaction.

[0107] 4. When the viewer leaves the RTC channel, the viewer's status is adjusted to viewer status.

[0108] This embodiment integrates and streams the data of two systems (RTC server and video cloud) on the host side, and divides the audience into different states based on whether they participate in the live interaction. The audience in the interactive state pulls data from the RTC for interaction, and the audience in the non-interactive state pulls the video for viewing from the video cloud. This reduces the complexity of the live interactive data streaming system and the cost of real-time data push, so that the live interactive system achieves a balance between real-time performance and cost.

[0109] Example 2

[0110] Figure 5A block diagram of an interactive data processing device according to a second embodiment of the present application is schematically shown. The interactive data processing device can be divided into one or more program modules, one or more of which are stored in a storage medium and executed by one or more processors to implement the embodiment of the present application. The program modules referred to in the embodiment of the present application are a series of computer program instruction segments that can perform specific functions. The following description will specifically introduce the functions of each program module in the embodiment of the present application.

[0111] like Figure 5 As shown, the interactive data processing device 500 may include the following modules:

[0112] An RTC channel creation module 510 is configured to create an RTC channel in response to a trigger operation for starting live interaction;

[0113] A live interactive module 520 is configured to, when an interactive connection is successfully established with one or more viewer terminals via the RTC channel, perform live interactive operations with the one or more viewer terminals based on the RTC channel;

[0114] An audio data acquisition module 530 is configured to acquire audio data corresponding to each of the one or more viewer terminals;

[0115] The data streaming module 540 is used to encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and push the live broadcast data stream to the video cloud.

[0116] In a preferred embodiment of the present application, it further includes:

[0117] An invitation interaction message sending module is used to send an invitation interaction message to one or more audience terminals in response to a triggering operation of inviting one or more audience terminals to join the interaction;

[0118] The first interactive connection establishing module is configured to establish an interactive connection with the one or more viewer terminals via the RTC channel if a confirmation message is received from the one or more viewer terminals in response to the interactive invitation message.

[0119] In a preferred embodiment of the present application, the device may further include the following modules:

[0120] An application interaction message receiving module is used to receive application interaction messages sent by one or more audience terminals;

[0121] An interactive setting interface display module, configured to display an interactive setting interface according to the application interactive message;

[0122] The second interactive connection establishing module is used to respond to the triggering operation of the confirmation control in the interactive setting interface and establish an interactive connection with the one or more viewer terminals through the RTC channel.

[0123] In a preferred embodiment of the present application, the first interactive connection establishing module and the second interactive connection establishing module include:

[0124] A first connection submodule is configured to control the host client to establish a connection with the RTC server via the RTC channel; and

[0125] The second connection submodule is used to control the one or more viewer terminals to establish a connection with the RTC server terminal through the RTC channel.

[0126] In a preferred embodiment of the present application, the device further comprises:

[0127] The RTC server is used to receive the audio and video data corresponding to the live broadcast room pushed by the anchor client;

[0128] The RTC server is configured to obtain audio data corresponding to each of the one or more viewer terminals;

[0129] The RTC server is used to encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain an RTC data stream.

[0130] In a preferred embodiment of the present application, the device further comprises:

[0131] The interactive state setting module is used to set the one or more audience terminals participating in the live interaction to the interactive state; wherein the audience terminals in the interactive state pull the RTC data stream from the RTC server to participate in the live interaction.

[0132] In a preferred embodiment of the present application, the device further comprises:

[0133] The audience status setting module is used to set the audience terminal that joins the live broadcast room to the audience status; wherein the audience terminal in the audience status pulls the live broadcast data stream from the video cloud to watch the live broadcast.

[0134] In a preferred embodiment of the present application, the device further comprises:

[0135] A live broadcast room creation module, configured to create a live broadcast room in response to a trigger operation for opening a live broadcast room;

[0136] The second data streaming module is used to encapsulate the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and push the live broadcast data stream to the video cloud.

[0137] Example 3

[0138] Figure 6 The schematic diagram of the hardware architecture of a computer device 10000 suitable for implementing the interactive data processing method according to the third embodiment of the present application is shown. In this embodiment, the computer device 10000 is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions. For example, it can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a rack server, a blade server, a tower server or a cabinet server (including a FEN independent server, or a server cluster composed of multiple servers), etc. Figure 6 As shown, the computer device 10000 includes at least but is not limited to: a memory 10010, a processor 10020, and a network interface 10030 that can communicate with each other via a system bus.

[0139] The memory 10010 includes at least one type of computer-readable storage medium, including flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic storage, a magnetic disk, an optical disk, etc. In some embodiments, the memory 10010 may be an internal storage module of the computer device 10000, such as a hard disk or memory of the computer device 10000. In other embodiments, the memory 10010 may also be an external storage device of the computer device 10000, such as a plug-in hard disk equipped on the computer device 10000, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Of course, the memory 10010 may also include both the internal storage module of the computer device 10000 and its external storage device. In this embodiment, the memory 10010 is generally used to store the operating system and various application software installed on the computer device 10000, such as program code of the interactive data processing method, etc. In addition, the memory 10010 can also be used to temporarily store various data that has been output or is to be output.

[0140] In some embodiments, processor 10020 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip. Processor 10020 is typically used to control the overall operation of computer device 10000, such as performing control and processing related to data exchange or communication with computer device 10000. In this embodiment, processor 10020 is used to execute program code stored in memory 10010 or process data.

[0141] The network interface 10030 may include a wireless network interface or a wired network interface. The network interface 10030 is generally used to establish a communication link between the computer device 10000 and other computer devices. For example, the network interface 10030 is used to connect the computer device 10000 to an external terminal via a network, and to establish a data transmission channel and a communication link between the computer device 10000 and the external terminal. The network may be a wireless or wired network such as an intranet, the Internet, the Global System of Mobile Communications (GSM), Wideband Code Division Multiple Access (WCDMA), a 4G network, a 5G network, Bluetooth, or Wi-Fi.

[0142] It should be pointed out that Figure 6 Only a computer device having components 10010 - 10030 is shown, but it should be understood that implementation of all of the shown components is not a requirement, and greater or fewer components may alternatively be implemented.

[0143] In this embodiment, the interactive data processing method stored in the memory 10010 can also be divided into one or more program modules and executed by one or more processors (processor 10020 in this embodiment) to complete the embodiment of the present application.

[0144] Example 4

[0145] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the interactive data processing method in the embodiment are implemented.

[0146] In this embodiment, the computer-readable storage medium includes flash memory, hard disks, multimedia cards, card-type memories (e.g., SD or DX memories), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disks, optical disks, etc. In some embodiments, the computer-readable storage medium may be an internal storage unit of a computer device, such as the hard disk or memory of the computer device. In other embodiments, the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk equipped with the computer device, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Of course, the computer-readable storage medium may also include both the internal storage unit of the computer device and its external storage device. In this embodiment, the computer-readable storage medium is generally used to store the operating system and various application software installed on the computer device, such as the program code of the interactive data processing method in the embodiment. In addition, the computer-readable storage medium may also be used to temporarily store various types of data that have been output or are about to be output.

[0147] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present application can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, optionally, they can be implemented using program code executable by the computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0148] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. An interactive data processing method, characterized in that: Applied to the anchor client, the method includes: In response to a trigger operation for starting live interaction, an RTC channel is created; When an interactive connection is successfully established with one or more viewer terminals through the RTC channel, performing live interaction with the one or more viewer terminals based on the RTC channel; Acquiring audio data corresponding to each of the one or more viewer terminals; Encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and push the live broadcast data stream to the video cloud; The method further comprises: Receive the audio and video data corresponding to the live broadcast room pushed by the anchor client through the RTC server; Acquire audio data corresponding to each of the one or more viewer terminals through the RTC server; The RTC server encapsulates the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain an RTC data stream; The method further comprises: The audience terminal that joins the live broadcast room is set to the audience state; wherein, the audience terminal in the audience state pulls the live broadcast data stream from the video cloud to watch the live broadcast.

2. The interactive data processing method according to claim 1, characterized in that: After the step of creating an RTC channel in response to the operation of starting live interaction, the method further includes: In response to a trigger operation of inviting one or more audience terminals to join the interaction, sending an invitation interaction message to the one or more audience terminals; If a confirmation message is received from the one or more viewer terminals in response to the interactive invitation message, an interactive connection is established with the one or more viewer terminals via the RTC channel.

3. The interactive data processing method according to claim 1, characterized in that: After the step of creating an RTC channel in response to the operation of starting live interaction, the method further includes: Receive interactive application messages from one or more audience terminals; Display the interactive setting interface according to the application interactive message; In response to a triggering operation on a confirmation control in the interactive setting interface, an interactive connection is established with the one or more viewer terminals via the RTC channel.

4. The interactive data processing method according to claim 2 or 3, characterized in that: Establishing an interactive connection with the one or more viewer terminals through the RTC channel includes: Controlling the host client to establish a connection with the RTC server through the RTC channel; and Control the one or more viewer terminals to establish a connection with the RTC server terminal through the RTC channel.

5. The interactive data processing method according to claim 1, characterized in that: The method further comprises: The one or more audience terminals participating in the live interaction are set to an interactive state; wherein the audience terminals in the interactive state pull the RTC data stream from the RTC server to participate in the live interaction.

6. The interactive data processing method according to claim 1, characterized in that: Before the step of creating an RTC channel in response to the triggering operation of starting live interaction, the method further includes: In response to a trigger operation for opening a live broadcast room, creating a live broadcast room; The audio and video data corresponding to the live broadcast room are encapsulated to obtain a live broadcast data stream, and the live broadcast data stream is pushed to the video cloud.

7. An interactive data processing device, characterized in that: Applied to a host client, the device includes: An RTC channel creation module is used to create an RTC channel in response to a trigger operation for starting live interaction; A live interactive module, configured to, when an interactive connection is successfully established with one or more viewer terminals via the RTC channel, perform live interactive operations with the one or more viewer terminals based on the RTC channel; An audio data acquisition module, configured to acquire audio data corresponding to each of the one or more viewer terminals; The data push stream module is used to encapsulate the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain a live broadcast data stream, and push the live broadcast data stream to the video cloud; The device is also used for: Receive the audio and video data corresponding to the live broadcast room pushed by the anchor client through the RTC server; Acquire audio data corresponding to each of the one or more viewer terminals through the RTC server; The RTC server encapsulates the audio data corresponding to each viewer terminal and the audio and video data corresponding to the live broadcast room to obtain an RTC data stream; The device is also used for: The audience terminal that joins the live broadcast room is set to the audience state; wherein, the audience terminal in the audience state pulls the live broadcast data stream from the video cloud to watch the live broadcast.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, it is used to implement the steps of the interactive data processing method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which can be executed by at least one processor to enable the at least one processor to perform the steps of the interactive data processing method according to any one of claims 1 to 6.

10. A computer program product comprising computer instructions, characterized in that: When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Live streaming interaction method and system, server and storage medium

    CN112565802A