WO2024255899A1 - 直播连麦方法、设备及存储介质 - Google Patents

直播连麦方法、设备及存储介质 Download PDF

Info

Publication number
WO2024255899A1
WO2024255899A1 PCT/CN2024/099450 CN2024099450W WO2024255899A1 WO 2024255899 A1 WO2024255899 A1 WO 2024255899A1 CN 2024099450 W CN2024099450 W CN 2024099450W WO 2024255899 A1 WO2024255899 A1 WO 2024255899A1
Authority
WO
WIPO (PCT)
Prior art keywords
live broadcast
person
room
real
broadcast room
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2024/099450
Other languages
English (en)
French (fr)
Inventor
黄泰宁
叶智超
尹强文
赖镇威
李云龙
陈栋
范宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Publication of WO2024255899A1 publication Critical patent/WO2024255899A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1108Web based protocols, e.g. webRTC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles

Definitions

  • the embodiments of the present disclosure relate to the field of computer and network communication technology, and more particularly to a live broadcast and microphone connection method, device, and storage medium.
  • microphone connection is a way that anchors often use to interact with other anchors. Based on this method, the anchor in the current live broadcast room can invite other anchors to live broadcast together.
  • each live broadcast participant client needs to obtain the audio and video streams of all other live broadcast participant clients from the server. If there are many live broadcast participants, it will cause performance pressure on the client, high bandwidth and traffic costs, and easy to cause problems, seriously affecting the experience.
  • the embodiments of the present disclosure provide a live broadcast and microphone connection method, device, and storage medium to reduce the pressure on the performance of a live broadcast client when connecting microphones across rooms, reduce bandwidth and traffic costs, and improve the live broadcast and microphone connection experience.
  • an embodiment of the present disclosure provides a live broadcast and microphone connection method, which is applied to any live broadcast participant client in a first multi-person live broadcast and microphone connection room.
  • the method includes: obtaining a first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast and microphone connection room, and playing it; based on a cross-room live broadcast and microphone connection instruction, obtaining public stream data of a second multi-person live broadcast and microphone connection room, wherein the public stream data is formed by merging the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast and microphone connection room; and playing the public stream data.
  • an embodiment of the present disclosure provides a live broadcast and microphone connection method, which is applied to a server, and the method includes: pushing a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast and microphone connection room and a second real-time multimedia stream of at least one live broadcast participant client in a second multi-person live broadcast and microphone connection room to the live broadcast participant clients in the respective multi-person live broadcast and microphone connection rooms; based on a cross-room live broadcast and microphone connection instruction, pushing first public stream data corresponding to the first multi-person live broadcast and microphone connection room to the live broadcast participant clients in the second multi-person live broadcast and microphone connection room, and pushing second public stream data corresponding to the second multi-person live broadcast and microphone connection room to the live broadcast participant clients in the first multi-person live broadcast and microphone connection room.
  • the disclosed embodiment provides a live broadcast participant client, comprising: a local room stream pulling unit, used to obtain a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room with microphones connected, and play it; a public stream pulling unit, used to obtain public stream data of a second multi-person live broadcast room with microphones connected based on a cross-room live broadcast instruction, wherein the public stream data is formed by merging the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room with microphones connected; and a control unit, used to control the playback of the public stream data.
  • an embodiment of the present disclosure provides a server, including: a same-room streaming unit, used to push a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room and a second real-time multimedia stream of at least one live broadcast participant client in a second multi-person live broadcast room to the live broadcast participant clients in the respective multi-person live broadcast rooms; a public stream streaming unit, used to push first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room based on a cross-room live broadcast instruction, and push second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room.
  • an embodiment of the present disclosure provides an electronic device, 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 live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the live broadcast and microphone connection method described in the second aspect and various possible designs of the second aspect.
  • an embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions.
  • the live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the first aspect is implemented.
  • the second aspect and various possible designs of the live broadcast and microphone connection method described in the second aspect is implemented.
  • an embodiment of the present disclosure provides a computer program product, including computer execution instructions.
  • a processor executes the computer execution instructions, it implements the live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the live broadcast and microphone connection method described in the second aspect and various possible designs of the second aspect.
  • FIG. 1a is an example diagram of an interface of a method for cross-room live broadcast and microphone connection in the prior art
  • FIG1b is a system schematic diagram of a method for cross-room live broadcast and microphone connection in the prior art
  • FIG2 is a system diagram of a live broadcast and microphone connection method provided by an embodiment of the present disclosure
  • FIG3 is a schematic diagram of a live broadcast and microphone connection method according to an embodiment of the present disclosure
  • FIG4 is a schematic diagram of a live broadcast and microphone connection method provided by another embodiment of the present disclosure.
  • FIG5 is a schematic diagram of a server architecture provided by an embodiment of the present disclosure.
  • FIG6 is a structural block diagram of a live broadcast participant client provided by an embodiment of the present disclosure.
  • FIG7 is a structural block diagram of a server provided by an embodiment of the present disclosure.
  • FIG8 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present disclosure.
  • the host In the process of live broadcasting, the host often uses the method of interactive broadcasting with other hosts. Based on this method, the host of the current live broadcast room can invite other hosts to broadcast live together.
  • each live broadcast participant client needs to pull the Get the audio and video streams of all other live broadcast participant clients in the live broadcast room.
  • a cross-room live broadcast scenario there are multiple hosts connected to the microphone in one live broadcast room, and multiple hosts connected to the microphone in another live broadcast room, and the two live broadcast rooms can be connected to the microphone (for example, a battle between the live broadcast rooms), so that all hosts in the cross-room connected live broadcast rooms can communicate with each other.
  • the host client of each live broadcast room can simultaneously watch the screens of all hosts in the two live broadcast rooms, as shown in Figure 1a.
  • each live broadcast participant client needs to push its audio and video stream to the opposite live broadcast room in addition to pulling the audio and video streams of all live broadcast participant clients in the live broadcast room, and also needs to pull the audio and video streams of all live broadcast participant clients in the opposite live broadcast room.
  • the process is shown in Figure 1b.
  • each live broadcast participant client in live broadcast room 1 needs to push the audio and video stream to live broadcast room 2 in addition to pushing the audio and video stream to live broadcast room 1.
  • each live broadcast participant client in live broadcast room 2 needs to push the audio and video stream to live broadcast room 2 in addition to pushing the audio and video stream to live broadcast room 2.
  • each live broadcast participant client in live broadcast room 1 needs to pull the audio and video streams of other live broadcast participant clients in this live broadcast room from live broadcast room 1, and also needs to pull the audio and video streams pushed to live broadcast room 1 by each live broadcast participant client in live broadcast room 2.
  • each live broadcast participant client in live broadcast room 2 needs to pull the audio and video streams pushed to live broadcast room 2 by each live broadcast participant client in live broadcast room 1.
  • cross-room live broadcast if there are many participants, more audio and video streams need to be pulled, and each audio and video stream needs to run a decoder to decode, which puts performance pressure on the client. For example, if 11 audio and video streams need to be pulled, 11 decoders need to be run. Since there are many audio and video streams to be pulled, and each audio and video stream is a low-latency RTC (Real-Time Communications) audio and video stream, the bandwidth and traffic costs are high; and problems are prone to occur. For example, at the end of the cross-room live broadcast, it is necessary to stop pulling the audio and video streams of all live broadcast participant clients in the opposite live broadcast room.
  • RTC Real-Time Communications
  • the present invention provides a live broadcast and microphone connection method.
  • MCU Multipoint Conferencing Unit
  • the MCU architecture There is a delay in the MCU architecture. If all real-time multimedia streams are merged, the real-time performance of the live broadcast connection will be affected.
  • the live broadcast participants in the same multi-person live broadcast room need to talk in real time, while the live broadcast participants in different multi-person live broadcast rooms do not need to talk in real time (it is possible that one multi-person live broadcast room mutes another multi-person live broadcast room), and the real-time performance requirements are not high. Therefore, the MCU architecture and SFU (Selective Forwarding Unit) architecture (existing technology) in WebRTC technology can be combined. That is, only the real-time multimedia streams of each live broadcast participant client in the other multi-person live broadcast room are merged into one public stream data, while the real-time multimedia streams of each live broadcast participant client in this room are still pulled separately in real time.
  • SFU Selective Forwarding Unit
  • the live broadcast and microphone connection method process may include obtaining the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room through any live broadcast participant client in the first multi-person live broadcast room, and playing it; based on the cross-room microphone connection instruction, obtaining the public stream data of the second multi-person live broadcast room, wherein the public stream data is a multimedia stream formed by the confluence of the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room; playing the public stream data.
  • the data pulled by any live broadcast participant client in the first multi-person live broadcast room includes the first real-time multimedia stream of at least one other live broadcast participant client in the current first multi-person live broadcast room, and the public stream data of the second multi-person live broadcast room, thereby realizing cross-room microphone connection.
  • the other live broadcast participant clients in the first multi-person live broadcast room and each live broadcast participant client in the second multi-person live broadcast room are similar to Figure 2 and are not shown one by one here.
  • the user information and data involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
  • FIG. 3 is a schematic diagram of the flow of a live broadcast and microphone connection method provided by an embodiment of the present disclosure.
  • the method of the embodiment can be applied in a live broadcast participant client, and the live broadcast and microphone connection method includes:
  • S201 Obtain a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room, and play the stream.
  • the live broadcast participant client of the first multi-person live broadcast room is the client participating in the live broadcast room.
  • the first multi-person live broadcast room is connected to the clients of multiple live broadcast participants (including anchors and guests), that is, each live broadcast participant client in the first multi-person live broadcast room can obtain the real-time multimedia stream (referred to as the first real-time multimedia stream) of other live broadcast participant clients in the first multi-person live broadcast room except for the live broadcast participant client, and play it in the client interface.
  • This allows each live broadcast participant in the first multi-person live broadcast room to not only see his own picture in his client interface, but also play the pictures and sounds of other live broadcast participants in the first multi-person live broadcast room at the same time.
  • any live broadcast participant client in the first multi-person live broadcast room can also turn off the collection of video and audio. That is, the live broadcast participant client does not collect its own first real-time multimedia stream, nor does it send its own first real-time multimedia stream to the server, but can obtain the first real-time multimedia stream of other live broadcast participant clients from the server. That is, you can't see your own picture in its client interface, but you can play the pictures and sounds of other live broadcast participants in the first multi-person live broadcast room. Therefore, any live participant client in the first multi-person live broadcast room can obtain the first real-time multimedia stream of at least one other live participant client except itself from the server. If all other live participant clients turn off video and audio collection, only their own first real-time multimedia stream can be played.
  • the first multi-person live broadcast room is an RTC room.
  • RTC also known as WebRTC (Web Real-Time Communications)
  • WebRTC Web Real-Time Communications
  • the first real-time multimedia stream is an RTC stream, and each live broadcast participant client in the RTC room can push its own RTC stream to the RTC room in the server, and can also pull the RTC streams of other live broadcast participant clients from the RTC room in the server.
  • the second multi-person live broadcast room is another multi-person live broadcast room
  • the live broadcast participant client of the first multi-person live broadcast room is the client participating in the live broadcast in the second multi-person live broadcast room.
  • the clients of multiple live broadcast participants (including anchors and guests) in the second multi-person live broadcast room also connect to each other. That is, each live broadcast participant client in the second multi-person live broadcast room can The real-time multimedia stream of at least one other live broadcast participant client in the second multi-person live broadcast room (recorded as the second real-time multimedia stream) is obtained and played in the client interface.
  • each live broadcast participant in the second multi-person live broadcast room to play the obtained picture and sound of at least one other live broadcast participant in the second multi-person live broadcast room on his client, and can also see his own picture (if the video and audio collection is turned off, he cannot see his own picture).
  • S202 Acquire public stream data of the second multi-person live broadcast room, wherein the public stream data is formed by merging second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room.
  • any live broadcast participant client in any multi-person microphone connection live broadcast room may initiate a cross-room microphone connection request to the other multi-person microphone connection live broadcast room.
  • the cross-room microphone connection between the first multi-person microphone connection live broadcast room and the second multi-person microphone connection live broadcast room begins.
  • the live broadcast participants in the same multi-person live broadcast room need to talk in real time, while the live broadcast participants in different multi-person live broadcast rooms do not need to talk in real time, and it is also possible that one multi-person live broadcast room mutes another multi-person live broadcast room, so the real-time requirement is not high.
  • the real-time multimedia stream of each live broadcast participant client in the other multi-person live broadcast room is merged into one public stream data. In this way, it is only necessary to pull the public stream data of the other multi-person live broadcast room, without pulling the real-time multimedia streams of multiple live broadcast participant clients in the other multi-person live broadcast room separately.
  • RTC room supports users to directly pull multimedia streams in the RTC room without entering the room, which can be called public stream.
  • the public stream is the confluence of the multimedia streams in the RTC room. Therefore, in this embodiment, the method of obtaining public streams in the RTC room can be applied to obtain the public stream data of each multi-person live broadcast room. In addition, the public stream data can still be released in the RTC stream mode to minimize the delay.
  • the public stream data of the first multi-person live broadcast room and the public stream data of the second multi-person live broadcast room can be respectively
  • the public stream data of the live broadcast room is configured with identification information (ID) of the public stream data.
  • ID identification information
  • the identification information of the public stream data can be configured by the server, or can also be configured by the live broadcast participant client, and each live broadcast participant client of the first multi-person live broadcast room knows the identification information of the public stream data of the second multi-person live broadcast room, and each live broadcast participant client of the second multi-person live broadcast room knows the identification information of the public stream data of the first multi-person live broadcast room.
  • any live broadcast participant client of the first multi-person live broadcast room can obtain the public stream data of the second multi-person live broadcast room according to the identification information of the public stream data of the second multi-person live broadcast room.
  • Any live broadcast participant client of the second multi-person live broadcast room can obtain the public stream data of the first multi-person live broadcast room according to the identification information of the public stream data of the first multi-person live broadcast room.
  • the public stream data can be obtained according to the identification information of the public stream data through the publish/subscribe mode.
  • any live broadcast participant client of the first multi-person live broadcast room can play the public stream data.
  • the public stream data can be played. It is also still necessary to continue to obtain the second real-time multimedia stream of other live broadcast participant clients in the second multi-person live broadcast room for playback to ensure the real-time performance of the second multi-person live broadcast room.
  • any live broadcast participant client of the first multi-person live broadcast room can directly stop obtaining and playing the public stream data of the second multi-person live broadcast room, and there will be no crosstalk problem.
  • the live broadcast method provided in this embodiment obtains the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room through any live broadcast participant client in the first multi-person live broadcast room, and plays it; obtains the public stream data of the second multi-person live broadcast room based on the cross-room live broadcast instruction, wherein the public stream data is the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room; and plays the public stream data.
  • cross-room live broadcast only one public stream data needs to be obtained for the other multi-person live broadcast room, avoiding It is unnecessary to pull the real-time multimedia stream of each live broadcast participant client in the other multi-person live broadcast room, which reduces the bandwidth and traffic costs and relieves the pressure on the live broadcast client performance.
  • the number of streams pulled is reduced, the number of decoders running is reduced, the CPU overhead is reduced, and the number of images to be rendered during GPU rendering is reduced, the drawing instructions are reduced, and the GPU overhead is reduced.
  • the process of ending the cross-room live broadcast is simple, and crosstalk is not likely to occur, which improves the live broadcast experience.
  • another embodiment of the present disclosure provides a live broadcast and microphone connection method, the live broadcast and microphone connection method comprising:
  • S301 obtaining a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room, and playing the stream. This step is the same as S201.
  • S302 Based on the cross-room live broadcast instruction, obtain a second real-time multimedia stream of multiple live broadcast participant clients in a second multi-person live broadcast room, and play the stream.
  • any live broadcast participant client in any multi-person live broadcast room can initiate a cross-room connection request to the other multi-person live broadcast room.
  • the first multi-person live broadcast room and the second multi-person live broadcast room start cross-room connection, and a cross-room connection instruction is issued to each live broadcast participant client in the two multi-person live broadcast rooms.
  • each live broadcast participant client can obtain the real-time multimedia streams of multiple live broadcast participant clients in the other multi-person live broadcast room according to the cross-room connection instruction, so as to ensure a quick response to the cross-room connection instruction without waiting for the public stream data.
  • any live broadcast participant client in the first multi-person live broadcast room obtains the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room, and plays it in the client interface, so that the live broadcast participant client can play the pictures and sounds of multiple live broadcast participants in the second multi-person live broadcast room at the same time in addition to playing its own picture and the picture and sound of at least one other live broadcast participant in the first multi-person live broadcast room (if the video and audio collection is turned off, its own picture cannot be seen) in its client interface.
  • Any live broadcast participant client in the second multi-person live broadcast room obtains the first real-time multimedia stream of multiple live broadcast participant clients in the first multi-person live broadcast room, and plays it in the client interface, so that the live broadcast participant client can play its own picture (if the video and audio collection is turned off, its own picture cannot be seen) and at least one other
  • the images and sounds of multiple live broadcast participants in the first multi-person live broadcast room can also be played simultaneously.
  • multiple live broadcast participant clients in the second multi-person microphone connection live broadcast room push their respective second real-time multimedia streams to the first multi-person microphone connection live broadcast room on the server side.
  • Multiple live broadcast participant clients in the first multi-person microphone connection live broadcast room push their respective first real-time multimedia streams to the second multi-person microphone connection live broadcast room on the server side.
  • the server may also perform cross-room streaming in response to the cross-room live broadcast instruction. That is, the first real-time multimedia stream of multiple live broadcast participant clients in the first multi-person live broadcast room on the server is pushed to the second multi-person live broadcast room, and the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room on the server is pushed to the first multi-person live broadcast room, and each live broadcast participant client can simultaneously obtain each first real-time multimedia stream and each second real-time multimedia stream from their respective multi-person live broadcast room on the server for playback.
  • S303 Based on the cross-room live broadcast instruction, obtain the public stream data of the second multi-person live broadcast room.
  • any live broadcast participant client in the first multi-person live broadcast room can obtain the public stream data of the second multi-person live broadcast room.
  • any live broadcast participant client in the second multi-person live broadcast room can obtain the public stream data of the first multi-person live broadcast room. For details, see S202.
  • S304 Play the common stream data, and stop acquiring and playing the second real-time multimedia stream.
  • any live broadcast participant client in the first multi-person live broadcast room can play the public stream data to replace the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room. That is, the acquisition (mute operation) and playback of multiple second real-time multimedia streams can be stopped, but the first real-time multimedia stream of at least one other live broadcast participant client in the first multi-person live broadcast room still needs to be acquired and played to ensure the real-time performance of the first multi-person live broadcast room.
  • the public stream data can be played to replace the second real-time multimedia stream played by multiple live broadcast participant clients in the first multi-person live broadcast room. That is, the acquisition (mute operation) and playback of multiple first real-time multimedia streams can be stopped, but the second real-time multimedia stream of at least one other live broadcast participant client in the second multi-person live broadcast room still needs to be acquired for playback to ensure the real-time performance of the second multi-person live broadcast room.
  • any live participant client in the first multi-person live broadcast room can decode the public stream data while keeping each second real-time multimedia stream playing after acquiring the public stream data.
  • the second real-time multimedia stream and the public stream data are switched. That is, the public stream data is played, and the acquisition and playback of multiple second real-time multimedia streams are stopped.
  • the acquisition and playback of multiple second real-time multimedia streams can continue.
  • any live broadcast participant client in the first multi-person live broadcast room plays the common stream data
  • the playback fails, such as due to transmission interruption or decoding error
  • multiple second real-time multimedia streams can be obtained and played. That is, the public stream data is switched back to multiple second real-time multimedia streams to ensure the continuation of the microphone connection.
  • the live broadcast participant clients need to have a real-time call across rooms between the first multi-person live broadcast room and the second multi-person live broadcast room.
  • the public stream data can also be switched back to multiple second real-time multimedia streams to ensure the real-time nature of the cross-room call.
  • the obtaining of the public stream data of the second multi-person live broadcast room described in S202 may specifically include: in response to a mute instruction for the second multi-person live broadcast room, obtaining the first type of public stream data of the second multi-person live broadcast room from the server, wherein the first type of public stream data is formed by the server end merging the real-time video streams of multiple live broadcast participant clients in the second multi-person live broadcast room; or in response to a unmute instruction for the second multi-person live broadcast room, obtaining the second type of public stream data of the second multi-person live broadcast room from the server, wherein the second type of public stream data is formed by the server end merging the real-time audio and video streams of multiple live broadcast participant clients in the second multi-person live broadcast room.
  • any live broadcast participant client (e.g., anchor client) of the first multi-person live broadcast room can control the second multi-person live broadcast room to mute. That is, each live broadcast participant client of the first multi-person live broadcast room cannot hear the sound of each live broadcast participant client of the second multi-person live broadcast room, but can see the screen.
  • the server can only mute the first multi-person live broadcast room when acquiring the public stream data of the second multi-person live broadcast room.
  • the real-time video streams of two multi-person live broadcast rooms are merged to obtain the first type of public stream data of the second multi-person live broadcast room.
  • the second multi-person live broadcast room is muted.
  • any live broadcast participant client (such as the anchor client) of the first multi-person live broadcast room can control the second multi-person live broadcast room to unmute. That is, each live broadcast participant client of the first multi-person live broadcast room can hear the voice of each live broadcast participant client of the second multi-person live broadcast room and see the picture.
  • the server can merge the real-time audio and video streams of the second multi-person live broadcast room when obtaining the public stream data of the second multi-person live broadcast room, and merge to obtain the second type of public stream data of the second multi-person live broadcast room.
  • the second multi-person live broadcast room is unmuted.
  • any live broadcast participant client (such as the host client) of the second multi-person live broadcast room controlling the muting and unmuting of the second multi-person live broadcast room is similar to the above process and will not be repeated here.
  • the server when the server merges the real-time video streams of each live broadcast participant client in the second multi-person live broadcast room, the server can obtain the audio and video status information and/or volume information of the real-time multimedia stream of each live broadcast participant client in the second multi-person live broadcast room.
  • the audio and video status information may include whether there is sound, whether the sound is background music, whether it is human voice, and the volume information may be human voice volume information and/or background music volume information.
  • the server can carry the audio and video status information and/or volume information in the public stream data, so that when any live broadcast participant client in the first multi-person live broadcast room decodes the public stream data of the second multi-person live broadcast room, the audio and video status information and/or volume information of the real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room can be obtained.
  • the corresponding audio and video status information and/or volume information can be displayed in the display area corresponding to each live broadcast participant in the public stream data, so that it can be determined which live broadcast participant client in the second multi-person live broadcast room is speaking.
  • each first real-time multimedia stream carries its own audio and video status information and/or volume information.
  • the corresponding audio and video status information and/or volume information can be displayed in the display area corresponding to the first real-time multimedia stream.
  • the audience client can simultaneously watch the live broadcasting process of each live broadcast participant in each multi-person live broadcasting room.
  • any live broadcast participant client in the first multi-person live broadcast room can merge the first real-time multimedia streams and public stream data of each live broadcast participant client in the first multi-person live broadcast room.
  • the merged multimedia stream is uploaded to the server, which is pushed to the viewer client for playback, so that the viewer client can watch the cross-room live broadcast process.
  • the server can also merge the streams.
  • the server can merge the public stream data of the first multi-person live broadcast room with the public stream data of the second multi-person live broadcast room, and push the merged multimedia stream to the viewer client for playback, so that the viewer client can watch the cross-room microphone process.
  • the live broadcast and microphone connection method, device and storage medium obtained the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room through any live broadcast participant client in the first multi-person live broadcast room, and play it; based on the cross-room microphone connection instruction, obtain the public stream data of the second multi-person live broadcast room, wherein the public stream data is the confluence of the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room; play the public stream data.
  • the public stream data is the confluence of the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room; play the public stream data.
  • the number of running decoders is reduced, the pressure on the performance of the live broadcast client is reduced, and the bandwidth and traffic costs are reduced.
  • the cross-room microphone connection termination process is simple, and crosstalk is not easy to occur, which improves the live broadcast and microphone connection experience.
  • FIG. 4 is a schematic diagram of a live broadcast and microphone connection method provided by an embodiment of the present disclosure.
  • the method of this embodiment can be applied in a server, and the live broadcast and microphone connection method includes:
  • S401 transmitting a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room and a second real-time multimedia stream of at least one live broadcast participant client in a second multi-person live broadcast room.
  • the real-time multimedia stream is pushed to the live broadcast participant clients in each multi-person live broadcast room;
  • the real-time multimedia streams in the same multi-person live broadcast room are merged respectively to obtain the public stream data corresponding to the first multi-person live broadcast room and the public stream data corresponding to the second multi-person live broadcast room, and then the first public stream data and the second public stream data are pushed to the live broadcast participant clients of the other multi-person live broadcast room for playback.
  • the live broadcast and microphone connection method in this embodiment is the live broadcast and microphone connection method on the server side in the above S201-S203 corresponding embodiments. Its implementation principle and technical effects can be found in the above embodiments and will not be repeated here.
  • this embodiment can be executed on the same server or in a server cluster.
  • the transmission task of the real-time multimedia stream can be executed on one or more servers, and the task of converging the real-time multimedia stream to obtain public stream data can be executed on another one or more servers.
  • the server that performs the two tasks is controlled in a server cluster as much as possible (for example, in a computer room in the same area) to reduce the time consumption of the real-time multimedia stream detour.
  • An optional server-side architecture can be shown in Figure 5, where each live participant client in the second multi-person live broadcast room pushes the second real-time multimedia stream to server A, and the second multi-person live broadcast room can be connected through server A.
  • connection between the live broadcast participants' clients in the second multi-person live broadcast room can be realized.
  • connection between the live broadcast participants' clients in the first multi-person live broadcast room can be realized through server C.
  • server A sends the second real-time multimedia stream of each live broadcast participant client in the second multi-person live broadcast room to server B, and server B performs the converging operation to obtain the public stream data of the second multi-person live broadcast room, and then pushes the public stream data of the second multi-person live broadcast room to server C.
  • Server C pushes the public stream data of the second multi-person live broadcast room to the clients of each live broadcast participant in the first multi-person live broadcast room.
  • another embodiment of the present disclosure provides a live broadcast and microphone connection method, the live broadcast and microphone connection method comprising:
  • S501 The first real-time multimedia stream of each live broadcast participant client in the first multi-person live broadcast room and the second real-time multimedia stream of each live broadcast participant client in the second multi-person live broadcast room are transmitted. The files are pushed to the live broadcast participant clients in each multi-person live broadcast room.
  • S502 In response to the cross-room live broadcast instruction, a first real-time multimedia stream of multiple live broadcast participant clients in a first multi-person live broadcast room and a second real-time multimedia stream of multiple live broadcast participant clients in a second multi-person live broadcast room are pushed to the live broadcast participant clients in the other multi-person live broadcast room respectively.
  • S503 Combine multiple real-time multimedia streams in the same multi-person live broadcast room to obtain public stream data corresponding to the first multi-person live broadcast room and public stream data corresponding to the second multi-person live broadcast room.
  • S504 Push the first public stream data and the second public stream data to the clients of each live broadcast participant in the other party's multi-person live broadcast room for playback.
  • the live broadcast and microphone connection method in this embodiment is the live broadcast and microphone connection method on the server side in the above S301-S304 corresponding embodiments. Its implementation principle and technical effects can be found in the above embodiments and will not be repeated here.
  • the merging of the first real-time multimedia streams to obtain the first public stream data and the merging of the second real-time multimedia streams to obtain the second public stream data include: responding to a mute command of any multi-person live broadcast room with multiple microphones, merging the real-time video streams of multiple live broadcast participant clients in the multi-person live broadcast room with multiple microphones, and obtaining the first type of public stream data of the multi-person live broadcast room; or responding to a cancel mute command of any multi-person live broadcast room with multiple microphones, merging the real-time audio and video streams of multiple live broadcast participant clients in the multi-person live broadcast room with multiple microphones, and obtaining the second type of public stream data of the multi-person live broadcast room with multiple microphones.
  • the live broadcast and microphone connection method also includes: when merging the public stream data of any multi-person live broadcast and microphone connection room, obtaining the audio and video status information and/or volume information of the real-time multimedia stream of multiple live broadcast participant clients in the multi-person live broadcast and microphone connection room, and carrying it in the public stream data.
  • the live broadcast and microphone connection method also includes: merging the first public stream data and the second public stream data to obtain a merged multimedia stream, and pushing the merged multimedia stream to the audience client for playback; or receiving the merged multimedia stream uploaded by any live broadcast participant client, and pushing the merged multimedia stream to the audience client for playback, wherein the uploaded merged multimedia stream is the real-time multimedia stream of each live broadcast participant client in the multi-person microphone connection live broadcast room where the live broadcast participant client is located, as well as the other party's multi-person microphone connection live broadcast The multimedia stream after the public stream data of the room is merged.
  • FIG6 is a structural block diagram of the live broadcast participant client provided by the embodiment of the present disclosure.
  • the live broadcast participant client 600 includes: a room stream pulling unit 601, a public stream pulling unit 602, and a control unit 603.
  • the room stream pulling unit 601 is used to obtain the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room and play it;
  • the public stream pulling unit 602 is used to obtain the public stream data of the second multi-person live broadcast room based on the cross-room live broadcast instruction, wherein the public stream data is the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room merged;
  • the control unit 603 is used to control the playback of the public stream data.
  • the local room stream pulling unit 601 when obtaining the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room, is used to: obtain from the server the first real-time multimedia stream of at least one other live broadcast participant client in the first multi-person live broadcast room except any one of the live broadcast participant clients.
  • the live broadcast participant client 600 also includes a cross-room streaming unit 604, which is used to: before obtaining the public stream data of the second multi-person live broadcast room, based on the cross-room live broadcast instruction, obtain each of the second real-time multimedia streams respectively and play them; the control unit 603 is also used to stop obtaining and playing the second real-time multimedia stream after playing the public stream data.
  • a cross-room streaming unit 604 which is used to: before obtaining the public stream data of the second multi-person live broadcast room, based on the cross-room live broadcast instruction, obtain each of the second real-time multimedia streams respectively and play them; the control unit 603 is also used to stop obtaining and playing the second real-time multimedia stream after playing the public stream data.
  • the public stream pulling unit 602 when obtaining the public stream data of the second multi-person live broadcast room, is used to: obtain identification information of the public stream data; after merging multiple second real-time multimedia streams on the server side to obtain the public stream data, obtain the public stream data from the server side according to the identification information.
  • the public stream pulling unit 602 when obtaining the public stream data of the second multi-person live broadcast room, is used to: in response to a mute instruction to the second multi-person live broadcast room, obtain the first type of public stream data of the second multi-person live broadcast room from the server, wherein the first type of public stream data is formed by the server converging the real-time video streams of multiple live broadcast participant clients of the second multi-person live broadcast room; or in response to a mute instruction to the second multi-person live broadcast room
  • the unmute command of the microphone live broadcast room obtains the second type of public stream data of the second multi-person microphone live broadcast room from the server, wherein the second type of public stream data is formed by the server converging the real-time audio and video streams of multiple live broadcast participant clients of the second multi-person microphone live broadcast room.
  • control unit 603 when stopping the acquisition and playback of each second real-time multimedia stream, the control unit 603 is used to: stop the acquisition and playback of the second real-time multimedia stream after the first frame of the common stream data is successfully decoded.
  • the common stream data carries audio and video status information and/or volume information of each of the second real-time multimedia streams; when the control unit 603 controls the playback of the common stream data, it also includes: displaying the corresponding audio and video status information and/or volume information in the display area corresponding to each live participant in the common stream data.
  • the cross-room stream pulling unit 604 is used to: pull each of the second real-time multimedia streams from the first multi-person live broadcast room on the server side when respectively obtaining each of the second real-time multimedia streams, wherein each of the second real-time multimedia streams is a plurality of live broadcast participant clients in the second multi-person live broadcast room on the server side, in response to the cross-room live broadcast instruction, pushing their respective second real-time multimedia streams to the first multi-person live broadcast room on the server side.
  • the live broadcast participant client also includes a streaming unit, which is used to: in response to the cross-room microphone connection instruction, push the first real-time multimedia stream collected in real time by any live broadcast participant client to the second multi-person microphone live broadcast room on the server.
  • control unit 603 is further configured to: if the playback of the common stream data fails, control the cross-room stream pulling unit 604 to obtain and play each of the second real-time multimedia streams.
  • the streaming unit is also used to: merge the first real-time multimedia stream of each live broadcast participant client in the first multi-person live broadcast room and the public stream data, and upload the merged multimedia stream to the server for pushing by the server to the audience client for playback.
  • the live broadcast participant client provided in this embodiment can be used to execute the technical solution of the method embodiment of the live broadcast participant client side. Its implementation principle and technical effects are similar, and this embodiment will not be repeated here.
  • FIG. 7 is a structural block diagram of the server provided by the embodiment of the present disclosure.
  • the server 700 includes: a same-room streaming unit 701 , a merging unit 702 , and a public streaming unit 703 .
  • the same-room streaming unit 701 is used to push the first real-time multimedia stream of each live broadcast participant client in the first multi-person live broadcast room and the second real-time multimedia stream of each live broadcast participant client in the second multi-person live broadcast room to the live broadcast participant clients in each multi-person live broadcast room.
  • the public stream push unit 703 is used to push the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room, and push the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room.
  • the server 700 also includes a merging unit 702, which is used to merge multiple real-time multimedia streams in the same multi-person live broadcast room to obtain public stream data corresponding to the first multi-person live broadcast room and public stream data corresponding to the second multi-person live broadcast room.
  • a merging unit 702 which is used to merge multiple real-time multimedia streams in the same multi-person live broadcast room to obtain public stream data corresponding to the first multi-person live broadcast room and public stream data corresponding to the second multi-person live broadcast room.
  • the server 700 also includes a cross-room streaming unit 704, which is used to: before pushing the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room, and pushing the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room, based on the cross-room live broadcast instruction, push the first real-time multimedia stream of multiple live broadcast participant clients in the first multi-person live broadcast room and the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room to the live broadcast participant clients in the other multi-person live broadcast room.
  • a cross-room streaming unit 704 is used to: before pushing the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room, and pushing the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room, based on the cross-room live broadcast instruction,
  • the merging unit 702 is also used to: in response to a mute instruction for any multi-person live broadcast room, merge the real-time video streams of multiple live broadcast participant clients in the multi-person live broadcast room to obtain the first type of public stream data of the multi-person live broadcast room; or in response to a cancel mute instruction for any multi-person live broadcast room, merge the real-time audio and video streams of multiple live broadcast participant clients in the multi-person live broadcast room to obtain the second type of public stream data of the multi-person live broadcast room.
  • the merging unit 702 is further used to: when obtaining the public stream data of any multi-person live broadcast room, obtain the audio and video status information and/or volume information of the real-time multimedia streams of multiple live broadcast participant clients in the multi-person live broadcast room, and carry it in the public stream data. Co-streaming data.
  • the server further includes a viewer streaming unit, which is used to: merge the first public stream data and the second public stream data to obtain a merged multimedia stream, and push the merged multimedia stream to a viewer client for playback; or
  • the merged multimedia stream is a multimedia stream merged by the real-time multimedia streams of each live broadcast participant client in the multi-person live broadcast room where the live broadcast participant client is located and the public stream data of the other party's multi-person live broadcast room.
  • the server provided in this embodiment can be used to execute the technical solution of the above-mentioned server-side method embodiment. Its implementation principle and technical effects are similar, and this embodiment will not be repeated here.
  • FIG8 it shows a schematic diagram of the structure of an electronic device 800 suitable for implementing the embodiment of the present disclosure
  • the electronic device 800 may be a terminal device or a server.
  • the terminal device may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (Portable Android Devices, PADs), portable multimedia players (PMPs), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc.
  • PDAs personal digital assistants
  • PADs Portable Android Devices
  • PMPs portable multimedia players
  • vehicle terminals such as vehicle navigation terminals
  • fixed terminals such as digital TVs, desktop computers, etc.
  • the electronic device shown in FIG8 is only an example and should not bring any limitation to the functions and scope of use of the embodiment of the present disclosure.
  • the electronic device 800 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801, which may perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 to a random access memory (RAM) 803.
  • a processing device 801 e.g., a central processing unit, a graphics processing unit, etc.
  • RAM random access memory
  • Various programs and data required for the operation of the electronic device 800 are also stored in the RAM 803.
  • the processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804.
  • An input/output (I/O) interface 805 is also connected to the bus 804.
  • the following devices may be connected to the I/O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 808 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 809.
  • the communication devices 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange information.
  • FIG8 shows an electronic device 800 having various devices, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
  • an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart.
  • the computer program can be downloaded and installed from a network through a communication device 809, or installed from a storage device 808, or installed from a ROM 802.
  • the processing device 801 the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
  • the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above.
  • Computer-readable storage media may 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.
  • a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device.
  • a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried.
  • This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above.
  • the computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may 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 may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
  • the computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
  • the computer-readable medium carries one or more programs.
  • the electronic device executes the method shown in the above embodiment.
  • Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages.
  • the program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server.
  • 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., via the Internet using an Internet service provider).
  • LAN Local Area Network
  • WAN Wide Area Network
  • each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function.
  • the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved.
  • each square box in the block diagram and/or flow chart, and the combination of the square boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments described in the present disclosure may be implemented by software or hardware.
  • the name of a unit does not limit the unit itself in some cases.
  • the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses".
  • exemplary types of hardware logic components include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • ASSPs application specific standard products
  • SOCs systems on chips
  • CPLDs complex programmable logic devices
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing.
  • a more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 foregoing.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or flash memory erasable programmable read-only memory
  • CD-ROM portable compact disk read-only memory
  • CD-ROM compact disk read-only memory
  • magnetic storage device or any suitable combination of the foregoing.
  • a live broadcast and microphone connection method is provided, which is applied to any live broadcast participant client in a first multi-person live broadcast and microphone connection room, and the method includes: obtaining a first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast and microphone connection room, and playing it; based on a cross-room live broadcast and microphone connection instruction, obtaining public stream data of a second multi-person live broadcast and microphone connection room, wherein the public stream data is formed by merging the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast and microphone connection room; and playing the public stream data.
  • obtaining the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room includes: obtaining from the server the first real-time multimedia stream of at least one other live broadcast participant client in the first multi-person live broadcast room except any of the live broadcast participant clients.
  • the method further includes: before obtaining the public stream data of the second multi-person live broadcast room, based on the cross-room live broadcast instruction, respectively obtaining the second real-time multimedia stream and playing it; after playing the public stream data, stopping the acquisition and playback of the second real-time multimedia stream.
  • obtaining the common stream data of the second multi-person live broadcast room includes: obtaining identification information of the common stream data; after merging multiple of the second real-time multimedia streams on the server side to obtain the common stream data, obtaining the common stream data from the server side according to the identification information.
  • obtaining the public stream data of the second multi-person live broadcast room includes: in response to a mute instruction for the second multi-person live broadcast room, obtaining the first type of public stream data of the second multi-person live broadcast room from the server, wherein the first type of public stream data
  • the co-stream data is formed by the server combining the real-time video streams of multiple live broadcast participant clients in the second multi-person live broadcast room; or in response to an unmute instruction to the second multi-person live broadcast room, the second type of public stream data of the second multi-person live broadcast room is obtained from the server, wherein the second type of public stream data is formed by the server combining the real-time audio and video streams of multiple live broadcast participant clients in the second multi-person live broadcast room.
  • the stopping of acquiring and playing each of the second real-time multimedia streams includes: after the first frame of the common stream data is decoded successfully, stopping acquiring and playing each of the second real-time multimedia streams.
  • the common stream data carries audio and video status information and/or volume information of multiple second real-time multimedia streams; when playing the common stream data, it also includes: displaying the corresponding audio and video status information and/or volume information in the display area corresponding to each live participant in the common stream data.
  • respectively obtaining each of the second real-time multimedia streams includes: pulling each of the second real-time multimedia streams from the first multi-person live broadcast room on the server side, wherein each of the second real-time multimedia streams is pushed by each live broadcast participant client in the second multi-person live broadcast room to the first multi-person live broadcast room on the server side in response to the cross-room live broadcast instruction.
  • the method further includes: in response to the cross-room microphone connection instruction, pushing the first real-time multimedia stream collected in real time by the client of any live broadcast participant to the second multi-person microphone connection live broadcast room of the server.
  • the method further includes: if the playback of the common stream data fails, acquiring the second real-time multimedia stream and playing it.
  • the method also includes: merging the first real-time multimedia stream of each live broadcast participant client in the first multi-person live broadcast room and the common stream data, and uploading the merged multimedia stream to the server for pushing by the server to the audience client for playback.
  • a live broadcast and microphone connection device which is applied to a server.
  • the method comprises: pushing a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person microphone connection live broadcast room and a second real-time multimedia stream of at least one live broadcast participant client in a second multi-person microphone connection live broadcast room to the respective multi-person microphone connection live broadcast rooms.
  • push the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant client in the second multi-person live broadcast room and push the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant client in the first multi-person live broadcast room.
  • the present disclosure before pushing the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room, and pushing the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room, it also includes: based on the cross-room live broadcast instruction, pushing the first real-time multimedia stream of multiple live broadcast participant clients in the first multi-person live broadcast room and the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room to the live broadcast participant clients in the other multi-person live broadcast room respectively.
  • the method also includes: in response to a mute instruction for any multi-person live broadcast room, merging the real-time video streams of multiple live broadcast participant clients in the multi-person live broadcast room to obtain the first type of public stream data of the multi-person live broadcast room; or in response to an unmute instruction for any multi-person live broadcast room, merging the real-time audio and video streams of multiple live broadcast participant clients in the multi-person live broadcast room to obtain the second type of public stream data of the multi-person live broadcast room.
  • the method also includes: when merging the public stream data of any multi-person live broadcast room, obtaining the audio and video status information and/or volume information of the real-time multimedia stream of multiple live broadcast participant clients in the multi-person live broadcast room, and carrying it in the public stream data.
  • the method also includes: merging the first public stream data and the second public stream data to obtain a merged multimedia stream, and pushing the merged multimedia stream to the audience client for playback; or receiving the merged multimedia stream uploaded by any live broadcast participant client, and pushing the merged multimedia stream to the audience client for playback, wherein the uploaded merged multimedia stream is a multimedia stream obtained by merging the real-time multimedia streams of each live broadcast participant client in the multi-person live broadcast room where the live broadcast participant client is located and the public stream data of the other party's multi-person live broadcast room.
  • a live broadcast participant client comprising: a local room streaming unit for acquiring at least one of the first multi-person live broadcast rooms; The first real-time multimedia stream of the live broadcast participant client is obtained and played; a public stream pulling unit is used to obtain the public stream data of the second multi-person live broadcast room based on the cross-room live broadcast instruction, wherein the public stream data is the second real-time multimedia streams of multiple live broadcast participant clients in the second multi-person live broadcast room combined; a control unit is used to control the playback of the public stream data.
  • the stream pulling unit in this room when the stream pulling unit in this room obtains the first real-time multimedia stream of at least one live broadcast participant client in the first multi-person live broadcast room, it is used to: obtain the first real-time multimedia stream of at least one other live broadcast participant client in the first multi-person live broadcast room except any one of the live broadcast participant clients from the server.
  • the live broadcast participant client also includes a cross-room streaming unit, which is used to: before obtaining the public stream data of the second multi-person live broadcast room, based on the cross-room live broadcast instruction, respectively obtain each of the second real-time multimedia streams and play them; the control unit is also used to stop obtaining and playing each of the second real-time multimedia streams after playing the public stream data.
  • a cross-room streaming unit which is used to: before obtaining the public stream data of the second multi-person live broadcast room, based on the cross-room live broadcast instruction, respectively obtain each of the second real-time multimedia streams and play them; the control unit is also used to stop obtaining and playing each of the second real-time multimedia streams after playing the public stream data.
  • the public stream pulling unit when the public stream pulling unit obtains the public stream data of the second multi-person live broadcast room, it is used to: obtain identification information of the public stream data; after merging multiple second real-time multimedia streams on the server side to obtain the public stream data, obtain the public stream data from the server side according to the identification information.
  • the public stream pulling unit when obtaining the public stream data of the second multi-person live broadcast room with multiple microphones connected, is used to: in response to a mute instruction to the second multi-person live broadcast room with multiple microphones connected, obtain the first type of public stream data of the second multi-person live broadcast room with multiple microphones connected from the server, wherein the first type of public stream data is formed by the server end merging the real-time video streams of multiple live broadcast participant clients in the second multi-person live broadcast room with multiple microphones connected; or in response to a unmute instruction to the second multi-person live broadcast room with multiple microphones connected, obtain the second type of public stream data of the second multi-person live broadcast room with multiple microphones connected from the server, wherein the second type of public stream data is formed by the server end merging the real-time audio and video streams of multiple live broadcast participant clients in the second multi-person live broadcast room with multiple microphones connected.
  • control unit when stopping the acquisition and playback of each second real-time multimedia stream, the control unit is used to: stop the acquisition and playback of the second real-time multimedia stream after the first frame of the common stream data is successfully decoded.
  • the common stream data carries the audio and video status information and/or volume information of the plurality of second real-time multimedia streams;
  • the public stream data also includes: displaying corresponding audio and video status information and/or volume information in a display area corresponding to each live broadcast participant in the public stream data.
  • the cross-room stream pulling unit when the cross-room stream pulling unit obtains each of the second real-time multimedia streams respectively, it is used to: pull each of the second real-time multimedia streams from the first multi-person live broadcast room on the server side, wherein each of the second real-time multimedia streams is pushed by each live broadcast participant client in the second multi-person live broadcast room to the first multi-person live broadcast room on the server side in response to the cross-room live broadcast instruction.
  • the live broadcast participant client also includes a streaming unit, which is used to: in response to the cross-room microphone connection instruction, push the first real-time multimedia stream collected in real time by any live broadcast participant client to the second multi-person microphone live broadcast room on the server side.
  • control unit is further configured to: if the playback of the common stream data fails, re-control the cross-room stream pulling unit to obtain each of the second real-time multimedia streams and play them.
  • the streaming unit is also used to: merge the first real-time multimedia stream of each live broadcast participant client in the first multi-person live broadcast room and the public stream data, and upload the merged multimedia stream to the server for being pushed by the server to the audience client for playback.
  • a server including: a same-room streaming unit, used to push a first real-time multimedia stream of at least one live broadcast participant client in a first multi-person live broadcast room and a second real-time multimedia stream of at least one live broadcast participant client in a second multi-person live broadcast room to the live broadcast participant clients in the respective multi-person live broadcast rooms; a public stream streaming unit, used to push the first public stream data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room based on a cross-room live broadcast instruction, and push the second public stream data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room.
  • the server further includes a cross-room streaming unit, which is used to: before pushing the first public streaming data corresponding to the first multi-person live broadcast room to the live broadcast participant clients in the second multi-person live broadcast room, and before pushing the second public streaming data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room, based on the cross-room live broadcast instruction, push the first public streaming data corresponding to the second multi-person live broadcast room to the live broadcast participant clients in the first multi-person live broadcast room.
  • the real-time multimedia stream and the second real-time multimedia stream of multiple live broadcast participant clients in the second multi-person live broadcast room are pushed to the live broadcast participant clients in the other multi-person live broadcast room respectively.
  • the merging unit is also used for: in response to a mute instruction for any multi-person live broadcast room, merging the real-time video streams of the German live broadcast participant clients in the multi-person live broadcast room to obtain the first type of public stream data of the multi-person live broadcast room; or in response to an unmute instruction for any multi-person live broadcast room, merging the real-time audio and video streams of multiple live broadcast participant clients in the multi-person live broadcast room to obtain the second type of public stream data of the multi-person live broadcast room.
  • the merging unit is also used to: when obtaining public stream data of any multi-person live broadcast room, obtain the audio and video status information and/or volume information of the real-time multimedia stream of multiple live broadcast participant clients in the multi-person live broadcast room, and carry it in the public stream data.
  • the server also includes an audience streaming unit, which is used to: merge the first public stream data and the second public stream data to obtain a merged multimedia stream, and push the merged multimedia stream to the audience client for playback; or receive the merged multimedia stream uploaded by any live broadcast participant client, and push the merged multimedia stream to the audience client for playback, wherein the uploaded merged multimedia stream is a multimedia stream obtained by merging the real-time multimedia streams of each live broadcast participant client in the multi-person live broadcast room where the live broadcast participant client is located and the public stream data of the other party's multi-person live broadcast room.
  • an audience streaming unit which is used to: merge the first public stream data and the second public stream data to obtain a merged multimedia stream, and push the merged multimedia stream to the audience client for playback; or receive the merged multimedia stream uploaded by any live broadcast participant client, and push the merged multimedia stream to the audience client for playback, wherein the uploaded merged multimedia stream is a multimedia stream obtained by merging the real-time multimedia streams of each live broadcast participant client in the multi-person
  • an electronic device 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 live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the live broadcast and microphone connection method described in the second aspect and various possible designs of the second aspect.
  • a computer-readable storage medium stores computer execution instructions.
  • a processor executes the computer execution instructions, the live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the live broadcast and microphone connection method described in the second aspect and various possible designs of the second aspect is implemented.
  • a computer program generating The product includes computer-executable instructions.
  • a processor executes the computer-executable instructions, the live broadcast and microphone connection method described in the first aspect and various possible designs of the first aspect, or the live broadcast and microphone connection method described in the second aspect and various possible designs of the second aspect are implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例提供一种直播连麦方法、设备及存储介质,通过第一多人连麦直播房间中任一直播参与者客户端获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;播放所述公共流数据。在跨房间连麦时对于对方多人连麦直播房间只需要获取一路公共流数据,减轻对直播客户端性能的压力,降低带宽和流量成本,提高直播连麦体验。

Description

直播连麦方法、设备及存储介质
本申请要求2023年6月16日递交的、标题为“直播连麦方法、设备及存储介质”、申请号为202310721520.0的中国发明专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本公开实施例涉及计算机与网络通信技术领域,尤其涉及一种直播连麦方法、设备及存储介质。
背景技术
在网络直播的过程中,连麦是一种主播经常采用的与其它主播进行互动直播的方式。基于这种方式,当前直播间的主播可以邀请其它主播一起进行直播。
现有技术中在连麦直播时,每一直播参与者客户端需要从服务端获取所有其他直播参与者客户端的音视频流。如果直播参与者较多,对客户端造成性能压力,带宽和流量成本较高,且容易出现问题,严重影响体验。
发明内容
本公开实施例提供一种直播连麦方法、设备及存储介质,以在跨房间连麦时减轻直播客户端性能的压力,降低带宽和流量成本,提高了直播连麦体验。
第一方面,本公开实施例提供一种直播连麦方法,应用于第一多人连麦直播房间中的任一直播参与者客户端,所述方法包括:获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;播放所述公共流数据。
第二方面,本公开实施例提供一种直播连麦方法,应用于服务端,所述方法包括:将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
第三方面,本公开实施例提供一种直播参与者客户端,包括:本房间拉流单元,用于获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;公共流拉流单元,用于基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;控制单元,用于控制播放所述公共流数据
第四方面,本公开实施例提供一种服务端,包括:同房推流单元,用于将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;公共流推流单元,用于基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
第五方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第二方面以及第二方面各种可能的设计所述的直播连麦方法。
第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第 二方面以及第二方面各种可能的设计所述的直播连麦方法。
第七方面,本公开实施例提供一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第二方面以及第二方面各种可能的设计所述的直播连麦方法。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为现有技术中一种跨房间直播连麦方法的界面示例图;
图1b为现有技术中一种跨房间直播连麦方法的系统示意图;
图2为本公开一实施例提供的直播连麦方法的系统示意图;
图3为本公开一实施例提供的直播连麦方法流程示意图;
图4为本公开另一实施例提供的直播连麦方法流程示意图;
图5为本公开一实施例提供的服务端架构示意图;
图6为本公开一实施例提供的直播参与者客户端的结构框图;
图7为本公开一实施例提供的服务端的结构框图;
图8为本公开一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在网络直播的过程中,连麦是一种主播经常采用的与其它主播进行互动直播的方式。基于这种方式,当前直播间的主播可以邀请其它主播一起进行直播。现有技术中,在连麦直播时,每一直播参与者客户端需要从服务端拉 取直播间内所有其他直播参与者客户端的音视频流。
在一种跨房间连麦直播场景中,一个直播房间中已有多个主播连麦,另一个直播房间中也有多个主播连麦,而两个直播房间之间可以进行跨房间连麦(例如直播房间之间的对战活动),使得跨房间连麦的直播房间内的所有主播之间可以进行交流。每一直播房间的主播客户端可同时观看到两个直播房间内所有主播的画面,如图1a所示。
若基于现有技术中的连麦直播方式,在跨房间连麦直播时,每一直播参与者客户端除了拉取本直播房间内所有直播参与者客户端的音视频流外,还需要将其音视频流推流到对面直播房间中,并且还需要拉取对面直播房间所有直播参与者客户端的音视频流。其过程如图1b所示,基于服务端,直播房间1各直播参与者客户端除了向直播房间1推音视频流外,还需要向直播房间2推音视频流,同样的,直播房间2各直播参与者客户端除了向直播房间2推音视频流外,还需要向直播房间2推音视频流。这样,直播房间1各直播参与者客户端除了需要从直播房间1中拉取本直播房间其他直播参与者客户端的音视频流外,还需要拉取直播房间2各直播参与者客户端推送到直播房间1中的音视频流。直播房间2各直播参与者客户端除了需要从直播房间2中拉取本直播房间其他直播参与者客户端的音视频流外,还需要拉取直播房间1各直播参与者客户端推送到直播房间2中的音视频流。
在跨房间连麦直播中,如果直播参与者较多,则需要拉取的音视频流较多,且每一路音视频流都需要运行一个解码器来解码,对客户端造成性能压力。例如需要拉取11路音视频流,需要运行11个解码器。由于拉取的音视频流较多,且每一路音视频流为低延迟的RTC(Real-Time Communications,实时通讯)音视频流,带宽和流量成本较高;且容易出现问题。例如在跨房间连麦结束时,需要停止拉取对面直播房间所有直播参与者客户端的音视频流。但是若对面直播房间任一直播参与者客户端的音视频流未停止向本直播房间推流,则本直播房间各直播参与者客户端的仍能拉到该音视频流,出现串音的问题,严重影响体验。
为了解决上述技术问题,本公开提供一种直播连麦方法,为了减少实时多媒体流的数量、可考虑对多条实时多媒体流进行合流,也即采用WebRTC技术中MCU(Multipoint Conferencing Unit,多点会议单元)架构。但是由于 MCU架构存在延迟,若所有实时多媒体流都进行合流,则会影响直播连麦的实时性。考虑到跨房间连麦时,在某些场景中例如在房间之间对战等场景中,同一多人连麦直播房间内的各直播参与者之间需要实时通话,而不同多人连麦直播房间的各直播参与者之间不需要实时通话(可能一个多人连麦直播房间将另一个之间多人连麦直播房间进行静音),对实时性要求不高,因此可将WebRTC技术中MCU架构和SFU(Selective Forwarding Unit,选择性转发单元)架构(现有技术)结合。也即只将对方多人连麦直播房间的每一直播参与者客户端的实时多媒体流合并为一路公共流数据,而本房间的每一直播参与者客户端的实时多媒体流仍然单独实时拉取。这样只需要拉取对方多人连麦直播房间的公共流数据,而无需分别拉取对方多人连麦直播房间的各直播参与者客户端的实时多媒体流。并且减少了运行解码器的数量,减轻对直播客户端性能的压力,降低了带宽和流量成本。并且跨房间连麦结束过程简单,不容易出现串音现象,提高直播连麦体验。
具体的,直播连麦方法过程可包括,通过第一多人连麦直播房间中任一直播参与者客户端获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中公共流数据为由第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成的一路多媒体流;播放公共流数据。此时如图2所示,第一多人连麦直播房间中任一直播参与者客户端所拉取的数据包括当前所在的第一多人连麦直播房间中至少一个其他直播参与者客户端的第一实时多媒体流、以及第二多人连麦直播房间的公共流数据,从而实现跨房间连麦。对于第一多人连麦直播房间中其他直播参与者客户端、第二多人连麦直播房间中各直播参与者客户端与图2类似,此处不再一一示出。
需要说明的是,本申请所涉及的用户信息和数据,均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面将结合具体实施例对本公开的直播连麦方法进行详细介绍。
参考图3,图3为本公开一实施例提供的直播连麦方法流程示意图。本 实施例的方法可以应用在直播参与者客户端中,该直播连麦方法包括:
S201、获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放。
在本实施例中,第一多人连麦直播房间的直播参与者客户端是第一连麦直播房间中参与连麦的客户端。第一多人连麦直播房间中多个直播参与者(包括主播和嘉宾)客户端之间进行连麦,也即第一多人连麦直播房间中的每一个直播参与者客户端可以获取到第一多人连麦直播房间中除了本直播参与者客户端之外的其他直播参与者客户端的实时多媒体流(记为第一实时多媒体流),并在客户端界面中播放。这使得第一多人连麦直播房间中的每一个直播参与者在其客户端界面中除了可以看到自己的画面外,还可以同时播放第一多人连麦直播房间中其他直播参与者的画面和声音。当然,第一多人连麦直播房间中的任一直播参与者客户端也可关闭视频和音频的采集。也即该直播参与者客户端不采集自身的第一实时多媒体流,也不向服务端发送自身的第一实时多媒体流,但可以从服务端获取其他直播参与者客户端的第一实时多媒体流。也即在其客户端界面中看不到自己的画面,但可以播放第一多人连麦直播房间中其他直播参与者的画面和声音。因此,对于第一多人连麦直播房间中任一直播参与者客户端,可以从服务端获取到除了自身之外至少一个其他直播参与者客户端的第一实时多媒体流。若其他直播参与者客户端全部关闭视频和音频的采集,则可仅播放自身的第一实时多媒体流。
可选的,第一多人连麦直播房间为RTC房间。RTC也即WebRTC(Web Real-Time Communications),是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。相应的,第一实时多媒体流为RTC流,RTC房间中的每一个直播参与者客户端可以将自己的RTC流推送到服务端中RTC房间,也可从服务端中RTC房间拉取其他直播参与者客户端的RTC流。
同样的,第二多人连麦直播房间是另一个多人连麦直播房间,第一多人连麦直播房间的直播参与者客户端是第二连麦直播房间中参与连麦的客户端,第二多人连麦直播房间中多个直播参与者(包括主播和嘉宾)客户端之间同样进行连麦。也即第二多人连麦直播房间中的每一个直播参与者客户端可以 获取到第二多人连麦直播房间中至少一个其他直播参与者客户端的实时多媒体流(记为第二实时多媒体流),并在客户端界面中播放。这使得第二多人连麦直播房间中的每一个直播参与者在其客户端上可以播放所获取到的第二多人连麦直播房间中至少一个其他直播参与者的画面和声音,也可以看到自己的画面(若关闭视频和音频的采集,则看不到自己的画面)。
S202、获取所述第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成。
在本实施例中,在需要第一多人连麦直播房间和第二多人连麦直播房间之间进行跨房间连麦时,可以由任一多人连麦直播房间中的任一直播参与者客户端向对方多人连麦直播房间发起跨房间连麦请求。在对方多人连麦直播房间中的任一直播参与者客户端同意跨房间连麦请求后,第一多人连麦直播房间和第二多人连麦直播房间之间开始跨房间连麦。
由于在第一多人连麦直播房间和第二多人连麦直播房间之间跨房间连麦时,在房间之间对战等场景中,同一多人连麦直播房间内的各直播参与者之间需要实时通话,而不同多人连麦直播房间的各直播参与者之间不需要实时通话,也可能一个多人连麦直播房间将另一个之间多人连麦直播房间进行静音,因此对实时性要求不高。而且为了避免跨房间连麦需要拉取对方多人连麦直播房间的每一直播参与者客户端的实时多媒体流、且需要对每一个实时多媒体流运行一个解码器,造成对客户端性能的压力、以及增加带宽和流量成本,因此,本实施例中将对方多人连麦直播房间的每一直播参与者客户端的实时多媒体流合并为一路公共流数据。这样只需要拉取对方多人连麦直播房间的公共流数据,而无需分别拉取对方多人连麦直播房间的多个直播参与者客户端的实时多媒体流。
其中,由于在RTC技术中,RTC房间支持用户不进入房间即可直接拉取RTC房间内的多媒体流,可以称之为公共流。该公共流是该RTC房间多媒体流的合流。因此本实施例中可应用RTC房间获取公共流的方法获取每一多人连麦直播房间的公共流数据。此外,公共流数据仍可通过RTC流方式发布,以尽可能降低延迟。
可选的,可分别第一多人连麦直播房间的公共流数据和第二多人连麦直 播房间的公共流数据配置公共流数据的标识信息(ID)。公共流数据的标识信息可以是服务端配置,或者也可由直播参与者客户端配置,并且使得第一多人连麦直播房间的各直播参与者客户端知晓第二多人连麦直播房间的公共流数据的标识信息,第二多人连麦直播房间的各直播参与者客户端知晓第一多人连麦直播房间的公共流数据的标识信息。进一步的,第一多人连麦直播房间的任一直播参与者客户端可根据第二多人连麦直播房间的公共流数据的标识信息获取第二多人连麦直播房间的公共流数据。第二多人连麦直播房间的任一直播参与者客户端可根据第一多人连麦直播房间的公共流数据的标识信息获取第一多人连麦直播房间的公共流数据。可选的,可通过发布/订阅模式根据公共流数据的标识信息获取公共流数据。
S203、播放所述公共流数据。
在本实施例中,第一多人连麦直播房间的任一直播参与者客户端在获取到第二多人连麦直播房间的公共流数据后,可播放该公共流数据。此时仍需继续获取第一多人连麦直播房间中其他直播参与者客户端的第一实时多媒体流进行播放,以保证第一多人连麦直播房间的实时性。同样的,对于第二多人连麦直播房间的任一直播参与者客户端,在获取到第一多人连麦直播房间的公共流数据后,可播放该公共流数据。也仍需继续获取第二多人连麦直播房间中其他直播参与者客户端的第二实时多媒体流进行播放,以保证第二多人连麦直播房间的实时性。
对于第二多人连麦直播房间的任一直播参与者客户端,与第一多人连麦直播房间的任一直播参与者客户端的步骤类似,此处不再赘述。
在本实施例中,在需要结束跨房间连麦时,第一多人连麦直播房间的任一直播参与者客户端可直接停止对第二多人连麦直播房间的公共流数据的获取和播放即可,不会出现串音问题。
本实施例提供的直播连麦方法,通过第一多人连麦直播房间中任一直播参与者客户端获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为由第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;播放所述公共流数据。在跨房间连麦时对于对方多人连麦直播房间只需要获取一路公共流数据,避 免拉取对方多人连麦直播房间的每一直播参与者客户端的实时多媒体流,降低了带宽和流量成本,且减轻对直播客户端性能的压力。其中由于减少了拉流数量,减少了运行解码器的数量,降低了CPU开销,同时在GPU渲染时减少了需要渲染的画面,减少了绘制指令,降低了GPU开销。并且跨房间连麦结束过程简单,不容易出现串音现象,提高直播连麦体验。
在上述任一实施例的基础上,本公开另一实施例提供一种直播连麦方法,该直播连麦方法包括:
S301、获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放。该步骤同S201。
S302、基于跨房间连麦指令,获取第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流,并进行播放。
在本实施例中,在需要第一多人连麦直播房间和第二多人连麦直播房间之间进行跨房间连麦时,可以由任一多人连麦直播房间中的任一直播参与者客户端向对方多人连麦直播房间发起跨房间连麦请求,在对方多人连麦直播房间中的任一直播参与者客户端同意跨房间连麦请求后,第一多人连麦直播房间和第二多人连麦直播房间之间开始跨房间连麦,向两个多人连麦直播房间各直播参与者客户端下发跨房间连麦指令。考虑到服务端进行合流操作需要一定的时间,因此每个直播参与者客户端可根据跨房间连麦指令分别获取对方多人连麦直播房间中多个直播参与者客户端的实时多媒体流,以保证快速响应跨房间连麦指令,而无需等待公共流数据。
例如第一多人连麦直播房间中的任一直播参与者客户端分别获取第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流,并在客户端界面中进行播放,使得该直播参与者客户端在其客户端界面中除了播放自己的画面以及第一多人连麦直播房间中至少一个其他直播参与者的画面和声音(若关闭视频和音频的采集,则看不到自己的画面)之外,还可以同时播放第二多人连麦直播房间中多个直播参与者的画面和声音。第二多人连麦直播房间中的任一直播参与者客户端分别获取第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流,并在客户端界面中进行播放,使得该直播参与者客户端在其客户端界面中除了播放自己的画面(若关闭视频和音频的采集,则看不到自己的画面)以及第二多人连麦直播房间中至少一个其他 直播参与者的画面和声音之外,还可以同时播放第一多人连麦直播房间中多个直播参与者的画面和声音。
可选的,响应于跨房间连麦指令,第二多人连麦直播房间中多个直播参与者客户端将其各自的第二实时多媒体流推送到服务端的第一多人连麦直播房间中。第一多人连麦直播房间中多个直播参与者客户端将其各自的第一实时多媒体流推送到服务端的第二多人连麦直播房间中。
可选的,也可由服务端响应于跨房间连麦指令,进行跨房间推流。也即将服务端中第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流推送给第二多人连麦直播房间,将服务端中第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流推送给第一多人连麦直播房间,每一直播参与者客户端可从服务端中各自的多人连麦直播房间中同时获取各第一实时多媒体流以及各第二实时多媒体流以进行播放。
S303、基于跨房间连麦指令,获取所述第二多人连麦直播房间的公共流数据。
在本实施例中,在服务端对各第二实时多媒体流合流得到公共流数据后,第一多人连麦直播房间中的任一直播参与者客户端可获取第二多人连麦直播房间的公共流数据。同样的,在服务端对各第一实时多媒体流合流得到公共流数据后,第二多人连麦直播房间中的任一直播参与者客户端可获取第一多人连麦直播房间的公共流数据。具体可参见S202。
S304、播放所述公共流数据,并停止对所述第二实时多媒体流的获取和播放。
在本实施例中,第一多人连麦直播房间的任一直播参与者客户端在获取到第二多人连麦直播房间的公共流数据后,可播放该公共流数据,以替换所播放的第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流。也即可以停止对多个第二实时多媒体流的获取(mute操作)和播放,但是仍需继续获取第一多人连麦直播房间中至少一个其他直播参与者客户端的第一实时多媒体流进行播放,以保证第一多人连麦直播房间的实时性。
同样的,对于第二多人连麦直播房间的任一直播参与者客户端,在获取到第一多人连麦直播房间的公共流数据后,可播放该公共流数据,以替换所播放的第一多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流。 也即可以停止对多个第一实时多媒体流的获取(mute操作)和播放,但是仍需继续获取第二多人连麦直播房间中至少一个其他直播参与者客户端的第二实时多媒体流进行播放,以保证第二多人连麦直播房间的实时性。
可选的,第一多人连麦直播房间的任一直播参与者客户端为了保证各第二实时多媒体流与公共流数据之间顺畅切换而无卡顿,可在获取到公共流数据后,保持各第二实时多媒体流播放的同时,对公共流数据进行解码。在公共流数据的首帧解码成功后,再进行第二实时多媒体流与公共流数据的切换。也即播放公共流数据,并停止对多个第二实时多媒体流的获取和播放。当然,若该公共流数据的首帧解码失败,则可继续对多个第二实时多媒体流进行获取和播放。
可选的,第一多人连麦直播房间的任一直播参与者客户端在播放公共流数据的过程中,若出现播放失败的情况,例如传输中断或解码错误等导致的播放失败,可获取多个第二实时多媒体流,并进行播放。也即由公共流数据切回多个第二实时多媒体流,保证连麦的继续进行。或者在第一多人连麦直播房间和第二多人连麦直播房间之间各直播参与者客户端需要跨房间实时通话时。也可由公共流数据切回多个第二实时多媒体流,以保证跨房间通话的实时性。
在上述任一实施例的基础上,S202所述的获取所述第二多人连麦直播房间的公共流数据,具体可包括:响应于对第二多人连麦直播房间的静音指令,从服务端获取所述第二多人连麦直播房间的第一类公共流数据,其中所述第一类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时视频流合流而成;或者响应于对第二多人连麦直播房间的取消静音指令,从服务端获取所述第二多人连麦直播房间的第二类公共流数据,其中所述第二类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时音视频流合流而成。
在本实施例中,第一多人连麦直播房间的任一直播参与者客户端(例如主播客户端)可控制第二多人连麦直播房间静音。也即第一多人连麦直播房间的各直播参与者客户端均听不到第二多人连麦直播房间的各直播参与者客户端的声音,但是可以看到画面。可通过触发对第二多人连麦直播房间的静音指令,使得服务端在获取第二多人连麦直播房间的公共流数据时,仅对第 二多人连麦直播房间的实时视频流合流进行合流,合流得到第二多人连麦直播房间的第一类公共流数据,第一多人连麦直播房间的任一直播参与者客户端获取并播放第二多人连麦直播房间的第一类公共流数据时,实现对第二多人连麦直播房间静音。
类似的,第一多人连麦直播房间的任一直播参与者客户端(例如主播客户端)可控制第二多人连麦直播房间取消静音。也即第一多人连麦直播房间的各直播参与者客户端均可听到第二多人连麦直播房间的各直播参与者客户端的声音、可以看到画面。可通过触发对第二多人连麦直播房间的取消静音指令,使得服务端在获取第二多人连麦直播房间的公共流数据时对第二多人连麦直播房间的实时音视频流合流进行合流,合流得到第二多人连麦直播房间的第二类公共流数据。第一多人连麦直播房间的任一直播参与者客户端获取并播放第二多人连麦直播房间的第二类公共流数据时,实现对第二多人连麦直播房间取消静音。
第二多人连麦直播房间的任一直播参与者客户端(例如主播客户端)控制第二多人连麦直播房间静音和取消静音与上述过程类似,此处不再赘述。
在上述任一实施例的基础上,服务端在对第二多人连麦直播房间的各直播参与者客户端的实时视频流进行合流时,可获取第二多人连麦直播房间各直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息。在一些实施例中,音视频状态信息可包括是否存在声音、该声音是否为背景音乐、是否为人声,音量信息则可以为人声音量信息和/或背景音乐音量信息。进一步的,服务端可将音视频状态信息和/或音量信息携带于公共流数据中,使得第一多人连麦直播房间的任一直播参与者客户端解码第二多人连麦直播房间的公共流数据时,获取到第二多人连麦直播房间多个直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息。在播放公共流数据时,可在公共流数据中每个直播参与者对应的显示区域中显示对应的音视频状态信息和/或音量信息,从而可以确定第二多人连麦直播房间哪一个直播参与者客户端在发声。
而第一多人连麦直播房间的任一直播参与者客户端获取当前所在的第一多人连麦直播房间中至少一个其他直播参与者客户端的第一实时多媒体流时,每一第一实时多媒体流携带有各自的音视频状态信息和/或音量信息。第一多 人连麦直播房间的任一直播参与者客户端在播放任一第一实时多媒体流时,可在该第一实时多媒体流对应的显示区域中显示对应的音视频状态信息和/或音量信息。从而可以确定第一多人连麦直播房间哪一个直播参与者客户端在发声。
在上述任一实施例的基础上,在跨房间连麦过程中,观众客户端可以同时观看到各多人连麦直播房间中各直播参与者的直播连麦过程。
可选的,可以由第一多人连麦直播房间的任一直播参与者客户端将第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及公共流数据进行合流。将合流后的多媒体流上传服务端,由服务端推送给观众客户端进行播放,使得观众客户端可以观看跨房间连麦过程。
可选的,考虑到由直播参与者客户端进行合流增加了直播客户端性能的压力,也可由服务端进行合流。服务端可对第一多人连麦直播房间的公共流数据和第二多人连麦直播房间的公共流数据进行合流,将合流后的多媒体流,由服务端推送给观众客户端进行播放,使得观众客户端可以观看跨房间连麦过程。
本公开实施例提供的直播连麦方法、设备及存储介质,通过第一多人连麦直播房间中任一直播参与者客户端获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为由第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;播放所述公共流数据。在跨房间连麦时对于对方多人连麦直播房间只需要获取一路公共流数据,避免拉取对方多人连麦直播房间的每一直播参与者客户端的实时多媒体流。并且减少了运行解码器的数量,减轻对直播客户端性能的压力,降低了带宽和流量成本。并且跨房间连麦结束过程简单,不容易出现串音现象,提高直播连麦体验。
参考图4,图4为本公开一实施例提供的直播连麦方法流程示意图。本实施例的方法可以应用在服务端中,该直播连麦方法包括:
S401、将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二 实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;
S402、基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
具体的,在接收到跨房连麦指令后,分别对同一多人连麦直播房间中的各实时多媒体流进行合流,得到所述第一多人连麦直播房间对应的公共流数据以及所述第二多人连麦直播房间对应的公共流数据,进而将所述第一公共流数据和所述第二公共流数据分别推送给对方多人连麦直播房间各直播参与者客户端以进行播放。
本实施例中的直播连麦方法为上述S201-S203对应实施例中服务端侧的直播连麦方法,其实现原理和技术效果可参见上述实施例,此处不再赘述。
需要说明的是,本实施例可在同一个服务器上执行,也可以在服务器集群中执行。例如,实时多媒体流的传输任务可以在一个或多个服务器上执行,而对实时多媒体流进行合流获取公共流数据的任务可以在另一个或多个服务器上执行。执行两种任务的服务器尽可能控制在一个服务器集群中(例如同一个区域的机房内),减少实时多媒体流绕行的耗时。可选的一种服务端架构可以如图5所示,第二多人连麦直播房间中各直播参与者客户端推送第二实时多媒体流到服务器A,通过服务器A可以实现第二多人连麦直播房间各直播参与者客户端之间的连麦。类似的,通过服务器C可以实现第一多人连麦直播房间各直播参与者客户端之间的连麦。在跨房间连麦时,服务器A将第二多人连麦直播房间中各直播参与者客户端的第二实时多媒体流到服务器B,服务器B执行合流操作,得到第二多人连麦直播房间的公共流数据,再将第二多人连麦直播房间的公共流数据推送给服务器C。由服务器C将第二多人连麦直播房间的公共流数据推送给第一多人连麦直播房间中各直播参与者客户端。
在上述实施例的基础上,本公开另一实施例提供一种直播连麦方法,该直播连麦方法包括:
S501、将第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中各直播参与者客户端的第二实时多媒体流 分别推送给各自多人连麦直播房间中的直播参与者客户端。
S502、响应于跨房连麦指令,将第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流分别推送给对方多人连麦直播房间中的直播参与者客户端。
S503、分别对同一多人连麦直播房间中的多个实时多媒体流进行合流,得到所述第一多人连麦直播房间对应的公共流数据以及所述第二多人连麦直播房间对应的公共流数据。
S504、将所述第一公共流数据和所述第二公共流数据分别推送给对方多人连麦直播房间各直播参与者客户端以进行播放。
本实施例中的直播连麦方法为上述S301-S304对应实施例中服务端侧的直播连麦方法,其实现原理和技术效果可参见上述实施例,此处不再赘述。
在上述实施例的基础上,所述对各所述第一实时多媒体流进行合流,得到第一公共流数据,对各所述第二实时多媒体流进行合流,得到第二公共流数据,包括:响应于对任一多人连麦直播房间的静音指令,对该多人连麦直播房间多个直播参与者客户端的实时视频流进行合流,得到该多人连麦直播房间的第一类公共流数据;或者响应于对任一多人连麦直播房间的取消静音指令,对该多人连麦直播房间多个直播参与者客户端的实时音视频流进行合流,得到该多人连麦直播房间的第二类公共流数据。
在上述任一实施例的基础上,所述直播连麦方法还包括:在合流得到任一多人连麦直播房间的公共流数据时,获取该多人连麦直播房间多个直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息,并携带于该公共流数据中。
在上述任一实施例的基础上,所述直播连麦方法还包括:对所述第一公共流数据和所述第二公共流数据进行合流,得到合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放;或者接收任一直播参与者客户端上传的合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放,其中所上传的合流后的多媒体流为该直播参与者客户端所在多人连麦直播房间各直播参与者客户端的实时多媒体流以及对方多人连麦直播 房间的公共流数据进行合流后的多媒体流。
对应于上文实施例的直播参与者客户端侧的直播连麦方法,图6为本公开实施例提供的直播参与者客户端的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图6,所述直播参与者客户端600包括:本房间拉流单元601、公共流拉流单元602、控制单元603。
其中,本房间拉流单元601,用于获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;公共流拉流单元602,用于基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;控制单元603,用于控制播放所述公共流数据。
在本公开的一个或多个实施例中,所述本房间拉流单元601在获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流时,用于:从服务端获取所述第一多人连麦直播房间中除了所述任一直播参与者客户端之外的至少一个其他直播参与者客户端的第一实时多媒体流。
在本公开的一个或多个实施例中,所述直播参与者客户端600还包括跨房间拉流单元604,用于:在获取所述第二多人连麦直播房间的公共流数据前,基于所述跨房间连麦指令,分别获取各所述第二实时多媒体流,并进行播放;所述控制单元603还用于,在播放所述公共流数据后,停止对所述第二实时多媒体流的获取和播放。
在本公开的一个或多个实施例中,所述公共流拉流单元602在获取所述第二多人连麦直播房间的公共流数据时,用于:获取所述公共流数据的标识信息;在服务端对多个所述第二实时多媒体流合流得到所述公共流数据后,根据所述标识信息从服务端获取所述公共流数据。
在本公开的一个或多个实施例中,所述公共流拉流单元602在获取所述第二多人连麦直播房间的公共流数据时,用于:响应于对第二多人连麦直播房间的静音指令,从服务端获取所述第二多人连麦直播房间的第一类公共流数据,其中所述第一类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时视频流合流而成;或者响应于对第二多人连 麦直播房间的取消静音指令,从服务端获取所述第二多人连麦直播房间的第二类公共流数据,其中所述第二类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时音视频流合流而成。
在本公开的一个或多个实施例中,所述控制单元603在停止对各所述第二实时多媒体流的获取和播放时,用于:在所述公共流数据的首帧解码成功后停止对所述第二实时多媒体流的获取和播放。
在本公开的一个或多个实施例中,所述公共流数据携带有各所述第二实时多媒体流的音视频状态信息和/或音量信息;在所述控制单元603在控制播放所述公共流数据时,还包括:在所述公共流数据中每个直播参与者对应的显示区域中显示对应的音视频状态信息和/或音量信息。
在本公开的一个或多个实施例中,所述跨房间拉流单元604在分别获取各所述第二实时多媒体流时,用于:从服务端的第一多人连麦直播房间中拉取各所述第二实时多媒体流,其中各所述第二实时多媒体流为所述第二多人连麦直播房间中多个直播参与者客户端响应于所述跨房间连麦指令将其各自的第二实时多媒体流推送到所述服务端的所述第一多人连麦直播房间中。
在本公开的一个或多个实施例中,所述直播参与者客户端还包括推流单元,用于:响应于所述跨房间连麦指令,将所述任一直播参与者客户端实时采集的第一实时多媒体流推送到所述服务端的第二多人连麦直播房间中。
在本公开的一个或多个实施例中,所述控制单元603还用于:若所述公共流数据播放失败,则控制跨房间拉流单元604获取各所述第二实时多媒体流,并进行播放。
在本公开的一个或多个实施例中,推流单元还用于:将所述第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及所述公共流数据进行合流,将合流后的多媒体流上传服务端,用于由所述服务端推送给观众客户端进行播放。
本实施例提供的直播参与者客户端,可用于执行上述直播参与者客户端侧的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
对应于上文实施例的服务端侧的直播连麦方法,图7为本公开实施例提供的服务端的结构框图。为了便于说明,仅示出了与本公开实施例相关的部 分。参照图7,所述服务端700包括:同房推流单元701、合流单元702、公共流推流单元703。
其中,同房推流单元701,用于将第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中各直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端。
公共流推流单元703,用于将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
此外,所述服务端700还包括合流单元702,用于分别对同一多人连麦直播房间中的多个实时多媒体流进行合流,得到所述第一多人连麦直播房间对应的公共流数据以及所述第二多人连麦直播房间对应的公共流数据。
在本公开的一个或多个实施例中,所述服务端700还包括跨房推流单元704,用于:在所述将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端前,基于跨房连麦指令,将第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流分别推送给对方多人连麦直播房间中的直播参与者客户端。
在本公开的一个或多个实施例中,所述合流单元702还用于:响应于对任一多人连麦直播房间的静音指令,对该多人连麦直播房间多个直播参与者客户端的实时视频流进行合流,得到该多人连麦直播房间的第一类公共流数据;或者响应于对任一多人连麦直播房间的取消静音指令,对该多人连麦直播房间多个直播参与者客户端的实时音视频流进行合流,得到该多人连麦直播房间的第二类公共流数据。
在本公开的一个或多个实施例中,所述合流单元702还用于:在获取任一多人连麦直播房间的公共流数据时,获取该多人连麦直播房间多个直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息,并携带于该公 共流数据中。
在本公开的一个或多个实施例中,所述服务端还包括观众推流单元,用于:对所述第一公共流数据和所述第二公共流数据进行合流,得到合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放;或者
接收任一直播参与者客户端上传的合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放,其中所上传的合流后的多媒体流为该直播参与者客户端所在多人连麦直播房间各直播参与者客户端的实时多媒体流以及对方多人连麦直播房间的公共流数据进行合流后的多媒体流。
本实施例提供的服务端,可用于执行上述服务端侧方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图,该电子设备800可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ReadOnly Memory,简称ROM)802中的程序或者从存储装置808加载到随机访问存储器(Random Access Memory,简称RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(Liquid Crystal Display,简称LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换 数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种直播连麦方法,应用于第一多人连麦直播房间中的任一直播参与者客户端,所述方法包括:获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;播放所述公共流数据。
根据本公开的一个或多个实施例,所述获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,包括:从服务端获取所述第一多人连麦直播房间中除了所述任一直播参与者客户端之外的至少一个其他直播参与者客户端的第一实时多媒体流。
根据本公开的一个或多个实施例,所述方法还包括:在所述获取所述第二多人连麦直播房间的公共流数据前,基于所述跨房间连麦指令,分别获取所述第二实时多媒体流,并进行播放;在所述播放所述公共流数据后,停止对所述第二实时多媒体流的获取和播放。
根据本公开的一个或多个实施例,所述获取所述第二多人连麦直播房间的公共流数据,包括:获取所述公共流数据的标识信息;在服务端对多个所述第二实时多媒体流合流得到所述公共流数据后,根据所述标识信息从服务端获取所述公共流数据。
根据本公开的一个或多个实施例,所述获取所述第二多人连麦直播房间的公共流数据,包括:响应于对第二多人连麦直播房间的静音指令,从服务端获取所述第二多人连麦直播房间的第一类公共流数据,其中所述第一类公 共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时视频流合流而成;或者响应于对第二多人连麦直播房间的取消静音指令,从服务端获取所述第二多人连麦直播房间的第二类公共流数据,其中所述第二类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时音视频流合流而成。
根据本公开的一个或多个实施例,所述停止对各所述第二实时多媒体流的获取和播放,包括:在所述公共流数据的首帧解码成功后,停止对各所述第二实时多媒体流的获取和播放。
根据本公开的一个或多个实施例,所述公共流数据携带有多个所述第二实时多媒体流的音视频状态信息和/或音量信息;在所述播放所述公共流数据时,还包括:在所述公共流数据中每个直播参与者对应的显示区域中显示对应的音视频状态信息和/或音量信息。
根据本公开的一个或多个实施例,所述分别获取各所述第二实时多媒体流,包括:从服务端的第一多人连麦直播房间中拉取各所述第二实时多媒体流,其中各所述第二实时多媒体流为所述第二多人连麦直播房间中各直播参与者客户端响应于所述跨房间连麦指令将其各自的第二实时多媒体流推送到所述服务端的所述第一多人连麦直播房间中。
根据本公开的一个或多个实施例,所述方法还包括:响应于所述跨房间连麦指令,将所述任一直播参与者客户端实时采集的第一实时多媒体流推送到所述服务端的第二多人连麦直播房间中。
根据本公开的一个或多个实施例,所述方法还包括:若所述公共流数据播放失败,则获取所述第二实时多媒体流,并进行播放。
根据本公开的一个或多个实施例,所述方法还包括:将所述第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及所述公共流数据进行合流,将合流后的多媒体流上传服务端,用于由所述服务端推送给观众客户端进行播放。
第二方面,根据本公开的一个或多个实施例,提供了一种直播连麦设备,应用于服务端,所述方法包括:将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直 播参与者客户端;基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
根据本公开的一个或多个实施例,在所述将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端前,还包括:基于跨房连麦指令,将第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流分别推送给对方多人连麦直播房间中的直播参与者客户端。
根据本公开的一个或多个实施例,所述方法还包括:响应于对任一多人连麦直播房间的静音指令,对该多人连麦直播房间多个直播参与者客户端的实时视频流进行合流,得到该多人连麦直播房间的第一类公共流数据;或者响应于对任一多人连麦直播房间的取消静音指令,对该多人连麦直播房间多个直播参与者客户端的实时音视频流进行合流,得到该多人连麦直播房间的第二类公共流数据。
根据本公开的一个或多个实施例,所述方法还包括:在合流得到任一多人连麦直播房间的公共流数据时,获取该多人连麦直播房间多个直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息,并携带于该公共流数据中。
根据本公开的一个或多个实施例,所述方法还包括:对所述第一公共流数据和所述第二公共流数据进行合流,得到合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放;或者接收任一直播参与者客户端上传的合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放,其中所上传的合流后的多媒体流为该直播参与者客户端所在多人连麦直播房间各直播参与者客户端的实时多媒体流以及对方多人连麦直播房间的公共流数据进行合流后的多媒体流。
第三方面,根据本公开的一个或多个实施例,提供了一种直播参与者客户端,包括:本房间拉流单元,用于获取第一多人连麦直播房间中至少一个 直播参与者客户端的第一实时多媒体流,并进行播放;公共流拉流单元,用于基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;控制单元,用于控制播放所述公共流数据。
根据本公开的一个或多个实施例,所述本房间拉流单元获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流时,用于:从服务端获取所述第一多人连麦直播房间中除了所述任一直播参与者客户端之外的至少一个其他直播参与者客户端的第一实时多媒体流。
根据本公开的一个或多个实施例,所述直播参与者客户端还包括跨房间拉流单元,用于:在获取所述第二多人连麦直播房间的公共流数据前,基于所述跨房间连麦指令,分别获取各所述第二实时多媒体流,并进行播放;所述控制单元还用于,在播放所述公共流数据后,停止对各所述第二实时多媒体流的获取和播放。
根据本公开的一个或多个实施例,所述公共流拉流单元在获取所述第二多人连麦直播房间的公共流数据时,用于:获取所述公共流数据的标识信息;在服务端对多个所述第二实时多媒体流合流得到所述公共流数据后,根据所述标识信息从服务端获取所述公共流数据。
根据本公开的一个或多个实施例,所述公共流拉流单元在获取所述第二多人连麦直播房间的公共流数据时,用于:响应于对第二多人连麦直播房间的静音指令,从服务端获取所述第二多人连麦直播房间的第一类公共流数据,其中所述第一类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时视频流合流而成;或者响应于对第二多人连麦直播房间的取消静音指令,从服务端获取所述第二多人连麦直播房间的第二类公共流数据,其中所述第二类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时音视频流合流而成。
根据本公开的一个或多个实施例,所述控制单元在停止对各所述第二实时多媒体流的获取和播放时,用于:在所述公共流数据的首帧解码成功后,停止对所述第二实时多媒体流的获取和播放。
根据本公开的一个或多个实施例,所述公共流数据携带有多个所述第二实时多媒体流的音视频状态信息和/或音量信息;在所述控制单元在控制播放 所述公共流数据时,还包括:在所述公共流数据中每个直播参与者对应的显示区域中显示对应的音视频状态信息和/或音量信息。
根据本公开的一个或多个实施例,所述跨房间拉流单元在分别获取各所述第二实时多媒体流时,用于:从服务端的第一多人连麦直播房间中拉取各所述第二实时多媒体流,其中各所述第二实时多媒体流为所述第二多人连麦直播房间中各直播参与者客户端响应于所述跨房间连麦指令将其各自的第二实时多媒体流推送到所述服务端的所述第一多人连麦直播房间中。
根据本公开的一个或多个实施例,所述直播参与者客户端还包括推流单元,用于:响应于所述跨房间连麦指令,将所述任一直播参与者客户端实时采集的第一实时多媒体流推送到所述服务端的第二多人连麦直播房间中。
根据本公开的一个或多个实施例,所述控制单元还用于:若所述公共流数据播放失败,则重新控制跨房间拉流单元获取各所述第二实时多媒体流,并进行播放。
根据本公开的一个或多个实施例,推流单元还用于:将所述第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及所述公共流数据进行合流,将合流后的多媒体流上传服务端,用于由所述服务端推送给观众客户端进行播放。
第四方面,根据本公开的一个或多个实施例,提供了一种服务端,包括:同房推流单元,用于将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;公共流推流单元,用于基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
根据本公开的一个或多个实施例,所述服务端还包括跨房推流单元,用于:在将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端前,基于跨房连麦指令,将第一多人连麦直播房间中多个直播参与者客户端的第一 实时多媒体流以及第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流分别推送给对方多人连麦直播房间中的直播参与者客户端。
根据本公开的一个或多个实施例,所述合流单元还用于:响应于对任一多人连麦直播房间的静音指令,对该多人连麦直播房间德国直播参与者客户端的实时视频流进行合流,得到该多人连麦直播房间的第一类公共流数据;或者响应于对任一多人连麦直播房间的取消静音指令,对该多人连麦直播房间多个直播参与者客户端的实时音视频流进行合流,得到该多人连麦直播房间的第二类公共流数据。
根据本公开的一个或多个实施例,所述合流单元还用于:在获取任一多人连麦直播房间的公共流数据时,获取该多人连麦直播房间多个直播参与者客户端的实时多媒体流的音视频状态信息和/或音量信息,并携带于该公共流数据中。
根据本公开的一个或多个实施例,所述服务端还包括观众推流单元,用于:对所述第一公共流数据和所述第二公共流数据进行合流,得到合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放;或者接收任一直播参与者客户端上传的合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放,其中所上传的合流后的多媒体流为该直播参与者客户端所在多人连麦直播房间各直播参与者客户端的实时多媒体流以及对方多人连麦直播房间的公共流数据进行合流后的多媒体流。
第五方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第二方面以及第二方面各种可能的设计所述的直播连麦方法。
第六方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第二方面以及第二方面各种可能的设计所述的直播连麦方法。
第七方面,根据本公开的一个或多个实施例,提供了一种计算机程序产 品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的直播连麦方法、或第二方面以及第二方面各种可能的设计所述的直播连麦方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

  1. 一种直播连麦方法,应用于第一多人连麦直播房间中的任一直播参与者客户端,所述方法包括:
    获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;
    基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;
    播放所述公共流数据。
  2. 根据权利要求1所述的方法,其中,所述获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,包括:
    从服务端获取所述第一多人连麦直播房间中除了所述任一直播参与者客户端之外的至少一个其他直播参与者客户端的第一实时多媒体流。
  3. 根据权利要求1所述的方法,其中,所述方法还包括:
    在所述获取所述第二多人连麦直播房间的公共流数据前,基于所述跨房间连麦指令,分别获取所述第二实时多媒体流,并进行播放;
    在所述播放所述公共流数据后,停止对所述第二实时多媒体流的获取和播放。
  4. 根据权利要求1-3任一项所述的方法,其中,所述获取第二多人连麦直播房间的公共流数据,包括:
    获取所述公共流数据的标识信息;
    在服务端对多个所述第二实时多媒体流合流得到所述公共流数据后,根据所述标识信息从所述服务端获取所述公共流数据。
  5. 根据权利要求1所述的方法,其中,所述获取第二多人连麦直播房间的公共流数据,包括:
    响应于对第二多人连麦直播房间的静音指令,从服务端获取所述第二多人连麦直播房间的第一类公共流数据,其中所述第一类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时视频流合流而成;或者
    响应于对第二多人连麦直播房间的取消静音指令,从服务端获取所述第 二多人连麦直播房间的第二类公共流数据,其中所述第二类公共流数据由所述服务端对所述第二多人连麦直播房间多个直播参与者客户端的实时音视频流合流而成。
  6. 根据权利要求3所述的方法,其中,所述停止对所述第二实时多媒体流的获取和播放,包括:
    在所述公共流数据的首帧解码成功后,停止对所述第二实时多媒体流的获取和播放。
  7. 根据权利要求1所述的方法,其中,所述公共流数据携带有各所述第二实时多媒体流的音视频状态信息和/或音量信息;
    在所述播放所述公共流数据时,还包括:
    在所述公共流数据中每个直播参与者对应的显示区域中显示对应的音视频状态信息和/或音量信息。
  8. 根据权利要求3所述的方法,其中,所述分别获取所述第二实时多媒体流,包括:
    从服务端的第一多人连麦直播房间中拉取所述第二实时多媒体流,其中所述第二实时多媒体流为所述第二多人连麦直播房间中多个直播参与者客户端响应于所述跨房间连麦指令将其各自的第二实时多媒体流推送到所述服务端的所述第一多人连麦直播房间中。
  9. 根据权利要求8所述的方法,其中,还包括:
    响应于所述跨房间连麦指令,将所述任一直播参与者客户端实时采集的第一实时多媒体流推送到所述服务端的第二多人连麦直播房间中。
  10. 根据权利要求1-3任一项所述的方法,其中,还包括:
    若所述公共流数据播放失败,则获取所述第二实时多媒体流,并进行播放。
  11. 根据权利要求1所述的方法,其中,还包括:
    将所述第一多人连麦直播房间中各直播参与者客户端的第一实时多媒体流以及所述公共流数据进行合流,将合流后的多媒体流上传服务端,用于由所述服务端推送给观众客户端进行播放。
  12. 一种直播连麦方法,应用于服务端,所述方法包括:
    将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒 体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;
    基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
  13. 根据权利要求12所述的方法,其中,在所述将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端前,还包括:
    基于跨房连麦指令,将第一多人连麦直播房间中多个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流分别推送给对方多人连麦直播房间中的直播参与者客户端。
  14. 根据权利要求12所述的方法,其中,所述方法还包括:
    响应于对任一多人连麦直播房间的静音指令,对该多人连麦直播房间多个直播参与者客户端的实时视频流进行合流,得到该多人连麦直播房间的第一类公共流数据;或者
    响应于对任一多人连麦直播房间的取消静音指令,对该多人连麦直播房间多个直播参与者客户端的实时音视频流进行合流,得到该多人连麦直播房间的第二类公共流数据。
  15. 根据权利要求12-14任一项所述的方法,其中,还包括:
    对所述第一公共流数据和所述第二公共流数据进行合流,得到合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放;或者
    接收任一直播参与者客户端上传的合流后的多媒体流,并将合流后的多媒体流推送给观众客户端,以进行播放,其中所上传的合流后的多媒体流为该直播参与者客户端所在多人连麦直播房间各直播参与者客户端的实时多媒体流以及对方多人连麦直播房间的公共流数据进行合流后的多媒体流。
  16. 一种直播参与者客户端,包括:
    本房间拉流单元,用于获取第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流,并进行播放;
    公共流拉流单元,用于基于跨房间连麦指令,获取第二多人连麦直播房间的公共流数据,其中所述公共流数据为通过所述第二多人连麦直播房间中多个直播参与者客户端的第二实时多媒体流合流而成;
    控制单元,用于控制播放所述公共流数据。
  17. 一种服务端,包括:
    同房推流单元,用于将第一多人连麦直播房间中至少一个直播参与者客户端的第一实时多媒体流以及第二多人连麦直播房间中至少一个直播参与者客户端的第二实时多媒体流分别推送给各自多人连麦直播房间中的直播参与者客户端;
    公共流推流单元,用于基于跨房连麦指令,将所述第一多人连麦直播房间对应的第一公共流数据推送给第二多人连麦直播房间中的直播参与者客户端,将所述第二多人连麦直播房间对应的第二公共流数据推送给第一多人连麦直播房间中的直播参与者客户端。
  18. 一种电子设备,包括:至少一个处理器和存储器;
    所述存储器存储计算机执行指令;
    所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-15任一项所述的方法。
  19. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-15任一项所述的方法。
  20. 一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-15任一项所述的方法。
PCT/CN2024/099450 2023-06-16 2024-06-14 直播连麦方法、设备及存储介质 Ceased WO2024255899A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310721520.0 2023-06-16
CN202310721520.0A CN119155517A (zh) 2023-06-16 2023-06-16 直播连麦方法、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2024255899A1 true WO2024255899A1 (zh) 2024-12-19

Family

ID=93814482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/099450 Ceased WO2024255899A1 (zh) 2023-06-16 2024-06-14 直播连麦方法、设备及存储介质

Country Status (2)

Country Link
CN (1) CN119155517A (zh)
WO (1) WO2024255899A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014100384A1 (en) * 2012-12-19 2014-06-26 Rabbit, Inc. Audio video streaming system and method
CN106254899A (zh) * 2016-08-16 2016-12-21 网宿科技股份有限公司 一种直播连麦的控制方法和系统
CN107864122A (zh) * 2017-10-18 2018-03-30 武汉斗鱼网络科技有限公司 一种连麦主播直播流的显示方法及装置
CN108600239A (zh) * 2018-05-01 2018-09-28 北京学易科技有限公司 数据合成方法及装置、客户端、服务器
WO2022048152A1 (zh) * 2020-09-03 2022-03-10 广州华多网络科技有限公司 视频通信协同控制、请求、反馈方法及装置、设备与介质
CN115412772A (zh) * 2021-05-26 2022-11-29 武汉斗鱼鱼乐网络科技有限公司 一种跨房间连麦直播建立方法、退出方法及连麦客户端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014100384A1 (en) * 2012-12-19 2014-06-26 Rabbit, Inc. Audio video streaming system and method
CN106254899A (zh) * 2016-08-16 2016-12-21 网宿科技股份有限公司 一种直播连麦的控制方法和系统
CN107864122A (zh) * 2017-10-18 2018-03-30 武汉斗鱼网络科技有限公司 一种连麦主播直播流的显示方法及装置
CN108600239A (zh) * 2018-05-01 2018-09-28 北京学易科技有限公司 数据合成方法及装置、客户端、服务器
WO2022048152A1 (zh) * 2020-09-03 2022-03-10 广州华多网络科技有限公司 视频通信协同控制、请求、反馈方法及装置、设备与介质
CN115412772A (zh) * 2021-05-26 2022-11-29 武汉斗鱼鱼乐网络科技有限公司 一种跨房间连麦直播建立方法、退出方法及连麦客户端

Also Published As

Publication number Publication date
CN119155517A (zh) 2024-12-17

Similar Documents

Publication Publication Date Title
TWI450105B (zh) 用於多通道聲音內容之空間重組之方法、音訊呈現裝置與機器可讀取媒體
US9839854B2 (en) Built-in support of in-game virtual split screens with peer-to peer-video conferencing
CN106254899A (zh) 一种直播连麦的控制方法和系统
US11120808B2 (en) Audio playing method and apparatus, and terminal
US11964202B2 (en) Peer to peer communication system and method
CN114095671A (zh) 云会议直播系统、方法、装置、设备及介质
CN112399023A (zh) 利用语音会议的非对称信道的音频控制方法及系统
WO2023237102A1 (zh) 一种连麦展示方法、装置、电子设备、计算机可读介质
CN115396684B (zh) 一种连麦展示方法、装置、电子设备、计算机可读介质
CN111541905B (zh) 一种直播方法、装置、计算机设备和存储介质
WO2020253452A1 (zh) 直播间状态消息的推送方法、交互内容的切换方法、装置及设备
CN113542792B (zh) 音频合流方法、音频上传方法、设备及程序产品
WO2024255899A1 (zh) 直播连麦方法、设备及存储介质
CN108401126A (zh) 声音共享装置、终端及声音共享方法
CN114765695B (zh) 一种直播数据处理方法、装置、设备及介质
CN119032553A (zh) 电话会议期间的实时音频和视频反馈
WO2022121727A1 (zh) 直播的音频处理方法及设备
CN116074688A (zh) 音频播放方法、装置和计算机可读存储介质
WO2025140093A1 (zh) 合唱方法、设备及存储介质
JP2018530944A (ja) 異種ネットワーキング環境におけるメディアレンダリングの同期化
CN115801740B (zh) 音频流数据处理方法、装置、云端服务器及可读存储介质
US20250184378A1 (en) Method and device of stream merging for speech co-hosting
CN113612728B (zh) 流媒体播放方法、传输设备和系统
CN113727183B (zh) 直播推流方法、装置、设备、存储介质及计算机程序产品
CN113129915B (zh) 音频共享方法、装置、设备、存储介质及程序产品

Legal Events

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

Ref document number: 24822846

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE