Chorus method and device and storage medium
By allocating choral roles and non-choral role clients in the live broadcast room, and cache and align multimedia streaming data of choral role clients on the non-choral role clients, the problem of inconsistent delay time of multiple people in the live broadcast room is solved, and a synchronous choral effect and improved live broadcast experience is achieved.
Patent Information
- Application Number
- CN202311873350.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-01
AI Technical Summary
When performing multi-person chorus in the live broadcast room, due to network and device performance factors, the multimedia streaming data delay is inconsistent, and the good chorus effect cannot be presented, which cannot meet the needs of multi-person chorus in the chat room.
By dividing the clients participating in the live broadcast connection into a chorus role client and a non-chorus role client, the non-chorus role client receives multimedia streaming data from other clients, caches and aligns the multimedia streaming data of the chorus role client to ensure that the chorus effect is presented on the non-chorus role client.
The synchronous effect of multi-person chorus in the live broadcast room is achieved, which meets the needs of multi-person chorus in the chat room, improves the online experience of the live broadcast room, and allows normal real-time interaction between non-chorus role clients.
Smart Images

Figure CN120238669A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the technical field of computers and network communications, and in particular, to a chorus method, device, and storage medium. Background Art
[0002] Currently, in live video or voice chat rooms and other types of live chat rooms, the host can conduct real-time live chat interactions by establishing a co-hosting session with guests, so that the audience in the live chat room can watch the co-hosting interaction content.
[0003] In one scenario, the host or guest participating in the live co-hosting can sing a song, while other co-hosting users usually do not participate in singing. If multiple people want to sing in chorus, due to factors such as network and device performance, there may be a certain delay in receiving the multimedia stream data of other parties by any party, and the delays may also be uneven, resulting in a poor chorus effect and unable to meet the needs of multi-person chorus in the chat room. Summary of the Invention
[0004] Embodiments of the present disclosure provide a chorus method, device, and storage medium to achieve chorus in a live chat room and meet the needs of multi-person chorus in the chat room.
[0005] In a first aspect, embodiments of the present disclosure provide a chorus method, which is applied to a first non-chorus role client participating in a live co-hosting. The method includes:
[0006] Receiving multimedia stream data of other clients participating in the live co-hosting except the first non-chorus role client;
[0007] Caching the multimedia stream data of the chorus role clients in the multimedia stream data of the other clients;
[0008] Aligning and playing the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client.
[0009] In a second aspect, embodiments of the present disclosure provide a chorus method, which is applied to a lead singer role client participating in a live co-hosting. The method includes:
[0010] Receiving multimedia stream data of other clients participating in the live co-hosting except the lead singer role client, and playing the multimedia stream data of the other clients in mute;
[0011] Collecting the multimedia stream data of the lead singer role client during the singing process, and adding time information to the multimedia stream data of the lead singer role client according to the singing progress;
[0012] Real - time transmit the multimedia stream data of the lead - singer role client with added time information to the other clients.
[0013] Thirdly, an embodiment of the present disclosure provides a chorus method, which is applied to the first backup - singer role client participating in live connection for duet. The method includes:
[0014] Receive the multimedia stream data of other clients except the first backup - singer role client participating in the live connection for duet;
[0015] Play the multimedia stream data of the lead - singer role client in the multimedia stream data of the other clients, and play the multimedia stream data of the non - chorus role clients and each second backup - singer role client under mute;
[0016] Collect the multimedia stream data of the first backup - singer role client during the process of following the lead singer's singing, and add time information to the multimedia stream data of the first backup - singer role client according to the singing progress;
[0017] Real - time transmit the multimedia stream data of the first backup - singer role client with added time information to the other clients.
[0018] Fourthly, an embodiment of the present disclosure provides a chorus device, including:
[0019] A receiving unit, configured to receive the multimedia stream data of other clients except the first non - chorus role client participating in the live connection for duet;
[0020] A processing unit, configured to cache the multimedia stream data of the chorus role client in the multimedia stream data of the other clients;
[0021] A playing unit, configured to play the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client.
[0022] Fifthly, an embodiment of the present disclosure provides a chorus device, including:
[0023] A receiving unit, configured to receive the multimedia stream data of clients except the lead - singer role client participating in the live connection for duet;
[0024] A playing unit, configured to play the multimedia stream data of the other clients under mute;
[0025] An acquisition unit, configured to collect the multimedia stream data of the lead - singer role client during the singing process, and add time information to the multimedia stream data of the lead - singer role client according to the singing progress;
[0026] A sending unit, configured to transmit in real time the multimedia stream data of the leading singer role client with added time information to each of the other clients participating in the co-hosting.
[0027] In a sixth aspect, an embodiment of the present disclosure provides a chorus device, including:
[0028] A receiving unit, configured to receive the multimedia stream data of other clients except the first backup singer role client participating in the live co-hosting;
[0029] A playing unit, configured to play the multimedia stream data of the leading singer role client in the multimedia stream data of the other clients, and play the multimedia stream data of the non-chorus role clients and each second backup singer role client in a muted state;
[0030] An acquisition unit, configured to acquire the multimedia stream data of the first backup singer role client during the process of following the lead singer's singing, and add time information to the multimedia stream data of the first backup singer role client according to the singing progress;
[0031] A sending unit, configured to transmit in real time the multimedia stream data of the first backup singer role client with added time information to the other clients.
[0032] In a seventh aspect, an embodiment of the present disclosure provides an electronic device, including: at least one processor and a memory;
[0033] The memory stores computer-executable instructions;
[0034] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the chorus method described in the first aspect and various possible designs of the first aspect, or the chorus method described in the second aspect and various possible designs of the second aspect, or the chorus method described in the third aspect and various possible designs of the third aspect.
[0035] In an eighth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the chorus method described in the first aspect and various possible designs of the first aspect, or the chorus method described in the second aspect and various possible designs of the second aspect, or the chorus method described in the third aspect and various possible designs of the third aspect is implemented.
[0036] In a ninth aspect, an embodiment of the present disclosure provides a computer program product, including computer-executable instructions. When a processor executes the computer-executable instructions, the chorus method described in the first aspect above and various possible designs of the first aspect, or the chorus method described in the second aspect and various possible designs of the second aspect, or the chorus method described in the third aspect and various possible designs of the third aspect are implemented.
[0037] For the chorus method, device, and storage medium provided by the embodiments of the present disclosure, the first non-chorus role client participating in the live connection receives multimedia stream data of other clients except the first non-chorus role client participating in the live connection; caches the multimedia stream data of the chorus role clients in the multimedia stream data of other clients; and plays the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client. By caching and aligning the multimedia stream data of the chorus role clients on the non-chorus role client participating in the live connection, the chorus effect can be ensured to be presented on the non-chorus role client participating in the connection, meeting the needs of multi-person chorus in the live broadcast room, improving the connection experience in the live broadcast room, and since only the multimedia stream data of the chorus role clients is processed as described above, normal real-time interaction between non-chorus role clients can also be carried out on this basis without being affected by the chorus. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following-described drawings are some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0039] Figure 1 It is a scenario example diagram of the chorus method provided by an embodiment of the present disclosure;
[0040] Figure 2 It is a schematic flowchart of the chorus method provided by an embodiment of the present disclosure;
[0041] Figure 3 It is a schematic diagram of the chorus method provided by an embodiment of the present disclosure;
[0042] Figure 4 It is a schematic flowchart of the chorus method provided by another embodiment of the present disclosure;
[0043] Figure 5 It is a schematic flowchart of the chorus method provided by another embodiment of the present disclosure;
[0044] Figure 6Block diagram of a chorus device provided by an embodiment of the present disclosure;
[0045] Figure 7 Block diagram of a chorus device provided by another embodiment of the present disclosure;
[0046] Figure 8 Block diagram of a chorus device provided by another embodiment of the present disclosure;
[0047] Figure 9 Schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present disclosure. Detailed implementation manners
[0048] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are some but not all of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
[0049] In a scenario, the host or guest in the live broadcast room can sing a song, while other users who are connected by link usually do not participate in the singing. If a multi-person chorus is to be carried out, due to factors such as the network and device performance, there may be a certain delay in receiving the multimedia stream data of other parties by any party, and the delays may also be uneven. From the perspective of non-chorus parties or the audience, the progress of each singing party may be different, and a good chorus effect cannot be presented, failing to meet the needs of multi-person chorus in the live broadcast room.
[0050] To solve the above technical problems, the client participating in the live broadcast link in the embodiments of the present disclosure can be divided into a chorus role client and a non-chorus role client from the perspective of roles. The chorus role client can include a lead singer (or main singer) role client and a backup singer role client.
[0051] Among them, after receiving the multimedia stream data of other clients participating in the live broadcast link except this non-chorus role client, the non-chorus role client participating in the live broadcast link can perform caching and alignment operations on the multimedia stream data of the chorus role client, which can ensure that a chorus effect is presented on the non-chorus role client participating in the link, meet the needs of multi-person chorus in the live broadcast room, improve the link experience in the live broadcast room, and since only the multimedia stream data of the chorus role client is processed as described above, normal real-time interaction between non-chorus role clients can also be carried out on this basis without being affected by the chorus.
[0052] After receiving the multimedia stream data of other clients except the leading singer role client participating in the live connection for a duet, the leading singer role client plays the multimedia stream data of each other client under mute; collects the local multimedia stream data during the singing process, and adds time information to the local multimedia stream data according to the singing progress; and transmits the local multimedia stream data with added time information to each other client in real time, realizing the leading singer function on the local side, without being interfered by each other client participating in the duet. At the same time, its local multimedia stream data also provides a chorus basis for the backup singer role client, enabling the backup singer role client users to sing along, and it is also convenient for non-chorus role clients to perform caching and alignment operations through adding time information.
[0053] After receiving the multimedia stream data of other clients except the backup singer role client participating in the live connection for a duet, the backup singer role client plays the multimedia stream data of the leading singer role client in the multimedia stream data of other clients, and plays the multimedia stream data of non-chorus role clients and other backup singer role clients under mute; collects the local multimedia stream data during the process of following the lead singer's singing, and adds time information to the local multimedia stream data according to the singing progress; and transmits the local multimedia stream data with added time information to each other client participating in the duet in real time, enabling the backup singer to sing along with the lead singer without being interfered by each other client participating in the duet. At the same time, it is also convenient for non-chorus role clients to perform caching and alignment operations through adding time information.
[0054] The chorus method provided in the above embodiments is applied to a scenario as Figure 1 shown. The live broadcast room can be a video live broadcast room or a voice live broadcast room. From the perspective of roles, the live broadcast room can include clients participating in the connection for a duet and audience clients not participating in the connection for a duet. Among the clients participating in the connection for a duet, there are chorus role clients and non-chorus role clients. The chorus role clients are the clients participating in the chorus of the connection for a duet, and can include leading singer (or main singer) role clients and backup singer role clients. The non-chorus role clients, leading singer role clients, and backup singer role clients participating in the connection for a duet can respectively execute the corresponding chorus method in the live broadcast room.
[0055] It should be noted that the user information and data involved in this application are all information and data authorized by users or fully authorized by all parties. And the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.
[0056] Next, the chorus method of the present disclosure will be introduced in detail in combination with specific embodiments.
[0057] Refer to Figure 2 , Figure 2Schematic diagram of the chorus method provided by an embodiment of the present disclosure. In the chorus scenario of the live broadcast room, the live broadcast room can be a video live broadcast room or a voice live broadcast room. From the perspective of the roles, the live broadcast room can include a client participating in the co-hosting and an audience client not participating in the co-hosting. Among them, the client participating in the co-hosting includes a chorus role client and a non-chorus role client. The chorus role client is the client participating in the co-hosting chorus, and can include a lead singer (or main singer) role client and a backup singer role client. From another perspective, the live broadcast room can include a host client and a guest client participating in the co-hosting, and an audience client not participating in the co-hosting. Among them, the host client and the guest client can be any of the above roles (where there is only one lead singer role client. If the host client or a certain guest client is the lead singer role client, other clients participating in the co-hosting cannot be the lead singer role client).
[0058] The chorus method of this embodiment can be applied to the first non-chorus role client participating in the live co-hosting. The first non-chorus role client is any one of the non-chorus role clients participating in the live co-hosting. The chorus method includes:
[0059] S201. Receive the multimedia stream data of other clients participating in the live co-hosting except the first non-chorus role client.
[0060] In this embodiment, each client participating in the live co-hosting can receive the multimedia stream data of other clients except itself, but different roles process the multimedia stream data of other clients differently. Each client participating in the co-hosting can upload its own multimedia stream data to the server. Through the server, each client participating in the co-hosting can receive the multimedia stream data of other clients.
[0061] For the first non-chorus role client, it can receive the multimedia stream data of the chorus role client, including the multimedia stream data of the lead singer role client and the multimedia stream data of the backup singer role client.
[0062] In addition, if there are multiple non-chorus role clients participating in the live co-hosting, the first non-chorus role client can also receive the multimedia stream data of other second non-chorus role clients.
[0063] Among them, in the video live broadcast room, the multimedia stream data can be audio-video stream data; in the voice live broadcast room, the media stream data can be audio stream data.
[0064] S202. Cache the multimedia stream data of the chorus role client in the multimedia stream data of other clients.
[0065] In this embodiment, since the backup singer role client needs to sing following the multimedia stream data of the lead singer role client, there is a certain lag in the multimedia stream data of the backup singer role client compared to that of the lead singer role client. For example, Figure 3 as shown, the multimedia stream data of the lead singer role client has reached the 10th second of the song, corresponding to Figure 3 the gray part of the multimedia stream data of the lead singer role client in the figure, while the multimedia stream data of backup singer role client 1 may only have reached the 8th second of the song, corresponding to Figure 3 the gray part of the multimedia stream data of backup singer role client 1 in the figure, and the singing progress of the multimedia stream data of different backup singer role clients may also be different. The multimedia stream data of another backup singer role client 2 may have reached the 9th second of the song, corresponding to Figure 3 the gray part of the multimedia stream data of backup singer role client 2 in the figure. In order to present a chorus effect on the non-chorus role client, the non-chorus role client can cache the multimedia stream data of the chorus role client for the following alignment operation.
[0066] For the multimedia stream data of other second non-chorus role clients, since it has nothing to do with the chorus and no alignment operation is required, there is no need for caching, but it can be directly played in real time after receiving the multimedia stream data of other second non-chorus role clients.
[0067] S203. According to the time information included in the multimedia stream data of each chorus role client, align the multimedia stream data of each chorus role client and then play it.
[0068] In this embodiment, for the convenience of the non-chorus role client to perform alignment, each chorus role client can respectively add time information to its own multimedia stream data, such as the singing progress corresponding to each frame. For the multimedia stream data of each chorus role client cached by the first non-chorus role client, it can align the multimedia stream data of each chorus role client based on the time information included in the multimedia stream data of each chorus role client and then play it. In this embodiment, the alignment method is not limited and any known method can be used.
[0069] Optionally, the first non-chorus role client may obtain multimedia data with the same singing progress from the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client for synchronous rendering and / or playing. For example, the multimedia data corresponding to the singing progress of 0.1 second is respectively obtained from the multimedia stream data of each chorus role client for synchronous rendering and / or playing, and then the multimedia data corresponding to the singing progress of 0.2 second is respectively obtained for synchronous rendering and / or playing, and so on, so as to achieve the alignment of the multimedia stream data of each chorus role client on the first non-chorus role client and present a chorus effect.
[0070] In the chorus method of this embodiment, the first non-chorus role client participating in the live connection receives the multimedia stream data of other clients other than the first non-chorus role client participating in the live connection; caches the multimedia stream data of the chorus role clients in the multimedia stream data of other clients; and plays the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client. By caching and aligning the multimedia stream data of the chorus role clients on the non-chorus role client participating in the live connection, it is possible to ensure that a chorus effect is presented on the non-chorus role client participating in the live connection, meet the needs of multi-person chorus in the live broadcast room, improve the connection experience in the live broadcast room, and since only the multimedia stream data of the chorus role clients is processed as described above, normal real-time interaction between non-chorus role clients can also be carried out on this basis without being affected by the chorus.
[0071] Based on any of the above embodiments, since only the multimedia stream data of the chorus role in the multimedia stream data of each other client participating in the live connection is cached, aligned, and played, and the multimedia stream data of other second non-chorus role clients in the multimedia stream data of other clients can be played in real time, such as Figure 3As shown in [figure reference], the first non-chorus role client can thus hear in real time, or hear and see in real time, the content of the multimedia stream data of other second non-chorus role clients; in addition, the first non-chorus role client can also collect the multimedia stream data of its own first non-chorus role client and transmit it in real time to each of the other clients participating in the voice connection. Similarly, the other second non-chorus role clients can also play the received multimedia stream data of the first non-chorus role client in real time, thus ensuring normal real-time interaction between non-chorus role clients. The chorus role client can play the received multimedia stream data of the first non-chorus role client in mute, so that the multimedia stream data of the first non-chorus role client does not affect the singing of the users of the chorus role client. The transmission process can be implemented through the server or through other means, which is not limited in this embodiment.
[0072] Based on any of the above embodiments, since the first non-chorus role client can be a guest client of the non-chorus role or a host client of the non-chorus role, if the first non-chorus role client is a guest client of the non-chorus role, the processing procedure of the above embodiment can be executed; if the first non-chorus role client is a host client of the non-chorus role, in addition to the processing procedure of the above embodiment, the following procedure needs to be executed:
[0073] Merge the multimedia stream data of each chorus role client after alignment, the multimedia stream data of other non-chorus role clients participating in the voice connection, and the multimedia stream data of the first non-chorus role client, and transmit the merged multimedia stream data to the viewer client.
[0074] In this embodiment, since the host client is also responsible for pushing the live stream of the live broadcast room to the viewer client, for the host client of the first non-chorus role, the multimedia stream data of each chorus role client after alignment, the multimedia stream data of other non-chorus role clients participating in the voice connection, and its own multimedia stream data can be merged, and the merged multimedia stream data can be transmitted to the viewer client, so that the viewer client can also hear the chorus effect and at the same time hear the normal real-time interaction between non-chorus role clients.
[0075] Based on any of the above embodiments, during the chorus, the first non-chorus role client can also join the chorus, that is, switch from the non-chorus role to the backup singer role (since the lead singer role client already exists, the non-chorus role generally cannot directly switch to the lead singer role). There may be a control for joining the chorus set in the live broadcast room interface of the first non-chorus role client. The user can trigger the join chorus instruction by triggering the control for joining the chorus, and then the non-chorus role client switches to the backup singer role client. Correspondingly, the above processing procedure of the first non-chorus role client is no longer executed, but the processing procedure of the backup singer role client is executed, which is specifically as follows:
[0076] In response to the join chorus instruction, perform a role switch, switching from the non-chorus role to the backup singer role;
[0077] Play the multimedia stream data of the lead singer role client in the multimedia stream data of each other client participating in the live connection, and play the multimedia stream data of the second non-chorus role client and other backup singer role clients in mute;
[0078] Collect the local multimedia stream data during the process of following the lead singer's singing, and add time information to the local multimedia stream data according to the singing progress;
[0079] Transmit the local multimedia stream data with added time information to each other client participating in the connection in real time.
[0080] Among them, for the processing procedure after switching to the backup singer role, reference can be made to the embodiment of the live broadcast room chorus method on the backup singer role client side below, and details are not described here.
[0081] In addition, at the end of the chorus, or when receiving the chorus end instruction from the lead singer role client or the anchor client, the first non-chorus role client can resume the regular connection process, that is, no longer cache and align the multimedia stream data of the chorus role client, but can play the multimedia stream data of each other client participating in the live connection in the live broadcast room in real time.
[0082] In addition, if the first non-chorus role client exits the connection, it can be switched to the viewer client or exit the live broadcast room, which is not described in detail here.
[0083] Reference Figure 4 , Figure 4 is a schematic flowchart of the chorus method provided by an embodiment of the present disclosure. The method of this embodiment can be applied to the lead singer role client participating in the live connection. The chorus method includes:
[0084] S301. Receive the multimedia stream data of other clients except the lead singer role client participating in the live connection, and play the multimedia stream data of other clients in mute.
[0085] In this embodiment, for the lead singer role client, it can receive the multimedia stream data of the backup singer role client; in addition, if there are non-chorus role clients participating in the connection in the live room, it can also receive the multimedia stream data of the non-chorus role clients. In order to avoid the playback of the multimedia stream data of other clients except the lead singer role client from interfering with the singing of the user of the lead singer role client, the multimedia stream data of other clients can be played in mute. Specifically, in a video live room (such as a video live room), only the video picture of the multimedia stream data can be played, and the audio is muted; in a voice live room (such as a voice live room), the audio can be muted.
[0086] S302. Collect the multimedia stream data of the lead singer role client during the singing process, and add time information to the multimedia stream data of the lead singer role client according to the singing progress.
[0087] In this embodiment, the lead singer role client can collect the multimedia stream data of the lead singer role client of the local user during the singing process. Optionally, the multimedia stream data of the lead singer role client may also include accompaniment.
[0088] In order to facilitate other clients such as non-chorus role clients to align and present a chorus effect, the lead singer role client can add time information to the multimedia stream data of the lead singer role client, such as the singing progress corresponding to each frame, which can be represented by a timestamp or a percentage. Optionally, the time information can be obtained according to the playback progress of the accompaniment.
[0089] S303. Transmit the multimedia stream data of the lead singer role client with added time information to the other clients in real time.
[0090] In this embodiment, the lead singer role client can transmit the multimedia stream data of the lead singer role client with added time information to each other client participating in the connection in real time, which can be played by the backup singer role client for following the singing, and also be cached, aligned and played by the non-chorus role clients. The transmission process can be implemented through the server or other channels, which is not limited in this embodiment.
[0091] Based on any of the above embodiments, the leading singer role client can be the guest client of the leading singer role or the host client of the leading singer role. If the leading singer role client is the guest client of the leading singer role, the processing procedure of the above embodiment can be executed; if the leading singer role client is the host client of the leading singer role, in addition to the processing procedure of the above embodiment, the following procedures also need to be executed:
[0092] Cache the multimedia stream data of the chorus singer role client and the multimedia stream data of the leading singer role client in the multimedia stream data of each other client participating in the co-hosting;
[0093] Align the multimedia stream data of the chorus singer role client and the multimedia stream data of the leading singer role client according to the time information to obtain the aligned multimedia stream data of each chorus role client;
[0094] Merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the live co-hosting, and transmit the merged multimedia stream data to the viewer client.
[0095] In this embodiment, since the host client is also responsible for pushing the live broadcast room to the viewer client, for the host client of the leading singer role, in order to enable the viewer client to also present a chorus effect, the host client of the leading singer role also needs to cache and align the multimedia stream data of each chorus role client, including caching the multimedia stream data of the chorus singer role client and the multimedia stream data of the leading singer role client, further aligning the multimedia stream data of the chorus singer role client and the multimedia stream data of the leading singer role client according to the time information to obtain the aligned multimedia stream data of each chorus role client, and then merging the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the co-hosting, and transmitting the merged multimedia stream data to the viewer client, so that the viewer client can also hear the chorus effect and at the same time hear the normal real-time interaction between the non-chorus role clients.
[0096] Based on any of the above embodiments, the leading singer role client can also control the end of the chorus. Optionally, a chorus end control can be set in the live broadcast room interface of the leading singer role client. The user can trigger a chorus end instruction by triggering the chorus end control. The leading singer role client can resume the normal co-hosting process, and the leading singer role client also sends a chorus end instruction to each other client participating in the live co-hosting, so that each other client also ends the chorus and resumes the normal co-hosting process.
[0097] Based on any of the above embodiments, before the chorus starts, any client participating in the live connection in the live broadcast room can initiate a chorus. For example, a chorus can be initiated through an operation of selecting a song, and then this client switches to the leading singer role client. In addition, the leading singer role client can also be specified by the host client, or the leading singer role client can be determined through other means.
[0098] Based on any of the above embodiments, during the singing process, the leading singer role client generally cannot switch to other roles. Of course, it is also possible not to restrict the leading singer role client from switching to other roles. The leading singer role client can specify or request other clients to become the leading singer role client, and then the two clients can exchange roles. Of course, other means can also be used to implement the switching of the leading singer role client to other roles, which is not limited in this embodiment.
[0099] For the chorus method provided in the above embodiments, the leading singer role client receives the multimedia stream data of other clients participating in the live connection except the leading singer role client, and plays the multimedia stream data of each other client under mute; collects the multimedia stream data of the leading singer role client during the singing process, and adds time information to the multimedia stream data of the leading singer role client according to the singing progress; and transmits the multimedia stream data of the leading singer role client with added time information to each other client participating in the live connection in real time. Through the above process, the leading singer role client can realize the leading singer function at its own end, and is not interfered by other clients participating in the connection. At the same time, its own multimedia stream data also provides a chorus basis for the backup singer role client, enabling the users of the backup singer role client to sing along. And by adding time information, it is also convenient for non-chorus role clients to perform caching and alignment operations, which can ensure the presentation of the chorus effect on non-chorus role clients, meet the needs of multi-person chorus in the live broadcast room, and improve the connection experience in the live broadcast room.
[0100] Reference Figure 5 , Figure 5 is a schematic flowchart of the chorus method provided by an embodiment of the present disclosure. The method of this embodiment can be applied to the first backup singer role client participating in the live connection. The chorus method includes:
[0101] S401. Receive the multimedia stream data of other clients participating in the live connection except the first backup singer role client.
[0102] In this embodiment, for the first backup singer role client, it can receive the multimedia stream data of the leading singer role client and other second backup singer role clients. In addition, if there are non-chorus role clients participating in the connection in the live broadcast room, it can also receive the multimedia stream data of the non-chorus role clients.
[0103] S402. Play the multimedia stream data of the lead singer role client among the multimedia stream data of the other clients, and play the multimedia stream data of the non-chorus role clients and each second backup singer role client under mute.
[0104] In this embodiment, since the first backup singer role client needs to follow the singing, the first backup singer role client can play the multimedia stream data of the lead singer role client. In order to avoid the interference of other clients participating in the live connection, the backup singer role client can mute the multimedia stream data of other clients except the multimedia stream data of the lead singer role client, including muting the multimedia stream data of the non-chorus role clients and other backup singer role clients. Specifically, in a video live room (such as a video live room), only the video picture of the multimedia stream data can be played, and the audio is muted; while in a voice live room, the audio can be muted.
[0105] S403. Collect the multimedia stream data of the first backup singer role client during the process of following the lead singer's singing, and add time information to the multimedia stream data of the first backup singer role client according to the singing progress.
[0106] In this embodiment, the first backup singer role client can collect the multimedia stream data of the first backup singer role client when the user of the first backup singer role client is following the singing. In order to facilitate alignment by other clients such as non-chorus role clients to present a chorus effect, the first backup singer role client can add time information to the multimedia stream data of the first backup singer role client, such as the singing progress corresponding to each frame, which can be represented by a timestamp or a percentage. Optionally, the time information can be obtained according to the multimedia stream data of the lead singer role client.
[0107] S404. Transmit the multimedia stream data of the first backup singer role client with added time information to the other clients in real time.
[0108] In this embodiment, the first backup singer role client can transmit the multimedia stream data of the first backup singer role client with added time information to each of the other clients participating in the live connection in real time, which can be used for caching, alignment, and playing by non-chorus role clients. The transmission process can be implemented through a server or other means, which is not limited in this embodiment.
[0109] Based on any of the above embodiments, the first backup singer role client can be a guest client of the backup singer role or a host client of the backup singer role. If the first backup singer role client is a guest client of the backup singer role, the processing procedure of the above embodiment can be executed; if the first backup singer role client is a host client of the backup singer role, in addition to the processing procedure of the above embodiment, the following procedures also need to be executed:
[0110] Cache the multimedia stream data of the lead singer role client and other second backup singer role clients, as well as the multimedia stream data of the first backup singer role client, in the multimedia stream data of each other client participating in the live connection for a duet.
[0111] Align the multimedia stream data of the lead singer role client and other second backup singer role clients, as well as the multimedia stream data of the first backup singer role client, according to the time information to obtain the aligned multimedia stream data of each chorus role client.
[0112] Merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the live connection for a duet, and transmit the merged multimedia stream data to the viewer client.
[0113] In this embodiment, since the host client is also responsible for pushing the live broadcast room to the viewer client, for the host client of the backup singer role, in order to enable the viewer client to also present a chorus effect, the host client of the backup singer role also needs to cache and align the multimedia stream data of each chorus role client, including caching the multimedia stream data of the lead singer role client and other second backup singer role clients in the multimedia stream data of each other client participating in the live connection for a duet, as well as the multimedia stream data of the local end (the first backup singer role client), and aligning based on the time information to obtain the aligned multimedia stream data of each chorus role client, and then merging the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the live connection for a duet, and transmitting the merged multimedia stream data to the viewer client, so that the viewer client can also hear the chorus effect and at the same time hear the normal real-time interaction between the non-chorus role clients.
[0114] Based on any of the above embodiments, during the singing process, the first backup singer role client can also exit the chorus. Optionally, an exit chorus control can be set in the live broadcast room interface of the first backup singer role client, and the user can trigger an exit chorus instruction by triggering the exit chorus control. The first backup singer role client can respond to the exit chorus instruction and perform a role switch, switching from the backup singer role to a non-chorus role, and then can execute the above processing procedures of the non-chorus role client, which can specifically include:
[0115] Cache the multimedia stream data of the chorus role client among the multimedia stream data of each other client participating in the live video call and connection.
[0116] According to the time information included in the multimedia stream data of each chorus role client, align the multimedia stream data of each chorus role client and then play them.
[0117] Specifically, reference can be made to the above embodiments of the live room chorus method on the side of the non-chorus role client, which will not be elaborated here.
[0118] In the chorus method provided in the above embodiment, the first backup singer role client receives the multimedia stream data of other clients except the first backup singer role client participating in the live video call and connection; plays the multimedia stream data of the lead singer role client in the multimedia stream data of the other clients, and plays the multimedia stream data of the non-chorus role client and other second backup singer role clients in mute; collects the multimedia stream data of the first backup singer role client during the process of following the lead singer's singing, and adds time information to the multimedia stream data of the first backup singer role client according to the singing progress; and transmits the multimedia stream data of the first backup singer role client with added time information to each client participating in the connection in real time. Through the above process, the backup singer role client can realize singing following the lead singer, and is not interfered by other clients participating in the connection. At the same time, adding time information also facilitates the caching and alignment operations of the non-chorus role client, which can ensure the presentation of the chorus effect on the non-chorus role client, meet the needs of multi-person chorus in the chat room, and improve the connection experience of the chat room.
[0119] Corresponding to the chorus method on the side of the non-chorus role client in the above embodiment, Figure 8 This is the structural block diagram of the chorus device provided by the embodiments of the present disclosure. For the sake of convenience of description, only the parts related to the embodiments of the present disclosure are shown. Referring to Figure 6 , the chorus device 600 includes: a receiving unit 601, a processing unit 602, and a playing unit 603.
[0120] Among them, the receiving unit 601 is configured to receive the multimedia stream data of other clients except the first non-chorus role client participating in the live video call and connection;
[0121] The processing unit 602 is configured to cache the multimedia stream data of the chorus role client in the multimedia stream data of the other clients;
[0122] The playing unit 603 is configured to align and play the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client.
[0123] In one or more embodiments of the present disclosure, when the playback unit 603 plays the multimedia stream data of each chorus role client after aligning them according to the time information included in the multimedia stream data of each chorus role client, it is used for:
[0124] According to the time information included in the multimedia stream data of each chorus role client, obtain multimedia data at the same singing progress from the multimedia stream data of each chorus role client for synchronous rendering and / or playback.
[0125] In one or more embodiments of the present disclosure, the playback unit 603 is further used for playing in real time the multimedia stream data of other non-chorus role clients among the multimedia stream data of other clients; and / or
[0126] The device further includes a collection unit 604 for collecting the multimedia stream data of the first non-chorus role client;
[0127] The device further includes a sending unit 605 for transmitting the multimedia stream data of the first non-chorus role client to other clients in real time.
[0128] In one or more embodiments of the present disclosure, if the first non-chorus role client is a host client of a non-chorus role, the sending unit 605 is further used for merging the aligned multimedia stream data of each chorus role client, the multimedia stream data of the second non-chorus role client participating in the live connection, and the multimedia stream data of the first non-chorus role client, and transmitting the merged multimedia stream data to the audience client.
[0129] In one or more embodiments of the present disclosure, the processing unit 602 is further used for, in response to a chorus joining instruction, performing a role switch, switching from a non-chorus role to a secondary singing role;
[0130] The playback unit 603 is further used for playing the multimedia stream data of the lead singing role client among the multimedia stream data of other clients, and playing the multimedia stream data of the second non-chorus role client and other secondary singing role clients in mute;
[0131] The collection unit 604 is further used for collecting the local multimedia stream data during the process of following the lead singer's singing, and adding time information to the local multimedia stream data according to the singing progress;
[0132] The sending unit 605 is further used for transmitting the local multimedia stream data with added time information to other clients in real time.
[0133] The device provided in this embodiment can be used to implement the technical solution of the above method embodiment, and its implementation principle and technical effect are similar, which will not be elaborated here in this embodiment.
[0134] Corresponding to the chorus method of the lead singer role client in the above embodiment, Figure 7 is a structural block diagram of the chorus device provided in the embodiments of the present disclosure. For the sake of convenience of description, only the parts related to the embodiments of the present disclosure are shown. Referring to Figure 7 the chorus device 700 includes: a receiving unit 701, a playing unit 702, a collecting unit 703, and a sending unit 704.
[0135] Among them, the receiving unit 701 is configured to receive the multimedia stream data of other clients except the first backup singer role client participating in the live connection.
[0136] The playing unit 702 is configured to play the multimedia stream data of the lead singer role client in the multimedia stream data of other clients, and play the multimedia stream data of the non-chorus role clients and each second backup singer role client in a muted state.
[0137] The collecting unit 703 is configured to collect the multimedia stream data of the lead singer role client during the singing process, and add time information to the multimedia stream data of the lead singer role client according to the singing progress.
[0138] The sending unit 704 is configured to real-time transmit the multimedia stream data of the lead singer role client with added time information to the other clients.
[0139] In one or more embodiments of the present disclosure, if the lead singer role client is the host client of the lead singer role, the device further includes a processing unit 705, configured to cache the multimedia stream data of the backup singer role client in the multimedia stream data of the other clients, and the multimedia stream data of the lead singer role client.
[0140] The sending unit 704 is further configured to align the multimedia stream data of the backup singer role client and the multimedia stream data of the lead singer role client according to the time information to obtain the aligned multimedia stream data of each chorus role client; merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the live connection, and transmit the merged multimedia stream data to the viewer client.
[0141] In one or more embodiments of the present disclosure, the processing unit 705 is further configured to, in response to the chorus end instruction, resume the normal connection process.
[0142] The sending unit 704 is further configured to send a chorus end instruction to each other client participating in the co-hosting, so that each other client resumes the regular co-hosting process.
[0143] The device provided in this embodiment can be used to execute the technical solutions of the above method embodiments. The implementation principles and technical effects are similar, and will not be elaborated here.
[0144] Corresponding to the chorus method on the side of the supporting lead role client in the above embodiment Figure 8 is a structural block diagram of the chorus device provided in an embodiment of the present disclosure. For the sake of illustration, only the parts related to the embodiments of the present disclosure are shown. Referring to Figure 8 the chorus device 800 includes: a receiving unit 801, a playing unit 802, a collecting unit 803, and a sending unit 804.
[0145] Among them, the receiving unit 801 is configured to receive multimedia stream data of other clients except the first supporting lead role client participating in the live co-hosting.
[0146] The playing unit 802 is configured to play the multimedia stream data of the leading role client in the multimedia stream data of other clients, and play the multimedia stream data of the non-chorus role clients and each second supporting lead role client in a muted state.
[0147] The collecting unit 803 is configured to collect the multimedia stream data of the first supporting lead role client during the lead singer's singing process, and add time information to the multimedia stream data of the first supporting lead role client according to the singing progress.
[0148] The sending unit 804 is configured to real-time transmit the multimedia stream data of the first supporting lead role client with added time information to the other clients.
[0149] In one or more embodiments of the present disclosure, if the first supporting lead role client is the host client of the leading role, the device further includes a processing unit 805, configured to cache the multimedia stream data of the leading role client and each second supporting lead role client in the multimedia stream data of other clients, and the multimedia stream data of the first supporting lead role client.
[0150] The sending unit 804 is further configured to align the multimedia stream data of the leading role client, each second supporting lead role client, and the multimedia stream data of the first supporting lead role client according to the time information, to obtain the aligned multimedia stream data of each chorus role client; merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the co-hosting, and transmit the merged multimedia stream data to the audience client.
[0151] In one or more embodiments of the present disclosure, the processing unit 805 is further configured to, in response to an instruction to exit the chorus, perform a role switch, switching from the backup singer role to a non-chorus role;
[0152] The processing unit 805 is further configured to cache the multimedia stream data of the chorus role client in the multimedia stream data of the other clients;
[0153] The playback unit 802 is further configured to, according to the time information included in the multimedia stream data of each chorus role client, align the multimedia stream data of each chorus role client and then perform playback.
[0154] The device provided in this embodiment can be used to execute the technical solutions of the above method embodiments, and its implementation principle and technical effects are similar, which will not be elaborated here in this embodiment.
[0155] Reference Figure 9 , which shows a schematic structural diagram of an electronic device 900 suitable for implementing the embodiments of the present disclosure. The electronic device 900 can be a terminal device or a server. Among them, the terminal device can include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), portable media players (PMPs), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs and desktop computers. Figure 9 The electronic device shown is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present disclosure.
[0156] As Figure 9 shown, the electronic device 900 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage device 908 into the random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. The input / output (I / O) interface 905 is also connected to the bus 904.
[0157] Typically, the following devices can be connected to the I / O interface 905: input devices 906 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 908 including, for example, magnetic tapes, hard disks, etc.; and a communication device 909. The communication device 909 can allow the electronic device 900 to communicate with other devices wirelessly or wireline to exchange data. Although Figure 9 an electronic device 900 with various devices is shown, it should be understood that it is not required to implement or include all the shown devices. Instead, more or fewer devices can be implemented or included.
[0158] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a computer-readable medium, and the computer program includes program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in any one of the methods of the embodiments of the present disclosure are executed.
[0159] It should be noted that the above computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0160] The above computer-readable medium can be included in the above electronic device; it can also exist separately and not be assembled into the electronic device.
[0161] The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the electronic device, the electronic device is caused to execute the method shown in the above embodiments.
[0162] Computer program code for performing the operations of this disclosure may be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, execute as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0163] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0164] The units involved in the embodiments described in this disclosure may be implemented in software or in hardware. Among them, the name of the unit does not constitute a limitation to the unit itself in some cases. For example, the first acquisition unit may also be described as "the unit for acquiring at least two Internet protocol addresses".
[0165] The functions described above in this document may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: Field Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), Application Specific Standard Products (ASSP), Systems on Chip (SOC), Complex Programmable Logic Devices (CPLD), and so on.
[0166] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0167] In a first aspect, according to one or more embodiments of the present disclosure, there is provided a chorus method applied to a first non-chorus role client participating in a live co-hosting. The method includes:
[0168] Receiving multimedia stream data of other clients except the first non-chorus role client participating in the live co-hosting;
[0169] Caching the multimedia stream data of the chorus role clients in the multimedia stream data of the other clients;
[0170] According to the time information included in the multimedia stream data of each chorus role client, aligning the multimedia stream data of each chorus role client and then playing them.
[0171] According to one or more embodiments of the present disclosure, the step of aligning the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client and then playing them includes:
[0172] According to the time information included in the multimedia stream data of each chorus role client, obtaining multimedia data of the same singing progress from the multimedia stream data of each chorus role client for synchronous rendering and / or playing.
[0173] According to one or more embodiments of the present disclosure, the method further includes:
[0174] Playing the multimedia stream data of the second non-chorus role client in the multimedia stream data of the other clients in real time; and / or
[0175] Collecting the multimedia stream data of the first non-chorus role client and transmitting it to the other clients in real time.
[0176] According to one or more embodiments of the present disclosure, the method further includes:
[0177] If the first non-chorus role client is the host client of the non-chorus role, then merge the multimedia stream data of each chorus role client after alignment, the multimedia stream data of the second non-chorus role client participating in the live connection, and the multimedia stream data of the first non-chorus role client, and transmit the merged multimedia stream data to the viewer client.
[0178] According to one or more embodiments of the present disclosure, the method further includes:
[0179] In response to the chorus joining instruction, perform role switching, switching from the non-chorus role to the backup singer role;
[0180] Play the multimedia stream data of the lead singer role client in the multimedia stream data of the other clients, and play the multimedia stream data of the second non-chorus role client and other backup singer role clients in mute;
[0181] Collect the local multimedia stream data during the lead singer's performance, and add time information to the local multimedia stream data according to the performance progress;
[0182] Transmit the local multimedia stream data with added time information to the other clients in real time.
[0183] In a second aspect, according to one or more embodiments of the present disclosure, a chorus method is provided, which is applied to the lead singer role client participating in the live connection. The method includes:
[0184] Receive the multimedia stream data of the other clients participating in the live connection except the lead singer role client, and play the multimedia stream data of the other clients in mute;
[0185] Collect the multimedia stream data of the lead singer role client during the performance, and add time information to the multimedia stream data of the lead singer role client according to the performance progress;
[0186] Transmit the multimedia stream data of the lead singer role client with added time information to the other clients in real time.
[0187] According to one or more embodiments of the present disclosure, the method further includes:
[0188] If the lead singer role client is the host client of the lead singer role, then cache the multimedia stream data of the backup singer role client in the multimedia stream data of the other clients and the multimedia stream data of the lead singer role client;
[0189] Align the multimedia stream data of the backing vocal role client and the multimedia stream data of the lead vocal role client according to the time information to obtain the aligned multimedia stream data of each chorus role client;
[0190] Merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the co-hosting, and transmit the merged multimedia stream data to the viewer client.
[0191] According to one or more embodiments of the present disclosure, the method further includes:
[0192] In response to the chorus end instruction, resume the regular co-hosting process;
[0193] Send the chorus end instruction to each other client participating in the co-hosting, so that each other client resumes the regular co-hosting process.
[0194] In a third aspect, according to one or more embodiments of the present disclosure, a chorus method is provided, which is applied to the first backing vocal role client participating in the live co-hosting. The method includes:
[0195] Receive the multimedia stream data of other clients participating in the live co-hosting except the first backing vocal role client;
[0196] Play the multimedia stream data of the lead vocal role client in the multimedia stream data of other clients, and play the multimedia stream data of the non-chorus role clients and each second backing vocal role client under mute;
[0197] Collect the multimedia stream data of the first backing vocal role client during the lead singer's performance, and add time information to the multimedia stream data of the first backing vocal role client according to the performance progress;
[0198] Transmit the multimedia stream data of the first backing vocal role client with added time information to other clients in real time.
[0199] According to one or more embodiments of the present disclosure, the method further includes:
[0200] If the first backing vocal role client is the host client of the lead vocal role, cache the multimedia stream data of the lead vocal role client and each second backing vocal role client in the multimedia stream data of other clients, and the multimedia stream data of the first backing vocal role client;
[0201] Align the multimedia stream data of the lead vocal role client and each second backing vocal role client, and the multimedia stream data of the first backing vocal role client according to the time information to obtain the aligned multimedia stream data of each chorus role client;
[0202] Merge the multimedia stream data of each aligned chorus role client and the multimedia stream data of the non-chorus role client, and transmit the merged multimedia stream data to the viewer client.
[0203] According to one or more embodiments of the present disclosure, the method further includes:
[0204] In response to the exit chorus instruction, perform role switching, switching from the deputy chorus role to the non-chorus role;
[0205] Cache the multimedia stream data of the chorus role client in the multimedia stream data of the other clients;
[0206] According to the time information included in the multimedia stream data of each chorus role client, align the multimedia stream data of each chorus role client and then play it.
[0207] In a fourth aspect, according to one or more embodiments of the present disclosure, there is provided a chorus device, including:
[0208] A receiving unit for receiving the multimedia stream data of other clients participating in the live connection except the first non-chorus role client;
[0209] A processing unit for caching the multimedia stream data of the chorus role client in the multimedia stream data of the other clients;
[0210] A playing unit for aligning and playing the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client.
[0211] According to one or more embodiments of the present disclosure, when the playing unit aligns and plays the multimedia stream data of each chorus role client according to the time information included in the multimedia stream data of each chorus role client, it is used for:
[0212] According to the time information included in the multimedia stream data of each chorus role client, obtain multimedia data with the same singing progress from the multimedia stream data of each chorus role client for synchronous rendering and / or playing.
[0213] According to one or more embodiments of the present disclosure, the playing unit is further used for, playing the multimedia stream data of other non-chorus role clients in the multimedia stream data of the other clients in real time; and / or
[0214] The device further includes an acquisition unit for acquiring the multimedia stream data of the first non-chorus role client;
[0215] The device further includes a sending unit, configured to transmit the multimedia stream data of the first non-chorus role client to the other clients in real time.
[0216] According to one or more embodiments of the present disclosure, if the first non-chorus role client is a host client of a non-chorus role, the sending unit is further configured to merge the multimedia stream data of each chorus role client after alignment, the multimedia stream data of the second non-chorus role client participating in the live connection, and the multimedia stream data of the first non-chorus role client, and transmit the merged multimedia stream data to the viewer client.
[0217] According to one or more embodiments of the present disclosure, the processing unit is further configured to, in response to a chorus joining instruction, perform a role switch, switching from a non-chorus role to a supporting chorus role;
[0218] The playing unit is further configured to play the multimedia stream data of the leading chorus role client in the multimedia stream data of the other clients, and play the multimedia stream data of the second non-chorus role client and other supporting chorus role clients in a muted state;
[0219] The acquisition unit is further configured to acquire the local multimedia stream data during the process of following the lead singer's singing, and add time information to the local multimedia stream data according to the singing progress;
[0220] The sending unit is further configured to transmit the local multimedia stream data with added time information to the other clients in real time.
[0221] In a fifth aspect, according to one or more embodiments of the present disclosure, there is provided a chorus device, including:
[0222] A receiving unit, configured to receive the multimedia stream data of other clients participating in the live connection except the first supporting chorus role client;
[0223] A playing unit, configured to play the multimedia stream data of the leading chorus role client in the multimedia stream data of the other clients, and play the multimedia stream data of the non-chorus role client and each second supporting chorus role client in a muted state;
[0224] An acquisition unit, configured to acquire the multimedia stream data of the leading chorus role client during the singing process, and add time information to the multimedia stream data of the leading chorus role client according to the singing progress;
[0225] A sending unit, configured to transmit the multimedia stream data of the leading chorus role client with added time information to the other clients in real time.
[0226] According to one or more embodiments of the present disclosure, if the lead singer role client is the host client of the lead singer role, the device further includes a processing unit configured to cache the multimedia stream data of the backup singer role client and the multimedia stream data of the lead singer role client among the multimedia stream data of the other clients;
[0227] The sending unit is further configured to align the multimedia stream data of the backup singer role client and the multimedia stream data of the lead singer role client according to time information to obtain the aligned multimedia stream data of each chorus role client; merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the co-hosting, and transmit the merged multimedia stream data to the viewer client.
[0228] According to one or more embodiments of the present disclosure, the processing unit is further configured to resume the regular co-hosting process in response to a chorus end instruction;
[0229] The sending unit is further configured to send a chorus end instruction to each of the other clients participating in the co-hosting, so that each of the other clients resumes the regular co-hosting process.
[0230] In a sixth aspect, according to one or more embodiments of the present disclosure, there is provided a chorus device, including:
[0231] A receiving unit configured to receive the multimedia stream data of the other clients participating in the live co-hosting except the first backup singer role client;
[0232] A playing unit configured to play the multimedia stream data of the lead singer role client among the multimedia stream data of the other clients, and play the multimedia stream data of the non-chorus role clients and each second backup singer role client in mute;
[0233] An acquisition unit configured to acquire the multimedia stream data of the first backup singer role client during the lead singer's singing process, and add time information to the multimedia stream data of the first backup singer role client according to the singing progress;
[0234] A sending unit configured to real-time transmit the multimedia stream data of the first backup singer role client with added time information to the other clients.
[0235] According to one or more embodiments of the present disclosure, if the first backup singer role client is the host client of the lead singer role, the device further includes a processing unit configured to cache the multimedia stream data of the lead singer role client and each other second backup singer role client, and the multimedia stream data of the first backup singer role client among the multimedia stream data of the other clients;
[0236] The sending unit is further configured to align the multimedia stream data of the lead singer role client and each second backup singer role client, and the multimedia stream data of the first backup singer role client according to the time information, so as to obtain the aligned multimedia stream data of each chorus role client; merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role clients participating in the co-hosting, and transmit the merged multimedia stream data to the audience client.
[0237] According to one or more embodiments of the present disclosure, the processing unit is further configured to, in response to an instruction to exit the chorus, perform a role switch, switching from the backup singer role to a non-chorus role;
[0238] The processing unit is further configured to cache the multimedia stream data of the chorus role clients in the multimedia stream data of the other clients;
[0239] The playing unit is further configured to play the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client.
[0240] In a seventh aspect, according to one or more embodiments of the present disclosure, an electronic device is provided, including: at least one processor and a memory;
[0241] The memory stores computer-executable instructions;
[0242] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the chorus method as described in the first aspect and various possible designs of the first aspect, or the chorus method as described in the second aspect and various possible designs of the second aspect, or the chorus method as described in the third aspect and various possible designs of the third aspect.
[0243] In an eighth aspect, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided, in which computer-executable instructions are stored, and when the processor executes the computer-executable instructions, the chorus method as described in the first aspect and various possible designs of the first aspect, or the chorus method as described in the second aspect and various possible designs of the second aspect, or the chorus method as described in the third aspect and various possible designs of the third aspect is implemented.
[0244] In a ninth aspect, according to one or more embodiments of the present disclosure, there is provided a computer program product including computer-executable instructions, which, when executed by a processor, implement the chorus method described in the first aspect above and various possible designs of the first aspect, or the chorus method described in the second aspect and various possible designs of the second aspect, or the chorus method described in the third aspect and various possible designs of the third aspect.
[0245] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, a technical solution formed by mutually replacing the above features with technical features (but not limited to) having similar functions disclosed in the present disclosure.
[0246] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.
[0247] Although the subject matter has been described in language specific to structural features and / or methodological act logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. On the contrary, the specific features and acts described above are merely example forms for implementing the claims.
Claims
1. A choral method, characterized in that, Applied to the first non-chorus role client participating in the live connection for a duet, the method includes: Receiving multimedia stream data of other clients except the first non-chorus role client participating in the live connection for a duet; Caching the multimedia stream data of the chorus role clients in the multimedia stream data of the other clients; According to the time information included in the multimedia stream data of each chorus role client, aligning the multimedia stream data of each chorus role client and then playing them.
2. The method according to claim 1, wherein The step of according to the time information included in the multimedia stream data of each chorus role client, aligning the multimedia stream data of each chorus role client and then playing them includes: According to the time information included in the multimedia stream data of each chorus role client, obtaining multimedia data at the same singing progress from the multimedia stream data of each chorus role client for synchronous rendering and / or playing.
3. The method according to claim 1 or 2, characterized in that, The method further includes: Playing in real time the multimedia stream data of the second non-chorus role client in the multimedia stream data of the other clients; and / or Collecting the multimedia stream data of the first non-chorus role client and transmitting it to the other clients in real time.
4. The method according to claim 1 or 2, characterized in that, The method further includes: If the first non-chorus role client is the host client of the non-chorus role, then merging the aligned multimedia stream data of each chorus role client, the multimedia stream data of the second non-chorus role client participating in the live connection for a duet, and the multimedia stream data of the first non-chorus role client, and transmitting the merged multimedia stream data to the viewer client.
5. The method according to claim 1, characterized in that, The method further includes: In response to the instruction to join the chorus, performing a role switch, switching the first non-chorus role client from the non-chorus role to the secondary singer role; Playing the multimedia stream data of the lead singer role client in the multimedia stream data of the other clients, and playing the multimedia stream data of the second non-chorus role client and other secondary singer role clients in mute; Collecting the local multimedia stream data during the lead singer's singing process, and adding time information to the local multimedia stream data according to the singing progress; Transmitting the local multimedia stream data with added time information to the other clients in real time.
6. A choral method, characterized in that, Applied to the lead singer role client participating in the live connection for a duet, the method includes: Receiving the multimedia stream data of other clients except the lead singer role client participating in the live connection for a duet, and playing the multimedia stream data of the other clients in mute; Collecting the multimedia stream data of the lead singer role client during the singing process, and adding time information to the multimedia stream data of the lead singer role client according to the singing progress; Transmitting the multimedia stream data of the lead singer role client with added time information to the other clients in real time.
7. The method according to claim 6, characterized in that, The method further includes: If the lead singer role client is the host client of the lead singer role, then caching the multimedia stream data of the secondary singer role client in the multimedia stream data of the other clients and the multimedia stream data of the lead singer role client; Align the multimedia stream data of the backup singer role client and the multimedia stream data of the lead singer role client according to the time information to obtain the aligned multimedia stream data of each chorus role client; Merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role client participating in the live connection, and transmit the merged multimedia stream data to the viewer client.
8. The method according to claim 6 or 7, characterized in that, The method further includes: In response to the chorus end instruction, resume the regular connection process; Send the chorus end instruction to each other client participating in the connection so that each other client resumes the regular connection process.
9. A choral method, characterized in that, Applied to the first backup singer role client participating in the live connection, the method includes: Receive the multimedia stream data of other clients participating in the live connection except the first backup singer role client; Play the multimedia stream data of the lead singer role client in the multimedia stream data of other clients, and play the multimedia stream data of the non-chorus role client and each second backup singer role client under mute; Collect the multimedia stream data of the first backup singer role client during the lead singer's performance, and add time information to the multimedia stream data of the first backup singer role client according to the performance progress; Transmit the multimedia stream data of the first backup singer role client with added time information to other clients in real time.
10. The method according to claim 9, wherein The method further includes: If the first backup singer role client is the host client of the lead singer role, cache the multimedia stream data of the lead singer role client and each second backup singer role client in the multimedia stream data of other clients, and the multimedia stream data of the first backup singer role client; Align the multimedia stream data of the lead singer role client and each second backup singer role client, and the multimedia stream data of the first backup singer role client according to the time information to obtain the aligned multimedia stream data of each chorus role client; Merge the aligned multimedia stream data of each chorus role client and the multimedia stream data of the non-chorus role client, and transmit the merged multimedia stream data to the viewer client.
11. The method according to claim 9 or 10, characterized in that, The method further includes: In response to the exit chorus instruction, perform a role switch, switching from the backup singer role to the non-chorus role; Cache the multimedia stream data of the chorus role client in the multimedia stream data of other clients; Play the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client.
12. A chorus device, characterized in that, Includes: A receiving unit for receiving the multimedia stream data of other clients participating in the live connection except the first non-chorus role client; A processing unit for caching the multimedia stream data of the chorus role client in the multimedia stream data of other clients; A playing unit for playing the multimedia stream data of each chorus role client after alignment according to the time information included in the multimedia stream data of each chorus role client.
13. A choral device, characterized in that, Includes: A receiving unit, configured to receive multimedia stream data of clients other than the client of the lead singer role participating in the live co-hosting A playing unit, configured to play the multimedia stream data of the other clients in mute An acquisition unit, configured to acquire multimedia stream data of the client of the lead singer role during the singing process, and add time information to the multimedia stream data of the client of the lead singer role according to the singing progress A sending unit, configured to transmit the multimedia stream data of the client of the lead singer role with added time information to each of the other clients participating in the co-hosting in real time 14. A chorus device, characterized in that, Comprising: A receiving unit, configured to receive multimedia stream data of other clients other than the client of the first backup singer role participating in the live co-hosting A playing unit, configured to play the multimedia stream data of the client of the lead singer role in the multimedia stream data of the other clients, and play the multimedia stream data of the non-chorus role clients and each second backup singer role client in mute An acquisition unit, configured to acquire multimedia stream data of the client of the first backup singer role during the singing process following the lead singer, and add time information to the multimedia stream data of the client of the first backup singer role according to the singing progress A sending unit, configured to transmit the multimedia stream data of the client of the first backup singer role with added time information to the other clients in real time 15. An electronic device, characterized in that, Comprising: At least one processor and a memory The memory stores computer-executable instructions The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the method according to any one of claims 1-11 16. A computer-readable storage medium, characterized in that, Computer-executable instructions are stored in the computer-readable storage medium, and when the processor executes the computer-executable instructions, the method according to any one of claims 1-11 is implemented 17. A computer program product, characterized in that, Comprising computer-executable instructions, and when the processor executes the computer-executable instructions, the method according to any one of claims 1-11 is implemented