WO2023005487A1 - 音视频会议实现方法、音视频会议系统及相关装置 - Google Patents

音视频会议实现方法、音视频会议系统及相关装置 Download PDF

Info

Publication number
WO2023005487A1
WO2023005487A1 PCT/CN2022/099302 CN2022099302W WO2023005487A1 WO 2023005487 A1 WO2023005487 A1 WO 2023005487A1 CN 2022099302 W CN2022099302 W CN 2022099302W WO 2023005487 A1 WO2023005487 A1 WO 2023005487A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface machine
device group
conference
data stream
interface
Prior art date
Application number
PCT/CN2022/099302
Other languages
English (en)
French (fr)
Inventor
薛笛
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to KR1020237034888A priority Critical patent/KR20230155565A/ko
Priority to EP22848094.3A priority patent/EP4287612A1/en
Publication of WO2023005487A1 publication Critical patent/WO2023005487A1/zh
Priority to US18/137,923 priority patent/US20230261892A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/155Conference systems involving storage of or access to video conference sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Definitions

  • the present application relates to the computer field, in particular to a method for implementing an audio-video conference, an audio-video conference system and related devices.
  • the current audio and video conference mostly adopts a conference architecture based on Selective Forwarding Unit (SFU), which consists of a server and multiple terminals.
  • SFU Selective Forwarding Unit
  • the server receives the audio and video stream shared by a certain terminal in the conference room (that is, media data stream), the audio and video stream is directly forwarded to other terminals in the conference room.
  • the present application provides an audio-video conference implementation method, an audio-video conference system and related devices, which greatly reduce the data distribution pressure of media source equipment such as the second interface machine. Therefore, it can support more participants, even millions of participants. At the same time, because the data distribution pressure during media data streaming is greatly reduced, all participants can open microphones or videos at the same time without redirection, and the experience is smooth. .
  • the embodiment of the present application provides a method for implementing an audio and video conference, the method including:
  • the source-returning device in the first device group receives the stream pull application of the first interface machine in the first device group, the stream pull application includes the first identification information of the media data stream, and the first device group is multiple Any device group in a device group, where there is a back-to-source device in each device group in the plurality of device groups, and each device group includes a plurality of interface machines, and each interface machine in the plurality of interface machines uses
  • the conference access terminal is used to connect the conference access terminal, so that the conference access terminal accesses the conference room through the interface machine;
  • the first interface machine is any interface machine in the first device group;
  • the back-to-source device forwards the media data stream corresponding to the first identification information to the first interface machine, so that the first interface machine forwards the media data stream to the corresponding conference access terminal;
  • the media data stream is obtained by the source-returning device in the first device group from the second interface machine in the second device group, and the conference access terminal that generates the media data stream accesses through the second
  • the embodiment of the present application provides an audio and video conference implementation device, the device includes a receiving unit and a forwarding unit:
  • the receiving unit is configured to receive a streaming application of a first interface machine in a first device group, where the streaming request includes first identification information of a media data stream, and the first device group is one of multiple device groups any device group, each of the multiple device groups has a back-to-source device, and each device group includes a plurality of interface machines, and each of the multiple interface machines is used to connect to the conference interface an access terminal, so that the conference access terminal accesses the conference room through an interface machine; the first interface machine is any interface machine in the first device group;
  • FIG. 4b is a structural diagram of a data transmission network provided by an embodiment of the present application.
  • the first interface machine can send a pull stream application.
  • the stream pulling application may include first identification information of the media data stream, and the first identification information identifies the media data stream of the media data it has subscribed to, so that the back-to-source device knows which media data stream needs to be pulled.
  • the first interface machine may be an interface machine connected to a conference access terminal corresponding to a user who has subscribed to the media data. That is to say, when the user on the first interface machine subscribes to the media data of a certain interface machine, the first interface machine is triggered to send a streaming request to the source-back device in the first device group.
  • the interface diagram of the video conference based on the implementation method of the audio and video conference provided by the embodiment of the present application and the audio and video conference system can be shown in FIG. Icons of function keys (such as microphone icon, camera icon, management member icon, leaving meeting icon, etc.), the participants who turn on the microphone can display the icon of the microphone, and the participants who do not turn on the microphone can draw a line on the icon of the microphone slash.
  • a very large-scale conference is realized.
  • the upper limit of the number of people entering the conference can be 50,000, that is, 50,000 management members.
  • Node A traverses the local registration list (the first conference registration list saved on node A), and sends the notification message to all servers in the group, such as node B, node C, node D, node E, node F, node g.
  • Node B, Node C, Node D, Node E, Node F, and Node G receive the notification message, traverse the local registration list (each as the second conference registration list stored on the server in the group), and send the notification message to all interface machines , such as node a, node b, node c, node d, node e, node f, node g, node o, node p, node q, node r, and node s in FIG. 6 .
  • node b shown in Figure 6 is used as the third interface machine, if there are other nodes on node b that also request the above-mentioned conference participation list Page1, the conference participation list already exists on node B at this time, so There is no need to request the participant list from node A again. Therefore, node a sends a list pull request to node B, and node B searches in the local cache and finds Page1, which has not expired, and node B directly returns Page1 to node b.
  • the audio-video conference implementation method provided by the embodiment of the present application relieves the management pressure of the central server through the servers in the group, and facilitates the realization of super-large-scale conferences.
  • Node a, node f, and node g request the route selector from the scheduling system in Figure 6 (in order to minimize the delay, the scheduling system will allocate the same available zone router for the audio data stream of the same conference room), respectively
  • the route selector represented by node B, node C and node D in Fig. 7 is obtained.
  • Node a, node f, and node g forward the audio data stream to corresponding node B, node C, and node D respectively.
  • Node B, node C, and node D will buffer the uplink audio data stream and report the energy value to the mixer.
  • the mixer sorts the energy values, and selects the two audio data streams of node f and node g as the target audio data stream, and then informs node C and node D that node C and node D are the target interface machines.
  • node C and node D receive the selection notification, they forward the corresponding target audio data stream to the mixer (the two-step delay is within 5ms), and the mixer mixes the received target audio data stream, and then sends
  • the audio data stream after mixing is forwarded to node B, node C, and node D, and node B, node C, and node D send the audio data stream after mixing to node a, node f, and node g.
  • Node a, node f, and node g perform SET internal forwarding.
  • the bypass media processing function is implemented by using a robot (Robot) terminal entering the conference room to pull streams.
  • Robot Robot
  • the user business background starts a recording task through the application programming interface (Application Programming Interface, API), and the recording task system instantiates a Record Robot to simulate participants entering the meeting.
  • Record Robot pulls the media data stream in the meeting to the local, mixes and transcodes it for recording.
  • Record Robot uploads the recorded files to the designated storage (it can also upload some fragments regularly).
  • MRA Robot When docking with a third-party conference device, as shown in Figure 8, the user business background starts an MRA (conference connector) Robot, and the MRA Robot enters the **conference (at this time, other participants can see this MRA Robot), MRA Robot also connects with third-party conference equipment through connection protocols (such as SIP or H323). MRA Robot pulls all the media data streams in the **conference locally, mixes the streams, and forwards them to the third-party conference equipment through the connection protocol. MRA Robot converts the media data stream sent from the third-party conference equipment into the private protocol of the private conference, and forwards it to other participants in the conference room through the media transmission network.
  • 801 in FIG. 8 is a mobile conference terminal
  • 802 is an intelligent conference room of ** conference room, which is used to access ** conference.
  • the architecture shown in FIG. 9 can also be used to realize the interconnection between the data transmission network 301 and the public switched telephone network 305 . That is, the function of the mixing engine is jointly realized by the route selector and the robot involved in the bypass media processing system. Wherein, the route selector performs route selection based on the energy reported by the energy and the corresponding route selection decision.
  • the embodiment of the present application also provides an audio and video conference implementation device, as shown in FIG. 10 , the device 1000 includes a receiving unit 1001 and a forwarding unit 1002:
  • the forwarding unit 1002 is configured to:
  • the receiving unit 1001 is further configured to receive the media data stream forwarded by the second interface machine according to the first identification information in the streaming application;
  • the forwarding unit 1002 is further configured to:
  • the source-returning device in the first device group is determined by the first interface machine according to a preset rule, and the preset rule allows the same media data stream to pass through the same source-returning device It is routed to the interface machine in the device group where it is located.
  • the receiving unit 1001 is further configured to receive a registration request sent by the third interface machine, the third device group being the multiple Any device group in a device group, the third interface machine is any interface machine in the third device group;
  • the sending unit is configured to send the registration request to the central server if no information about the conference room is found locally, so that the central server will send the second identifier of the server in the third device group to The information is recorded in the first meeting registration list, and the registration success information is returned to the server in the group in the third device group;
  • the recording unit is configured to record the third identification information of the third interface machine in the second conference registration list
  • the recording unit is further configured to record the third identification information of the third interface machine in the second conference registration list ;
  • the returning unit is further configured to return the registration success information to the third interface machine.
  • the receiving unit 1001 is further configured to receive a notification sent by the third interface machine information;
  • the sending unit is configured to send the notification message to the central server, so that the central server sends the notification message to the server in the group of each device group, and the server in the group of each device group It is used to send the notification message to the interface machine successfully registered.
  • the receiving unit 1001 is further configured to receive the list pulling request of the third interface machine;
  • the sending unit is configured to send the list pull request to the central server if the participant list is not found locally;
  • the receiving unit 1001 is further configured to receive the participant list sent by the central server;
  • the sending unit is configured to send the conference participant list to the third interface machine.
  • the sending unit is further configured to, if the participant list is found locally and the participant list has not expired, return the participant list to the third interface machine.
  • the device further includes a selection unit and a sound mixing unit:
  • the sending unit is also used to send the obtained multi-channel audio data stream to the mixer located in the same device group through the route selector in the mixing engine when the media data stream includes an audio data stream.
  • the data streams are respectively from the fourth interface machines in different equipment groups;
  • the selection unit is configured to select a target audio data stream from the multiple audio data streams through a mixer
  • the sending unit is configured to send a selection notification to the target interface machine, and the target interface machine is an interface machine connected to the conference access terminal that generates the target audio data stream;
  • the receiving unit 1001 is further configured to receive the target audio data stream sent by the target interface machine through the mixer;
  • the mixing unit is configured to mix the target audio data stream
  • the forwarding unit 1002 is further configured to forward the mixed audio data stream to the router corresponding to the fourth interface machine; the fourth interface machine includes the target interface machine;
  • the sending unit is further configured to send the mixed audio data stream to the fourth interface machine through the router corresponding to the fourth interface machine, so that the fourth interface machine sends The other interface machines in the system forward the mixed audio data stream.
  • the device further includes a processing unit:
  • the processing unit is configured to pull the media data stream generated in the conference room through the robot terminal, and process the media data stream.
  • the embodiment of the present application also provides an electronic device for implementing audio and video conferences.
  • the electronic device may be a terminal, and the terminal is a smart phone as an example:
  • FIG. 11 shows a block diagram of a partial structure of a smart phone related to the terminal provided by the embodiment of the present application.
  • the smart phone includes: a radio frequency (English full name: Radio Frequency, English abbreviation: RF) circuit 1110, a memory 1120, an input unit 1130, a display unit 1140, a sensor 1150, an audio circuit 1160, a wireless fidelity (English full name: wireless fidelity, English abbreviation: WiFi) module 1170 , processor 1180 , power supply 1190 and other components.
  • RF Radio Frequency
  • the input unit 1130 may include a touch panel 1131 and other input devices 1132
  • the display unit 1140 may include a display panel 1141
  • the audio circuit 1160 may include a speaker 1161 and a microphone 1162 .
  • FIG. 11 is not limited to the smart phone, and may include more or less components than shown in the figure, or combine certain components, or arrange different components.
  • the memory 1120 can be used to store software programs and modules, and the processor 1180 executes various functional applications and data processing of the smart phone by running the software programs and modules stored in the memory 1120 .
  • the memory 1120 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required by a function (such as a sound playback function, an image playback function, etc.) and the like; Data created by the use of smartphones (such as audio data, phonebook, etc.), etc.
  • the memory 1120 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage devices.
  • the processor 1180 is the control center of the smart phone, and uses various interfaces and lines to connect various parts of the whole smart phone, by running or executing software programs and/or modules stored in the memory 1120, and calling data stored in the memory 1120 , perform various functions of the smartphone and process data, thereby performing overall monitoring of the smartphone.
  • the processor 1180 may include one or more processing units; preferably, the processor 1180 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc. , the modem processor mainly handles wireless communications. It can be understood that the foregoing modem processor may not be integrated into the processor 1180 .
  • the steps performed by the terminal in the foregoing embodiments may be implemented based on the structure shown in FIG. 2 .
  • FIG. 12 is a structural diagram of the server 1200 provided by the embodiment of the present application.
  • the memory 1232 and the storage medium 1230 may be temporary storage or persistent storage.
  • the program stored in the storage medium 1230 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server.
  • the central processing unit 1222 may be configured to communicate with the storage medium 1230 , and execute a series of instruction operations in the storage medium 1230 on the server 1200 .
  • the server 1200 can also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input and output interfaces 1258, and/or, one or more operating systems 1241, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM , etc.
  • operating systems 1241 such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM , etc.
  • the central processing unit 1222 in the server 1200 may perform the following steps:
  • each device group includes a plurality of interface machines, and each of the plurality of interface machines is used to connect to a conference access terminal, so that The conference access terminal accesses the conference room through an interface machine; the first interface machine is any interface machine in the first device group;
  • the media data The stream is obtained by the source-returning device in the first device group from the second interface machine in the second device group, and the conference access terminal that generates the media data stream accesses the conference room through the second interface machine , the second device group is any device group in the plurality of device groups.
  • a computer-readable storage medium is provided, the computer-readable storage medium is used for storing program codes, and when the program codes run on the electronic equipment, the electronic equipment executes the above-mentioned various embodiments. Audio and video conferencing implementation method.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the electronic device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the electronic device executes the methods provided in various optional implementation manners of the foregoing embodiments.
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), magnetic disk or optical disc, etc., which can store program codes. medium.

Abstract

本申请公开音视频会议实现方法、音视频会议系统及相关装置,本申请涉及多个设备组,每个设备组中包括多个接口机,每个接口机连接会议接入终端,使会议接入终端通过接口机接入会议房间。将会议接入终端分散到不同接口机,通过多个接口机分担负载,实现支持大规模会议。每个设备组中存在回源设备,通过第二接口机接入会议房间产生媒体数据流,每个设备组例如第一设备组中的回源设备在接收到第一设备组中第一接口机的拉流申请后,将第一标识信息对应的媒体数据流转发至第一接口机上,第一接口机将媒体数据流转发至对应的会议接入终端。通过回源设备分担数据分发压力,便于支持超大规模会议,能够同时开麦或开视频,无需重定向,体验顺滑。

Description

音视频会议实现方法、音视频会议系统及相关装置
本申请要求于2021年07月30日提交中国专利局、申请号202110875339.6、申请名称为“音视频会议实现方法、音视频会议系统及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,特别是涉及音视频会议实现方法、音视频会议系统及相关装置。
背景技术
随着网络技术、通信技术和流媒体技术的迅速发展,以及人们工作、学习的流动性的增加,企业及个人对视频通讯的需求也越来越多,音视频会议系统应运而生。
目前的音视频会议多采用基于选择性转发单元(Selective Forwarding Unit,SFU)的会议架构,由一个服务器和多个终端组成,服务器收到会议房间中某个终端共享的音视频流(即媒体数据流)后,就直接将该音视频流转发给该会议房间内的其他终端。
然而,这种会议架构一旦进入一个会议房间的人数过多,将会大大增加服务器的数据分发压力,因此在这种会议架构下一个会议的参会人数有限,并且能够同时开麦或开视频的人数有限,普通观众要举手发言需要重定向,体验上不够顺滑。
发明内容
为了解决上述技术问题,本申请提供了一种音视频会议实现方法、音视频会议系统及相关装置,大大降低了媒体源设备例如第二接口机数据分发压力。因此,可以支持更多参会人数,甚至支持百万人参会,同时由于媒体数据流传输时的数据分发压力大大降低,所有参会人员能够同时开麦或开视频,无需重定向,体验顺滑。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种音视频会议实现方法,所述方法包括:
第一设备组中的回源设备接收所述第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;所述第一设备组中的回源设备将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
第二方面,本申请实施例提供一种音视频会议实现装置,所述装置包括接收单元和转发单元:
所述接收单元,用于接收第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设 备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;
所述转发单元,用于将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
第三方面,本申请实施例提供一种音视频会议系统,所述系统包括数据传输网络和房间管理子系统:
所述数据传输网络用于传输会议房间中产生的媒体数据流,所述数据传输网络包括多个设备组,每个设备组中包括多个接口机;
所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入所述会议房间;
所述多个设备组中每个设备组中存在回源设备,第一设备组中的回源设备用于接收所述第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第一设备组和所述第二设备组分别为所述多个设备组中的任一设备组;
所述第一接口机是所述第一设备组中的任一接口机,所述第一接口机用于将所述媒体数据流转发至对应的会议接入终端;
所述房间管理子系统包括所述多个设备组和中心服务器,每个设备组中包括组内服务器,所述组内服务器用于辅助所述中心服务器管理所述会议房间。
第四方面,本申请实施例提供一种用于音视频会议实现的电子设备,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,当程序代码在电子设备上运行时,使得电子设备执行第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品被执行时,使得电子设备执行第一方面所述的方法。
由上述技术方案可以看出,本申请涉及多个设备组,每个设备组中包括多个接口机,多个接口机中每个接口机用于连接会议接入终端,以便会议接入终端通过接口机接入会议房间。与相关技术中多个会议接入终端通过一个服务器接入会议房间相比,多个接口机与相关技术中服务器作用类似,而将会议接入终端分散到不同的接口机,通过多个接口机分 担负载,便于接入更多的会议接入终端,支持大规模会议。多个设备组中每个设备组中存在回源设备,通过第二接口机接入会议房间产生媒体数据流,每个设备组例如第一设备组中的回源设备在接收到第一设备组中第一接口机的拉流申请后,由于拉流申请中包括媒体数据流的第一标识信息,故可以将第一标识信息对应的媒体数据流转发至第一接口机上,以便第一接口机用于将媒体数据流转发至对应的会议接入终端。这样,在每个接口机都需要拉取第二接口机的媒体数据流时,仅需要第二接口机与各个设备组中的回源设备进行交互,进而由回源设备为媒体源设备例如第二接口机分担数据分发压力,与其他接口机进行交互,无需第二接口机与每个接口机进行交互,大大降低了设备例如第二接口机的数据分发压力。因此,该音视频会议实现方法可以支持更多参会人数,甚至支持百万人参会,同时由于媒体数据流传输时的数据分发压力大大降低,所有参会人员(即用户)能够同时开麦或开视频,无需重定向,体验顺滑。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种基于SFU的会议架构图;
图2为相关技术提供的另一种基于SFU的会议架构图;
图3为相关技术提供的一种音视频会议系统的结构图;
图4a为本申请实施例提供的一种音视频会议实现方法的流程图;
图4b为本申请实施例提供的一种数据传输网络的结构图;
图5为本申请实施例提供的一种基于本申请实施例提供的音视频会议系统进行视频会议的界面图;
图6为本申请实施例提供的一种房间管理子系统的结构图;
图7为本申请实施例提供的一种基于混音引擎的音频处理架构图;
图8为本申请实施例提供的一种与第三方会议设备对接的架构图;
图9为本申请实施例提供的又一种音频处理架构图;
图10为本申请实施例提供的一种音视频会议实现装置的结构图;
图11为本申请实施例提供的一种终端的结构图;
图12为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前的音视频会议多采用基于SFU的会议架构,参见图1所示,图中黑色节点为服务器,灰色节点为终端,多个终端与服务器连接,用户A、用户B、用户C分别通过对应的终端接入会议房间参与会议。
然而,这种会议架构一旦进入一个会议房间的人数过多,将会大大增加服务器的数据分发压力,因此在这种会议架构下一个会议的参会人数有限,并且能够同时开麦或开视频的人数有限,普通观众要举手发言需要重定向,体验上不够顺滑。
另外,这种方式参会人员不能同时开视频或开麦,为此,在图1所示的SFU架构基础上增加扩散代理(如图2中虚线框中包括的节点所示),把不发言的用户放到扩散代理,举手发言时再重定向到通话节点(如图2中实线框中包括的节点所示),利用扩散代理的分发优势扩大会议参与人数。这种方式却需要重定向,体验不够顺滑。
为了解决上述技术问题,本申请实施例提供一种音视频会议实现方法,该方法在每个接口机都需要拉取第二接口机的媒体数据流时,仅需要第二接口机与各个设备组中的回源设备进行交互,进而由回源设备为第二接口机分担数据分发压力,与其他接口机进行交互,无需第二接口机与每个接口机进行交互,大大降低了媒体源设备例如第二接口机的数据分发压力。因此,该音视频会议实现方法可以支持更多参会人数,甚至支持百万人参会,同时由于媒体数据流传输时的数据分发压力大大降低,所有参会人员能够同时开麦或开视频,无需重定向,体验顺滑。
需要说明的是,本申请实施例提供的音视频会议实现方法可以应用于各种音视频会议场景,尤其是用于单会议百万人参会的超大规模视音频会议。
接下来将对本申请实施例提供的音视频会议系统架构进行介绍。参会人员基于音视频会议系统进入会议房间参与会议时,参会人员主要包括需要开启音视频的嘉宾,以及普通观众,嘉宾开启音视频时会产生媒体数据流,并将媒体数据流传输至普通观众对应的会议接入终端,以及其他嘉宾对应的会议接入终端。其中,会议接入终端为接入会议房间所使用的终端,会议接入终端可以是用户终端。因此,音视频会议主要在于参会人员开启音视频例如开启视频或开麦时媒体数据流的传输,当媒体数据流的传输不受会议房间中参会人员人数限制时,音视频会议系统将可以支持大规模会议,因此本申请实施例重点在于数据传输网络架构的改进。
另外,因为每个会议都要对应一个会议房间用来保存房间信息、参会列表和维护用户状态(开启或关闭音视频即上下麦、上下视频、静音、进退房等)。在超大规模会议的情况下,所有人都不断开启或关闭视频或进退房,会产生大量体现状态变更的通知消息;超大音视频会议的参会列表的拉取和同步也会对房间管理子系统产生很大压力。因此本申请实施例对房间管理子系统的改进也会使得音视频会议系统可以支持超大规模音视频会议。
因此,在本实施例中音视频会议系统架构可以参见图3所示,主要包括数据传输网络301和房间管理子系统302,数据传输网络301用于传输会议房间中产生的媒体数据流,房间管理子系统302用于对会议房间进行管理。
本申请实施例首先从数据传输网络301传输媒体数据流的角度对音视频会议实现方法进行介绍。参见图4a,所述方法包括:
S401、第一设备组中的回源设备接收所述第一设备组中第一接口机的拉流申请。
数据传输网络301可以参见图4b所示,包括多个设备组401,例如图4b中每个虚线框所示。每个设备组401中包括多个接口机,每个接口机例如图4b中设备组401中的圆圈所表示的节点。多个接口机中每个接口机用于连接会议接入终端,以便会议接入终端通过接口机接入会议房间,使得会议接入终端对应的参会人员可以进入会议房间参与会议。其 中,设备组可以用SET表示,即多个接口机按照SET划分,接口机可以是服务器。多个设备组401中每个设备组401中存在回源设备。
其中,第一设备组可以为多个设备组中的任一设备组,第一接口机可以是第一设备组中的任一接口机。
当某个设备组(例如第一设备组)中的某个接口机(例如第一接口机)需要拉取媒体数据流时,第一接口机可以向第一设备组中的回源设备发送拉流申请。拉流申请中可以包括媒体数据流的第一标识信息,第一标识信息标识了其订阅了的媒体数据的媒体数据流,从而便于回源设备知晓需要拉取哪个媒体数据流。其中,第一接口机可以是订阅了媒体数据的用户对应的会议接入终端所连接的接口机。也就是说,第一接口机上的用户订阅了某个接口机的媒体数据,则触发第一接口机向第一设备组中的回源设备发送拉流申请。
S402、第一设备组中的回源设备将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端。
第一设备组中的回源设备接收到拉流申请后,将第一标识信息对应的媒体数据流转发至第一接口机上,再由第一接口机将媒体数据流转发至对应的会议接入终端。其中,产生媒体数据流的会议接入终端通过第二接口机接入会议房间,第二设备组为多个设备组中的任一设备组。
第二接口机可以为开启了音视频的用户对应的会议接入终端所连接的接口机。例如,当某个用户例如第二用户在其会议接入终端上开启了视频,第二用户对应的会议接入终端通过第二接口机接入会议,第二接口机位于第二设备组中。若参与会议的任一用户例如第一用户希望观看第二用户的视频(例如订阅了第二用户的视频)时,第一用户对应的会议接入终端所连接的第一接口机可以找到其所在设备组例如第一设备组中的回源设备,并向第一设备组中的回源设备发送拉流申请,以便回源设备根据拉流申请将从第二接口机获取的媒体数据流转发至第一接口机上,第一接口机将媒体数据流转发至对应的会议接入终端。其中,本申请实施例涉及的用户可以是参会人员。
需要说明的是,回源设备上的媒体数据流是从第二接口机上拉取的,拉取的媒体数据流可以保存在回源设备本地。也就是说,一般情况下,当回源设备第一次接收到拉取媒体数据流的拉流申请时,由于本地尚未保存该媒体数据流,故需要从第二接口机上拉取;若之前已经有其他接口机申请过,本地便保存了该媒体数据流,则无需再从第二接口机上拉取。
因此,在本实施例中,可以根据第一设备组中的回源设备是否在本地查找到媒体数据流而采用不同的媒体数据流拉取方式。
在一种可能的实现方式中,第一设备组中的回源设备将第一标识信息对应的媒体数据流转发至第一接口机上的具体方式可以是第一设备组中的回源设备接收到第一接口机发送的拉流申请,根据第一标识信息查找对应的第二接口机的媒体数据流,若未查找到第二接口机的媒体数据流,向第二接口机转发该拉流申请,接收第二接口机根据拉流申请中的第一标识信息转发的媒体数据流,并将媒体数据流转发至第一接口机。
可以理解的是,若拉流申请是在第一用户订阅了第二用户的视频时发送的,则第二接口机接收到拉流申请后,可以在第二接口机的本地记录该回源设备订阅了第二接口机,然后在由第二接口机将媒体数据流发送给回源设备。回源设备也会将接收到的媒体数据流保存至本地,以便后续其他接口机请求该媒体数据流时,回源设备无需再与第二接口机进行交互,可以直接将媒体数据流返回给第一接口机。
例如图4b所示,其中节点A可以作为第二接口机,第二接口机为嘉宾所在接口机,即第二接口机上的会议接入终端所对应的用户可以开启视频,上行视频数据流,此时视频数据流作为媒体数据流。节点B可以作为第一接口机,节点D可以作为其所在设备组例如第一设备组的回源设备,节点B上的用户订阅了节点A上行的视频数据流,节点B会先在第一设备组内找到节点D,向节点D发出拉流申请。节点D收到节点B的拉流申请后,先在本地查找有没有节点A的媒体数据流,如果没有,则向节点A发起拉流申请。节点A收到节点D的拉流申请后,在本地记录节点D订阅节点A,然后将视频数据流转发给节点D,节点D收到视频数据流转发给节点B,节点B最终将视频数据流发送至对应的会议接入终端。
第一设备组中的回源设备根据第一标识信息查找第二接口机的媒体数据流时,若查找到第二接口机的媒体数据流,直接将查找到的媒体数据流转发至第一接口机。通过这种方式可以提高媒体数据流的拉取效率,进一步降低媒体源设备例如第二接口机的数据分发压力。
例如图4b所示,其中节点A可以作为第二接口机,第二接口机为嘉宾所在接口机,即第二接口机上的会议接入终端所对应的用户可以开启视频,上行视频数据流,此时视频数据流作为媒体数据流。节点C可以作为第一接口机,节点D可以作为其所在设备组例如第一设备组的回源设备,节点C上的用户订阅了节点A上行的视频数据流,节点C会先在第一设备组内找到节点D,向节点D发出拉流申请。注意同一设备组中的节点B和节点C通过一致性哈希或其他方法都找到同一个节点D,向节点D发出拉流申请。节点D查找到本地已经有这条视频数据流了(之前节点B申请过),节点D直接将查找到的视频数据流向节点C转发,节点C收到来自节点D的转发的视频数据流,最终将视频数据流转发给对应的会议接入终端。
可以理解的是,第一设备组中的回源设备是需要申请媒体数据流的接口机例如第一接口机按照预设规则确定得到的,该预设规则使得同一媒体数据流通过同一回源设备路由到其所在设备组中的接口机上。例如上述同一设备组中的节点B和节点C通过一致性哈希或其他方法都找到同一个节点D。从而便于在同一设备组中对同一媒体数据流进行统一分发管理。
需要说明的是,第一设备组与第二设备组可以位于同一局域网(即在内网中),也可以位于不同局域网(即在外网中,包括国内网络和国外网络的外网)。若第一设备组与第二设备组位于同一局域网,则第一设备组中的回源设备直接向第二接口机转发拉流申请,第二接口机直接向回源设备发送媒体数据流。若第一设备组与第二设备组位于不同局域网,数据传输网络301中还包括中转代理设备402,例如图4b中402所示的设备。则第一设备 组中的回源设备需要通过中转代理设备402向第二接口机转发拉流申请,相应的,第二接口机通过中转代理设备402将媒体数据流转发至第一设备组中的回源设备。
例如图4b所示,其中节点A可以作为第二接口机,第二接口机为嘉宾所在接口机,即第二接口机上的会议接入终端所对应的用户可以开启视频,上行视频数据流,此时视频数据流作为媒体数据流。节点G可以作为第一接口机,节点F可以作为其所在设备组例如第一设备组的回源设备,此时节点G所在第一设备组与节点A所在第二设备组不在同一局域网,即节点G为边缘节点。节点G上的用户订阅了节点A上行的视频数据流(该视频数据流作为媒体数据流),获取视频数据流的路径会相对比较长,节点G会先在第一设备组内找到节点F,向节点F发出拉流申请。节点F收到节点G的拉流申请后,先在本地查找有没有节点A的视频数据流,如果没有,则通过中转代理设备402(例如图4b中节点E)向节点A发起拉流申请。节点A收到节点F的拉流申请,在本地记录节点F订阅节点A,然后通过节点E将视频数据流转发给节点F,节点F再将视频数据流转发给节点G,节点G最终将视频数据流转发给对应的会议接入终端。
图4b中节点H拉取节点A的视频数据流的过程与节点C类似,只是中间也要通过节点E,此处不再赘述。在这一过程中,中转代理设备402例如节点E的查找,既可以是预先配置的,也可以做动态分配,这里不做限制。在结构上,本申请实施例将用于接入音视频会议的接口机按设备组(SET)进行划分,在某个设备组中的接口机需要拉取媒体数据流时,可以通过在所在设备组中确定回源设备,进而通过回源设备向产生媒体数据流的接口机(即媒体源设备)发起拉流申请。这种设计大大减少了媒体源设备的数据分发压力,极大提升会议房间中参会人员的人数。举个例子,假设每个SET有100台接口机,整个音视频会议系统有100个SET,每台8核16G的接口机能够支持100路媒体数据流转发,如果一个会议只有一个嘉宾其余都是观众,那么这个会议的最大规模就是100(台)*100(SET)*100(分发)=100万人。如果嘉宾不止一人,基于就近接入原则,会分配不同SET的不同接口机,上行转发的负载也会分散开,支持百万人的大会很容易。
由上述技术方案可以看出,本申请涉及多个设备组,每个设备组中包括多个接口机,多个接口机中每个接口机用于连接会议接入终端,以便会议接入终端通过接口机接入会议房间。与相关技术中多个会议接入终端通过一个服务器接入会议房间相比,多个接口机与相关技术中服务器作用类似,而将会议接入终端分散到不同的接口机,通过多个接口机分担负载,便于接入更多的会议接入终端,支持大规模会议。多个设备组中每个设备组中存在回源设备,通过第二接口机接入会议房间产生媒体数据流,每个设备组例如第一设备组中的回源设备在接收到第一设备组中第一接口机的拉流申请后,由于拉流申请中包括媒体数据流的第一标识信息,故可以将第一标识信息对应的媒体数据流转发至第一接口机上,以便第一接口机用于将媒体数据流转发至对应的会议接入终端。这样,在每个接口机都需要拉取第二接口机的媒体数据流时,仅需要第二接口机与各个设备组中的回源设备进行交互,进而由回源设备为媒体源设备例如第二接口机分担数据分发压力,与其他接口机进行交互,无需第二接口机与每个接口机进行交互,大大降低了设备例如第二接口机的数据分发压力。因此,该音视频会议实现方法可以支持更多参会人数,甚至支持百万人参会,同 时由于媒体数据流传输时的数据分发压力大大降低,所有参会人员(即用户)能够同时开麦或开视频,无需重定向,体验顺滑。
与基于多点控制单元(Multipoint Control Unit,MCU)的会议架构相比,运营维护简单,不会受性能和硬件价格限制,大大提升实际承载人数,便于实现超大规模会议。
基于本申请实施例提供的音视频会议实现方法及音视频会议系统进行视频会议的界面图可以参见图5所示,在该界面中可以显示开启视频的参会人员的图像、参会列表、相关功能键的图标(例如麦克风图标、摄像头图标、管理成员图标、离开会议图标等等),开麦的参会人员可以显示麦克风的图标,未开麦的参会人员可以在麦克风的图标上划一条斜线。在本申请实施例提供的音视频会议系统下,实现了超大规模会议,例如进入会议的人数上限可以是50000,即管理成员50000。
接着,本申请实施例从房间管理子系统302管理会议房间的角度对音视频会议实现方法进行介绍。
房间管理子系统302可以参见图6所示,包括上述多个设备组601和中心服务器(RoomSvc)602,这里的设备组601同样是包括前述多个接口机,与图4b所示的设备组类似,与此同时,每个设备组601中还包括组内服务器(RoomSvcInSet),组内服务器用于辅助中心服务器602管理会议房间。其中,组内服务器如图6中每个设备组601中的圆环所示,例如图6中节点B、节点C、节点D、节点E、节点F、节点G;中心服务器602例如图6中节点A。
需要说明的是,在本实施例中同一个设备组中的组内服务器与回源设备可以是同一个设备,也可以是不同设备,本实施例对此不做限定。
管理会议房间主要包括管理会议房间的房间信息、状态变更的通知消息、参会列表的拉取等等。其中,房间信息例如包括会议房间的名称、创建时间、参会人员、会议时间等等。
本申请实施例通过将房间管理系统分为中心服务器和组内服务器,中心服务器只有一个,组内服务器和接口机一样按SET部署,从而使得通知消息的同步和参会列表的拉取都可以通过组内服务器来缓解中心服务器的管理压力,便于实现超大规模会议。
在设备组内部,对于同一个会议房间,所有接口机都会通过一定的算法注册相同的RoomSvcInSet,并通过心跳维持一个长连接,然后才能在会议房间中进行媒体数据流的拉取。当会议房间内有通知消息需要进行同步(如用户的状态变更:进入会议房间参加会议、退出会议房间、开关麦、开关视频等)、或者想要拉取参会列表时,都会通过这个RoomSvcInSet来完成。
首先介绍进入会议房间参见会议的注册流程。当任一设备组例如第三设备组中的任一接口机例如第三接口机请求进入会议房间时,第三设备组中的组内服务器接收第三接口机发送的注册请求,注册请求中可以包括房间标识,用于指示需要进入哪个会议房间。若第三设备组中的组内服务器在本地未查找到该会议房间的信息,向中心服务器发送该注册请求。中心服务器将第三设备组中组内服务器的第二标识信息记录到第一会议注册列表,并向第三设备组中的组内服务器返回注册成功信息。第三设备组中的组内服务器将第三接口 机的第三标识信息记录到第二会议注册列表,并向第三接口机返回注册成功信息,从而完成第三接口机的注册。其中,第二标识信息和第三标识信息都是一种标识信息,是对应设备的唯一标识,标识信息例如可以是地址,也就是说,第二标识信息可以是组内服务器的地址,第三标识信息可以是第三接口机的地址。其中,第三设备组为多个设备组中任一设备组,第三接口机为第三设备组中的任一接口机,第三设备组可以是前述实施例中的第一设备组或第二设备组,第三接口机可以是前述实施例中的第一接口机或第二接口机。
例如图6所示,其中节点a可以作为第三接口机,第三接口机为希望注册会议的接口机,即第三接口机上的会议接入终端所对应的用户希望进入会议房间参加会议。节点A可以作为中心服务器,节点B可以作为第三接口机所在设备组例如第三设备组的组内服务器。其中,节点B可以是接点a根据一定规则(一致性哈希或者分配调度)确定的。节点a向节点B发送注册请求,节点B收到节点a的注册请求后,向调度系统(Scheduler)查找该会议对应的RoomSvc,即节点A。节点B向节点A发送注册请求,节点A收到节点B发出的注册请求,将节点B的地址记录到该会议的注册列表(节点A上保存的第一会议注册列表)中,给B返回注册成功信息。节点B收到节点A返回注册成功信息后,将节点a的地址记录到该会议的注册列表(节点B上保存的第二会议注册列表),向节点a返回注册成功信息。
可以理解的是,在本实施例中,在注册成功后,组内服务器与中心服务器、组内服务器与注册成功的接口机例如第三接口机可以保持长连接,方便后续二者之间的交互。例如节点B还可以向节点A定时发送心跳,与节点A保持一个长连接通道,节点a收到节点B返回注册成功信息后,定时发送心跳,与节点B保持长连接通道。
若第三设备组中的组内服务器在根据注册请求在本地查找会议房间的信息时,若在本地查找到会议房间的信息,可以将第三接口机的第三标识信息记录到第二会议注册列表,并向第三接口机返回注册成功信息。
例如图6所示,其中节点b可以作为第三接口机,第三接口机为希望注册会议的接口机,即第三接口机上的会议接入终端所对应的用户希望进入会议房间参加会议。节点A可以作为中心服务器,节点B可以作为第三接口机所在设备组例如第三设备组的组内服务器。其中,节点B可以是接点b根据一定规则(一致性哈希或者分配调度)确定的。节点b向节点B发送注册请求,节点B收到节点b的注册请求,发现本地已经有该会议房间的信息,将节点b的地址记录到该会议的注册列表(节点B上保存的第二会议注册列表)中,并向节点b返回注册成功信息。节点b收到节点B返回注册成功信息后,定时发送心跳,与节点B保持长连接通道。
同理,位于边缘节点(即设备组与中心服务器不在同一局域网,设备组中的接口机与中心服务器不在同一局域网)上的用户注册相同会议房间时,注册流程上只需要经过中转代理设备例如图6中节点O、节点P、节点Q进行中转,其他流程类似。
当接入会议房间的会议接入终端发生状态变更时,例如用户开启或关闭音视频时,需要将开启或关闭音视频的这种状态变更通知给会议房间中的其他用户。以发生状态变更的会议接入终端位于第三设备组中的第三接口机上为例,此时,第三设备组中的组内服务器 接收第三接口机发送的通知消息,并将该通知消息发送至中心服务器。中心服务器将该通知消息发送至每个设备组的组内服务器上,每个设备组的组内服务器将该通知消息发送至注册成功的接口机。
继续以上述图6为例,其中节点a可以作为第三接口机,节点a为嘉宾所在接口机,节点A可以作为中心服务器,节点B可以作为第三接口机所在设备组例如第三设备组的组内服务器。若节点a上的嘉宾开了视频,即发生状态变更,节点a将指示状态变更的通知消息(msg-a-openvideo)发送至节点B,节点B将通知消息发送给节点A。节点A遍历本地注册列表(节点A上保存的第一会议注册列表),将通知消息发送给所有组内服务器,例如图6中的节点B、节点C、节点D、节点E、节点F、节点G。节点B、节点C、节点D、节点E、节点F、节点G收到通知消息,遍历本地注册列表(各个作为组内服务器上保存的第二会议注册列表),将通知消息发送给所有接口机,例如图6中的节点a、节点b、节点c、节点d、节点e、节点f、节点g、节点o、节点p、节点q、节点r和节点s。
音视频会议中维护参会列表,参会列表中包括所有参会人员,本申请实施例提供的音视频会议系统实现的超大规模音视频会议中,参会人员数量巨大,故可以采用分页拉取的方式来更新本地参会列表。当某个设备组例如第三设备组中的某个接口机例如第三接口机请求拉取参会列表时,第三设备组中的组内服务器接收第三接口机的列表拉取请求,第三设备组中的组内服务器在本地查找参会列表,若第三设备组中的组内服务器在本地未查找到该参会列表,向中心服务器发送该列表拉取请求。第三设备组中的组内服务器接收中心服务器发送的参会列表,并将该参会列表发送至第三接口机。
例如图6所示,若节点a作为第三接口机,节点a上的用户向节点B请求参会列表,节点B在本地缓存中查找,如果没有,就向节点A发起列表拉取请求。节点A收到列表拉取请求后,将对应的参会列表返回给节点B,节点将参会列表缓存在本地后,并将参会列表返回给节点a。其中,参会列表可以是全部参会列表,也可以是分页拉取的某页参会列表例如Page1。
第三设备组中的组内服务器在本地查找参会列表时,若第三设备组中的组内服务器在本地查找到该参会列表,且该参会列表未过期,将该参会列表返回给第三接口机。
继续上个例子,若图6所示的节点b作为第三接口机,如果在节点b上之前已经存在其他节点也请求上述参会列表Page1,此时节点B上已经存在该参会列表,故无须再向节点A请求参会列表。故节点a向节点B发送列表拉取请求,节点B在本地缓存中查找,发现有Page1,并且没过期,节点B将Page1的直接返回给节点b。
接着来看一下容灾恢复的流程:由于RoomSvc的所有信息都来自RoomSvcInSet和接口机,所以RoomSvc当机后,可以很方便通过RoomSvcInSet自动重建。同理RoomSvcInSet的数据都来自接口机,当RoomSvcInSet当机后,可以通过本设备组(SET)内的接口机自动重建。
本申请实施例提供的音视频会议实现方法,通过组内服务器来缓解中心服务器的管理压力,便于实现超大规模会议。
需要说明的是,在相关技术提供的基于SFU的音视频会议,在传输会议房间中产生的媒体数据流例如音频数据流时,需要基于能量值进行音频选路。而这种方式在长距离通话中产生的延迟会非常影响体验,当参会人数比较多的时候,浪费了大量带宽并增大了会议接入终端网络性能损耗。并且对会议中播放动式语音应答(Interactive Voice Response,IVR)和精确录制有要求的场景,在SFU的转构下不太容易做精确控制(比如,开始和结束的判断,靠信令还是靠媒体数据流等等)。此外,语音录制的情况下,一些要求严格的行业是不能接受在录制过程中有多录或是少录几个字的情况的,如果没有一个集中式的音频处理服务,就很容易出现录了不该录的内容或者该录的没录下来,这些情况对于较为苛刻的用户是绝对不可以接受的。
为此,参见图3所示,本申请实施例提供的音视频会议系统中还包括混音引擎303,混音引擎303位于媒体传输网络301和公共交换电话网络(Public Switched Telephone Network,PSTN)305之间,作为二者沟通的桥梁,极大提升超大规模房间下的开会体验。其中,混音引擎303通过协议例如会话初始协议(Session Initiation Protocol,SIP)或实时传输协议(Real-time Transport Protocol,RTP)连接公共交换电话网络305。
其中,混音引擎303包括混音器(Mixer)和选路器(Selector),每个设备组具有对应的混音引擎。当媒体数据流为音频数据流时,混音引擎中的选路器将获取的多路音频数据流向位于同一设备组的混音器发送,多路音频数据流分别来自不同设备组中的第四接口机。混音器从多路音频数据流中选择目标音频数据流,并向产生目标音频数据流的会议接入终端连接的目标接口机发送选中通知。目标接口机向混音器发送目标音频数据流,混音器对目标音频数据流进行混音,并将混音后的音频数据流转发至第四接口机对应的选路器,第四接口机包括目标接口机。第四接口机对应的选路器将混音后的音频数据流发送至第四接口机,第四接口机向其所在设备组中的其他接口机转发混音后的音频数据流。
Mixer和Selector也是按SET部署的。为了尽可能降低延迟,一个SET的Mixer和Selector部署在同一个可用区里(可用区内部传输延时可以控制在2ms)。与此同时,同一个会议的音频数据流,会集中在一个SET中处理,并且最终会集中到同一个Mixer执行混音。
假设图7代表了一个真实的会议,其中有3个参会人员开了麦,这三个参会人员所属接口机为节点a、节点f和节点g,其他接口机上都是观众。为了简化示例图,假定每个会议选2路音频数据流(通常真正的会议选4-6路音频数据流),此时音频数据流的处理流程如下:
节点a、节点f、节点g向图6中的调度系统请求选路器(为了尽可能减小延迟,调度系统会对同会议房间的音频数据流分配同一个可用区的选路器),分别得到图7中节点B、节点C、节点D所表示的选路器。节点a、节点f、节点g将音频数据流转发给分别对应的节点B、节点C、节点D。节点B、节点C、节点D将缓存上行音频数据流,将能量值上报给混音器。混音器对能量值进行排序,并从中选出节点f、节点g的两路音频数据流作为目标音频数据流,然后告知节点C和节点D,节点C和节点D作为目标接口机。节点C和节点D收到选中通知后,把相应的目标音频数据流转发给混音器(这两步延迟在5ms以 内),混音器对收到的目标音频数据流进行混音,然后把混音后的音频数据流转发给节点B、节点C、节点D,节点B、节点C、节点D将混音后的音频数据流发送给节点a、节点f、节点g。节点a、节点f、节点g再进行SET内部转发。
注意,这里给发送给嘉宾的流和给普通观众的流是不同的,给嘉宾的混音后的音频数据流要把自己说话的那一路排除掉。所以被选中的接口机会收到两路音频数据流,一路转发给发言的那个嘉宾,另一路转发给SET内的观众。
混音引擎303是实时的媒体处理系统,因为经过混音引擎303处理过的音频数据流需要实时转发给会议房间内的所有参会人员。而很多情况下还有可能需要异步流处理系统,即这个系统拿到音频数据流之后不需要再发回给会议房间里的参会人员,而是另作他用(例如录制、鉴黄、直播推流等),所以通常不需要那么实时。基于此,本申请实施例提供的音视频会议系统参见图3所示,还包括旁路媒体处理系统304,旁路媒体处理系统304用于通过机器人终端拉取会议房间中产生的媒体数据流,并对媒体数据流进行处理。其中,机器人终端参见图3所示,包括直播流机器人(LiveStream Robot)、录制机器人(Record Robot)、会议连接机器人(MRA Robot)。
在本实施例中,采用机器人(Robot)终端进入会议房间拉流的方式来实现旁路媒体处理功能。以录制为例,用户业务后台通过应用程序接口(Application Programming Interface,API)方式启动一个录制任务,录制任务系统实例化一个Record Robot模拟参会人员进入会议。Record Robot将会议中的媒体数据流拉到本地,混流转码后进行录制。会议结束后,Record Robot将录制的文件上传到指定的存储(也可以定时上传部分分片)。
需要说明的是,鉴黄、直播推流的方案与录制类似,区别仅在于业务逻辑。与第三方会议设备对接时,由于要进行双向通信,所以与录制方案稍有不同:
在与第三方会议设备对接时,参见图8所示,用户业务后台启动一个MRA(会议连接器)Robot,MRA Robot进入**会议(此时其他参会人员可以看到这个MRA Robot),MRA Robot同时通过连接协议(例如SIP或H323等协议)与第三方会议设备连接。MRA Robot把**会议中的所有媒体数据流拉到本地、混流之后,通过连接协议转发给第三方会议设备。从第三方会议设备发来的媒体数据流,MRA Robot将其转换成**会议的私有协议,通过媒体传输网络转发给会议房间中其他参会人员。其中,图8中801为移动会议终端,802为**会议房间智能会议室,用于接入**会议。
需要说明的是,如果音视频会议系统不引入混音引擎,还可以使用图9所示的架构来实现数据传输网络301与公共交换电话网络305的对接。即通过选路器与旁路媒体处理系统中涉及到的机器人共同实现混音引擎的功能。其中,选路器基于能量上报的能量及对应的选路决策进行选路。
基于前述提供的音视频会议实现方法,本申请实施例还提供一种音视频会议实现装置,参见图10所示,所述装置1000包括接收单元1001和转发单元1002:
所述接收单元1001,用于接收第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机 中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;
所述转发单元1002,用于将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
在一种可能的实现方式中,所述转发单元1002,用于:
根据所述第一标识信息查找对应的所述第二接口机的媒体数据流;
若未查找到所述第二接口机的媒体数据流,向所述第二接口机转发所述拉流申请;
所述接收单元1001,还用于接收所述第二接口机根据所述拉流申请中的第一标识信息转发的所述媒体数据流;
所述转发单元1002,还用于将所述媒体数据流转发至所述第一接口机。
在一种可能的实现方式中,所述转发单元1002,还用于:
若查找到对应的所述第二接口机的媒体数据流,将所述媒体数据流转发至所述第一接口机。
在一种可能的实现方式中,若所述第一设备组与所述第二设备组位于不同局域网,所述转发单元1002,用于:
通过中转代理设备向所述第二接口机转发所述拉流申请;
通过所述中转代理设备接收所述第二接口机转发的所述媒体数据流。
在一种可能的实现方式中,所述第一设备组中的回源设备是所述第一接口机按照预设规则确定得到的,所述预设规则使得同一媒体数据流通过同一回源设备路由到其所在设备组中的接口机上。
在一种可能的实现方式中,所述装置还包括发送单元、记录单元和返回单元:
当第三设备组中的第三接口机请求进入所述会议房间时,所述接收单元1001,还用于接收所述第三接口机发送的注册请求,所述第三设备组为所述多个设备组中的任一设备组,所述第三接口机为所述第三设备组中的任一接口机;
所述发送单元,用于若在本地未查找到所述会议房间的信息,向中心服务器发送所述注册请求,以使所述中心服务器将所述第三设备组中组内服务器的第二标识信息记录到第一会议注册列表,并向所述第三设备组中的组内服务器返回注册成功信息;
所述记录单元,用于将所述第三接口机的第三标识信息记录到第二会议注册列表;
所述返回单元,用于向所述第三接口机返回所述注册成功信息。
在一种可能的实现方式中,若在本地查找到所述会议房间的信息,所述记录单元,还用于将所述第三接口机的第三标识信息记录到所述第二会议注册列表;
所述返回单元,还用于向所述第三接口机返回所述注册成功信息。
在一种可能的实现方式中,当第三设备组中的第三接口机连接的会议接入终端发生状态变更时,所述接收单元1001,还用于接收所述第三接口机发送的通知消息;
所述发送单元,用于将所述通知消息发送至所述中心服务器,以使所述中心服务器将所述通知消息发送至每个设备组的组内服务器上,每个设备组的组内服务器用于将所述通知消息发送至注册成功的接口机。
在一种可能的实现方式中,当第三设备组中的第三接口机请求拉取参会列表时,所述接收单元1001,还用于接收所述第三接口机的列表拉取请求;
所述发送单元,用于若在本地未查找到所述参会列表,向所述中心服务器发送所述列表拉取请求;
所述接收单元1001,还用于接收所述中心服务器发送的所述参会列表;
所述发送单元,用于将所述参会列表发送至所述第三接口机。
在一种可能的实现方式中,所述发送单元,还用于若在本地查找到所述参会列表,且所述参会列表未过期,将所述参会列表返回给所述第三接口机。
在一种可能的实现方式中,所述装置还包括选择单元和混音单元:
所述发送单元,还用于当媒体数据流包括音频数据流时,通过混音引擎中的选路器将获取的多路音频数据流向位于同一设备组的混音器发送,所述多路音频数据流分别来自不同设备组中的第四接口机;
所述选择单元,用于通过混音器从所述多路音频数据流中选择目标音频数据流;
所述发送单元,用于向目标接口机发送选中通知,所述目标接口机为产生所述目标音频数据流的会议接入终端连接的接口机;
所述接收单元1001,还用于通过所述混音器接收所述目标接口机发送的目标音频数据流;
所述混音单元,用于对所述目标音频数据流进行混音;
所述转发单元1002,还用于将混音后的音频数据流转发至所述第四接口机对应的选路器;所述第四接口机包括所述目标接口机;
所述发送单元,还用于通过所述第四接口机对应的选路器将混音后的音频数据流发送至所述第四接口机,以使所述第四接口机向其所在设备组中的其他接口机转发所述混音后的音频数据流。
在一种可能的实现方式中,所述装置还包括处理单元:
所述处理单元,用于通过机器人终端拉取所述会议房间中产生的媒体数据流,并对所述媒体数据流进行处理。
本申请实施例还提供了一种用于音视频会议实现的电子设备,该电子设备可以是终端,以终端为智能手机为例:
图11示出的是与本申请实施例提供的终端相关的智能手机的部分结构的框图。参考图11,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1170、处理器1180、以及电源1190等部件。输入单元1130可包括触控面板1131以及其他输入设备1132,显示单元1140可包括显示面板1141,音频电路1160可以包括扬声器1161和传声器1162。本领域技术人员可以理解, 图11中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1180是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
在本实施例中,前述实施例中由终端所执行的步骤可以基于图2所示的结构实现。
该电子设备还可以包括服务器,本申请实施例还提供服务器,请参见图12所示,图12为本申请实施例提供的服务器1200的结构图,服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM等等。
在本实施例中,所述服务器1200中的中央处理器1222可以执行以下步骤:
接收所述第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;
将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组 中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,当程序代码在电子设备上运行时,使得电子设备执行前述各个实施例所述的音视频会议实现方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述实施例各种可选实现方式中提供的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (17)

  1. 一种音视频会议实现方法,所述方法包括:
    第一设备组中的回源设备接收所述第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;
    所述第一设备组中的回源设备将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
  2. 根据权利要求1所述的方法,所述第一设备组中的回源设备将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,包括:
    根据所述第一标识信息查找对应的所述第二接口机的媒体数据流;
    若未查找到所述第二接口机的媒体数据流,向所述第二接口机转发所述拉流申请;
    接收所述第二接口机根据所述拉流申请中的第一标识信息转发的所述媒体数据流,并将所述媒体数据流转发至所述第一接口机。
  3. 根据权利要求2所述的方法,所述方法还包括:
    若查找到对应的所述第二接口机的媒体数据流,将所述媒体数据流转发至所述第一接口机。
  4. 根据权利要求2所述的方法,若所述第一设备组与所述第二设备组位于不同局域网,所述向所述第二接口机转发所述拉流申请,包括:
    通过中转代理设备向所述第二接口机转发所述拉流申请;
    所述接收所述第二接口机根据所述拉流申请中的第一标识信息转发的所述媒体数据流,包括:
    通过所述中转代理设备接收所述第二接口机转发的所述媒体数据流。
  5. 根据权利要求1-4任一项所述的方法,所述第一设备组中的回源设备是所述第一接口机按照预设规则确定得到的,所述预设规则使得同一媒体数据流通过同一回源设备路由到其所在设备组中的接口机上。
  6. 根据权利要求1-4任一项所述的方法,所述方法还包括:
    当第三设备组中的第三接口机请求进入所述会议房间时,所述第三设备组中的组内服务器接收所述第三接口机发送的注册请求,所述第三设备组为所述多个设备组中的任一设备组,所述第三接口机为所述第三设备组中的任一接口机;
    若所述第三设备组中的组内服务器在本地未查找到所述会议房间的信息,向中心服务器发送所述注册请求,以使所述中心服务器将所述第三设备组中组内服务器的第二标识信息记录到第一会议注册列表,并向所述第三设备组中的组内服务器返回注册成功信息;
    所述第三设备组中的组内服务器将所述第三接口机的第三标识信息记录到第二会议注册列表,并向所述第三接口机返回所述注册成功信息。
  7. 根据权利要求6所述的方法,所述方法还包括:
    若所述第三设备组中的组内服务器在本地查找到所述会议房间的信息,将所述第三接口机的第三标识信息记录到所述第二会议注册列表,并向所述第三接口机返回所述注册成功信息。
  8. 根据权利要求6所述的方法,所述方法还包括:
    当第三设备组中的第三接口机连接的会议接入终端发生状态变更时,所述第三设备组中的组内服务器接收所述第三接口机发送的通知消息;
    所述第三设备组中的组内服务器将所述通知消息发送至所述中心服务器,以使所述中心服务器将所述通知消息发送至每个设备组的组内服务器上,每个设备组的组内服务器用于将所述通知消息发送至注册成功的接口机。
  9. 根据权利要求6所述的方法,所述方法还包括:
    当第三设备组中的第三接口机请求拉取参会列表时,所述第三设备组中的组内服务器接收所述第三接口机的列表拉取请求;
    若所述第三设备组中的组内服务器在本地未查找到所述参会列表,向所述中心服务器发送所述列表拉取请求;
    所述第三设备组中的组内服务器接收所述中心服务器发送的所述参会列表,并将所述参会列表发送至所述第三接口机。
  10. 根据权利要求6所述的方法,所述方法还包括:
    若所述第三设备组中的组内服务器在本地查找到所述参会列表,且所述参会列表未过期,将所述参会列表返回给所述第三接口机。
  11. 根据权利要求1-4所述的方法,所述方法还包括:
    当媒体数据流包括音频数据流时,通过混音引擎中的选路器将获取的多路音频数据流向位于同一设备组的混音器发送,所述多路音频数据流分别来自不同设备组中的第四接口机;
    通过混音器从所述多路音频数据流中选择目标音频数据流,并向目标接口机发送选中通知,所述目标接口机为产生所述目标音频数据流的会议接入终端连接的接口机;
    通过所述混音器接收所述目标接口机发送的目标音频数据流,并对所述目标音频数据流进行混音;
    将混音后的音频数据流转发至所述第四接口机对应的选路器;所述第四接口机包括所述目标接口机;
    通过所述第四接口机对应的选路器将混音后的音频数据流发送至所述第四接口机,以使所述第四接口机向其所在设备组中的其他接口机转发所述混音后的音频数据流。
  12. 根据权利要求1-4所述的方法,所述方法还包括:
    通过机器人终端拉取所述会议房间中产生的媒体数据流,并对所述媒体数据流进行处理。
  13. 一种音视频会议实现装置,所述装置包括接收单元和转发单元:
    所述接收单元,用于接收第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,所述第一设备组为多个设备组中的任一设备组,所述多个设备组中每个设备组中存在回源设备,每个设备组中包括多个接口机,所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入会议房间;所述第一接口机是所述第一设备组中的任一接口机;
    所述转发单元,用于将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,以使所述第一接口机将所述媒体数据流转发至对应的会议接入终端;所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第二设备组为所述多个设备组中的任一设备组。
  14. 一种音视频会议系统,所述系统包括数据传输网络和房间管理子系统:
    所述数据传输网络用于传输会议房间中产生的媒体数据流,所述数据传输网络包括多个设备组,每个设备组中包括多个接口机;
    所述多个接口机中每个接口机用于连接会议接入终端,以使所述会议接入终端通过接口机接入所述会议房间;
    所述多个设备组中每个设备组中存在回源设备,第一设备组中的回源设备用于接收所述第一设备组中第一接口机的拉流申请,所述拉流申请中包括媒体数据流的第一标识信息,将所述第一标识信息对应的所述媒体数据流转发至所述第一接口机上,所述媒体数据流是所述第一设备组中的回源设备从第二设备组中第二接口机获取的,产生所述媒体数据流的会议接入终端通过所述第二接口机接入所述会议房间,所述第一设备组和所述第二设备组分别为所述多个设备组中的任一设备组;
    所述第一接口机是所述第一设备组中的任一接口机,所述第一接口机用于将所述媒体数据流转发至对应的会议接入终端;
    所述房间管理子系统包括所述多个设备组和中心服务器,每个设备组中包括组内服务器,所述组内服务器用于辅助所述中心服务器管理所述会议房间。
  15. 一种用于音视频会议实现的电子设备,所述电子设备包括处理器以及存储器:
    所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
    所述处理器用于根据所述程序代码中的指令执行权利要求1-12任一项所述的方法。
  16. 一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,当程序代码在电子设备上运行时,使得电子设备执行权利要求1至12中任一项所述的方法。
  17. 一种计算机程序产品,当所述计算机程序产品被执行时,使得电子设备执行如权利要求1-12任一项所述的方法。
PCT/CN2022/099302 2021-07-30 2022-06-17 音视频会议实现方法、音视频会议系统及相关装置 WO2023005487A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020237034888A KR20230155565A (ko) 2021-07-30 2022-06-17 오디오/비디오 회의 구현 방법, 오디오/비디오 회의 시스템, 및 관련된 장치
EP22848094.3A EP4287612A1 (en) 2021-07-30 2022-06-17 Audio/video conference implementation method, audio/video conference system and related apparatus
US18/137,923 US20230261892A1 (en) 2021-07-30 2023-04-21 Audio and video conference implementation method, audio and video conference system, and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110875339.6A CN115695387A (zh) 2021-07-30 2021-07-30 音视频会议实现方法、音视频会议系统及相关装置
CN202110875339.6 2021-07-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/137,923 Continuation US20230261892A1 (en) 2021-07-30 2023-04-21 Audio and video conference implementation method, audio and video conference system, and related apparatus

Publications (1)

Publication Number Publication Date
WO2023005487A1 true WO2023005487A1 (zh) 2023-02-02

Family

ID=85060089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/099302 WO2023005487A1 (zh) 2021-07-30 2022-06-17 音视频会议实现方法、音视频会议系统及相关装置

Country Status (5)

Country Link
US (1) US20230261892A1 (zh)
EP (1) EP4287612A1 (zh)
KR (1) KR20230155565A (zh)
CN (1) CN115695387A (zh)
WO (1) WO2023005487A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160255126A1 (en) * 2014-03-01 2016-09-01 William Sarris Application and method for conducting group video conversations and meetings on mobile communication devices
CN108307198A (zh) * 2018-03-08 2018-07-20 广州酷狗计算机科技有限公司 流服务节点调度方法、装置及调度节点
CN108833823A (zh) * 2018-06-06 2018-11-16 威创集团股份有限公司 视频会议的实现方法、装置、计算机设备和存储介质
CN110113557A (zh) * 2019-03-26 2019-08-09 视联动力信息技术股份有限公司 一种多级会议实现方法和视联网系统
CN111447401A (zh) * 2020-05-19 2020-07-24 株洲华通科技有限责任公司 一种视频会议系统及其工作方法
CN111787269A (zh) * 2020-07-20 2020-10-16 南京百家云科技有限公司 一种多媒体信息的生成方法、装置、电子设备及存储介质
US20210082068A1 (en) * 2018-07-20 2021-03-18 Beatrice T. O'Brien Computerized Network System for Conducting Remote, Virtual Mediation Proceedings

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780402A (zh) * 2012-10-23 2014-05-07 北京网动网络科技股份有限公司 一种基于树状网络的多级服务器组网通信方法
CN112087644B (zh) * 2020-09-21 2022-10-04 北京金山云网络技术有限公司 拉流请求处理方法、装置、系统、电子设备和存储介质
CN112422880A (zh) * 2020-10-10 2021-02-26 中国农业银行股份有限公司河北省分行 视频会议方法、终端设备及可读存储介质
CN112995707A (zh) * 2021-04-20 2021-06-18 北京小鸟科技股份有限公司 基于跨网络音视频转码调度的系统、方法及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160255126A1 (en) * 2014-03-01 2016-09-01 William Sarris Application and method for conducting group video conversations and meetings on mobile communication devices
CN108307198A (zh) * 2018-03-08 2018-07-20 广州酷狗计算机科技有限公司 流服务节点调度方法、装置及调度节点
CN108833823A (zh) * 2018-06-06 2018-11-16 威创集团股份有限公司 视频会议的实现方法、装置、计算机设备和存储介质
US20210082068A1 (en) * 2018-07-20 2021-03-18 Beatrice T. O'Brien Computerized Network System for Conducting Remote, Virtual Mediation Proceedings
CN110113557A (zh) * 2019-03-26 2019-08-09 视联动力信息技术股份有限公司 一种多级会议实现方法和视联网系统
CN111447401A (zh) * 2020-05-19 2020-07-24 株洲华通科技有限责任公司 一种视频会议系统及其工作方法
CN111787269A (zh) * 2020-07-20 2020-10-16 南京百家云科技有限公司 一种多媒体信息的生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20230261892A1 (en) 2023-08-17
KR20230155565A (ko) 2023-11-10
EP4287612A1 (en) 2023-12-06
CN115695387A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US8659636B2 (en) System and method for performing distributed video conferencing
EP1678951B1 (en) System and method for performing distributed video conferencing
EP1039734B1 (en) Method and system for reducing multimedia conference bandwidth
US7124166B2 (en) Duplicating digital streams for digital conferencing using switching technologies
US20040252691A1 (en) VoIP system, VoIP server and client, and multicast packet communication method
US10701116B2 (en) Method, computer-readable storage device and apparatus for establishing persistent messaging sessions
US9270937B2 (en) Real time stream provisioning infrastructure
WO2016082577A1 (zh) 视频会议的处理方法及装置
CN111131759B (zh) 一种实时多媒体传输系统及其使用方法
US9264662B2 (en) Chat preauthorization
US11290685B2 (en) Call processing method and gateway
US9013537B2 (en) Method, device, and network systems for controlling multiple auxiliary streams
US20200329083A1 (en) Video conference transmission method and apparatus, and mcu
CN112543301A (zh) 一种基于ims的智能会议系统及其实现方法
WO2023005487A1 (zh) 音视频会议实现方法、音视频会议系统及相关装置
WO2016045496A1 (zh) 一种媒体控制方法和设备
CN112929371A (zh) 会话处理方法、装置、系统、电子设备及介质
CN114866520B (zh) 通信的处理方法、系统、电子设备及存储介质
CN117812218A (zh) 基于ims通信单流媒通道下的分屏会议实现方法
JP2006157541A (ja) 多地点テレビ電話システム及びその多者接続制御方法

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: 22848094

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022848094

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022848094

Country of ref document: EP

Effective date: 20230830

ENP Entry into the national phase

Ref document number: 20237034888

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237034888

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 11202307020R

Country of ref document: SG

WWE Wipo information: entry into national phase

Ref document number: 2023571700

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE