A conference management method and apparatus
Patent Information
- Application Number
- CN202510339161.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2026-09-22
AI Technical Summary
[0003]本申请提供了一种会议管理方法及装置,用于解决会议过程中,发言方频繁变化导致的多个终端短时间与服务器大量交互,占用服务器大量资源的问题
[0026]以上第三方面至第九方面的有益效果,可参照第一方面或第二方面中任一种实现方式的描述,在此不予赘述。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
Smart Images

Figure CN122802297A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a meeting management method and apparatus. Background Technology
[0002] Conferencing systems typically consist of multiple terminals and a server. When a speaker's terminal changes, each terminal sends a subscription message to the server, which then sends the media stream of the latest speaker's terminal to each terminal based on the subscription message. Each terminal then displays the screen corresponding to the latest speaker based on the received media stream. During the conference, multiple terminals monitor their locally played screens and actively send subscription messages to the server. If the speakers on multiple terminals change frequently, a large number of interactions between multiple terminals and the server occur within a short period, wasting server processing resources and placing significant transmission pressure on the server and terminals. Summary of the Invention
[0003] This application provides a meeting management method and apparatus to solve the problem of multiple terminals interacting extensively with the server in a short period of time, resulting in a large amount of server resources being consumed, due to frequent changes in speakers during a meeting.
[0004] Firstly, this application provides a conference management method. The method is applied to a server that communicates with multiple terminals. The method includes: the server receiving a subscription policy from a first terminal among the multiple terminals. The subscription policy indicates the rules that the terminals subscribed to by the first terminal must meet. The server determines a target terminal from the multiple terminals according to the subscription policy. The server then pushes a media stream from the target terminal to the first terminal, wherein the conference screen indicated by the media stream from the target terminal matches the subscription policy.
[0005] Compared to a server determining the target terminal based on subscription messages, in the first aspect of this application, the server automatically determines the target terminal based on a subscription strategy. This process can be completed without being triggered by subscription messages sent by the terminal. The terminal does not need to send subscription messages to the server, and the server does not need to receive and process these messages, thus saving server processing resources and reducing transmission pressure between the server and the terminal.
[0006] In one possible implementation, the method further includes: the server changing the target terminal according to the subscription policy, and pushing the media stream of the changed target terminal to the first terminal. The conference screen indicated by the media stream of the changed target terminal matches the subscription policy. Thus, when the target terminal changes, the server directly changes the target terminal according to the subscription policy. The process of the server changing the target terminal does not need to be triggered by the subscription message sent by the first terminal, saving transmission resources occupied by transmitting subscription messages, reducing the transmission pressure between the server and the first terminal, and saving processing resources required by the server to process subscription messages.
[0007] In another possible implementation, the subscription strategy includes a speaker subscription strategy and / or a bulk subscription strategy. The speaker subscription strategy instructs that, when the first terminal is in speaker view mode, the first terminal subscribes to the first media stream of the speaker terminal and subscribes to the second media stream of the second terminal. Here, the speaker terminal is the terminal whose media stream volume meets a volume condition among multiple terminals. The screen corresponding to the first media stream has a first resolution. The second terminal is the terminal among multiple terminals that meets the first condition. The screen corresponding to the second media stream has a second resolution. The first resolution is greater than the second resolution. The bulk subscription strategy instructs that, when the first terminal is in a specified view mode, the first terminal subscribes to the third media stream of a third terminal among multiple terminals. Here, the third terminal is the terminal among multiple terminals that meets the second condition. The screen corresponding to the third media stream has a third resolution. Thus, the subscription strategy corresponds to the mode in which the first terminal is located, ensuring that the target terminals determined by the server meet the requirements.
[0008] In another possible implementation, when the first terminal is in speaker view mode, the server determines the target terminal from multiple terminals according to a subscription policy. This includes: the server acquiring multiple media streams from multiple terminals. One terminal corresponds to one media stream. The server determines the fourth terminal corresponding to the fourth media stream among the multiple media streams according to the subscription policy. The fourth media stream is the media stream whose volume meets a certain condition among the multiple media streams. The server determines the fifth terminal among the multiple terminals that meets a first condition according to the subscription policy. The server then uses the fourth and fifth terminals as target terminals. Thus, when the first terminal is in speaker view mode, compared to only determining the fourth terminal as the target terminal, the server also determines the fifth terminal as the target terminal, so that the first terminal can display the screen corresponding to the fourth terminal and the screen corresponding to the fifth terminal, improving the user experience.
[0009] In another possible implementation, the server pushes a media stream from a target terminal to the first terminal, including: the server pushing a media stream from a fourth terminal to the first terminal. The screen corresponding to the media stream from the fourth terminal has a first resolution. The server also pushes a media stream from a fifth terminal to the first terminal. The screen corresponding to the media stream from the fifth terminal has a second resolution. Thus, the screens corresponding to the pushed media streams from the fourth and fifth terminals have different resolutions, providing support for the first terminal to distinguish between the fourth and fifth terminals using different resolutions.
[0010] In another possible implementation, when the first terminal is in a specified view mode, the server determines the target terminal from multiple terminals according to a subscription policy, including: the server determining the terminal among the multiple terminals that meets a second condition according to the subscription policy; and the server selecting the terminal among the multiple terminals that meets the second condition as the target terminal. Thus, according to...
[0011] In another possible implementation, the time when the server pushes the media stream of the terminal that meets the second condition among multiple terminals to the first terminal is called the first time. The interval between the first time and the current time is called the first duration. If the first duration is greater than or equal to the first duration threshold, the conference management method further includes: the server determining the terminal that meets the second condition among other terminals according to the subscription policy; and the server designating the terminal that meets the second condition among other terminals as the target terminal. Thus, if the display duration of the screen corresponding to the target terminal is greater than or equal to the first duration threshold, the server changes the target terminal, ensuring that the screen corresponding to each of the multiple terminals can be displayed, thereby improving the user experience.
[0012] In another possible implementation, the number of target terminals is greater than or equal to two. The server pushes the media stream of the target terminal to the first terminal, including: the server pushes the media stream of the target terminal to the first terminal according to a media stream push strategy. The media stream push strategy includes one or more of the following: an immediate push strategy, a periodic push strategy, and a fixed-duration push strategy. The immediate push strategy indicates that the media stream of the target terminal is pushed upon receiving media streams from each of the target terminals. The periodic push strategy indicates that the media stream of the target terminal is pushed according to a reference period. The fixed-duration push strategy indicates that the media stream of the target terminal is pushed if a second duration is greater than or equal to a second duration threshold. The second duration indicates the interval between the current time and a historical time. The historical time is the time of the last push of the media stream of the target terminal. Thus, by using different media stream push strategies to push the media stream of the target terminal, the server ensures the stability of the image corresponding to the media stream displayed on the first terminal.
[0013] Secondly, this application provides a conference management method. This method is applied to a first terminal, which is one of multiple terminals communicating with a server. The method includes: the first terminal sending a subscription policy to the server. The subscription policy indicates the rules that terminals subscribed to by the first terminal must meet; and the first terminal receiving a media stream from a target terminal pushed by the server based on the subscription policy. The conference screen indicated by the media stream from the target terminal matches the subscription policy.
[0014] In the second aspect of this application, the first terminal sends a subscription policy to the server and receives media streams from the target terminal. The first terminal does not need to provide resources to detect changes in the target terminal, saving processing resources consumed by the first terminal for detecting the target terminal. Furthermore, the first terminal does not need to send subscription messages to the server to subscribe to the latest media streams from the target terminal, reducing the transmission pressure between the server and the terminal.
[0015] In one possible implementation, the method further includes: a first terminal receiving a modified media stream from the target terminal pushed by a server based on a subscription policy. The conference screen indicated by the modified target terminal's media stream matches the subscription policy. Thus, the first terminal does not need to send a subscription message to the server to subscribe to the modified target terminal's media stream to obtain it, reducing the transmission load between the server and the terminal.
[0016] In another possible implementation, the subscription strategy includes a speaker subscription strategy and / or a bulk subscription strategy. The speaker subscription strategy instructs that, when the first terminal is in speaker view mode, it subscribes to the first media stream from the speaker terminal and the second media stream from the second terminal. The speaker terminal is the terminal whose media stream volume meets a certain volume condition among multiple terminals. The screen corresponding to the first media stream has a first resolution. The second terminal is the terminal among multiple terminals that meets the first condition. The screen corresponding to the second media stream has a second resolution. The first resolution is greater than the second resolution. The bulk subscription strategy instructs that, when the first terminal is in a specified view mode, it subscribes to the third media stream from a third terminal among multiple terminals. The third terminal is the terminal among multiple terminals that meets the second condition. The screen corresponding to the third media stream has a third resolution. Thus, the subscription strategy corresponds to the mode of the first terminal, ensuring that the received media stream from the target terminal meets the requirements.
[0017] In another possible implementation, the first terminal receives media streams from the target terminals pushed by the server based on a subscription policy. This includes the first terminal receiving the media streams from each of the target terminals pushed by the server based on the subscription policy at a third time. This avoids blackouts caused by not obtaining all the information needed to parse the media streams from the target terminals, thus ensuring the stability of the screen displayed on the first terminal.
[0018] In another possible implementation, the target terminals include a fourth terminal and a fifth terminal. The fourth terminal is the terminal whose media stream volume meets a volume condition among multiple terminals. The fifth terminal is the terminal that meets a first condition among multiple terminals. The first terminal receives the media stream from the target terminals pushed by the server based on a subscription policy, including: the media stream from the fourth terminal pushed by the server based on the subscription policy. The screen corresponding to the media stream from the fourth terminal has a first resolution. The first terminal also receives the media stream from the fifth terminal pushed by the server based on the subscription policy. The screen corresponding to the media stream from the fifth terminal has a second resolution. Thus, the screen resolutions corresponding to the received media streams from the fourth and fifth terminals are different, providing support for the first terminal to distinguish and display the fourth and fifth terminals using different resolutions.
[0019] Thirdly, this application provides a conference management system. The conference management system includes multiple terminals and a server. The multiple terminals and the server communicate with each other. The multiple terminals include a first terminal. The method includes: the first terminal sending a subscription policy to the server. The subscription policy indicates the rules that terminals subscribed to by the first terminal must meet. The server receives the subscription policy from the first terminal. The server determines a target terminal from the multiple terminals according to the subscription policy. The server pushes a media stream from the target terminal to the first terminal. The conference screen indicated by the media stream of the target terminal matches the subscription policy of the first terminal. The first terminal receives the media stream from the target terminal pushed by the server based on the subscription policy.
[0020] Fourthly, this application provides a meeting management apparatus. The apparatus includes modules for performing the meeting management method of the first aspect or any possible design of the first aspect, or modules for performing the meeting management method of the second aspect or any possible design of the second aspect.
[0021] Fifthly, this application provides a processor. The processor includes an interface circuit and a control circuit. The interface circuit is configured to receive a subscription policy from a first terminal among a plurality of terminals, and cooperate with the control circuit to implement the operational steps of the method in the first aspect or any possible design of the first aspect. Alternatively, the interface circuit is configured to send the subscription policy to a server, and cooperate with the control circuit to implement the operational steps of the method in the second aspect or any possible design of the second aspect.
[0022] Sixthly, this application provides a computing device. The computing device includes at least one processor and a memory, the memory storing a set of computer instructions; when the processor executes the set of computer instructions as an execution device in the first aspect or any possible implementation of the first aspect, it executes the operation steps of the conference management method in the first aspect or any possible implementation of the first aspect; or, when the processor executes the set of computer instructions as an execution device in the second aspect or any possible implementation of the second aspect, it executes the operation steps of the conference management method in the second aspect or any possible implementation of the second aspect.
[0023] In a seventh aspect, this application provides a computing device cluster. The computing device cluster includes at least one computing device, each computing device including a processor and a memory. The processor of the at least one computing device is configured to execute instructions stored in the at least one memory to cause the computing device cluster to perform operational steps of the meeting management method of the first aspect or any possible design of the first aspect, or to cause the computing device cluster to perform operational steps of the meeting management method of the second aspect or any possible design of the second aspect.
[0024] Eighthly, this application provides a computer-readable storage medium. It includes: computer software instructions; when executed in a computing device, the computer software instructions cause the computing device to perform operational steps of the method as described in the first aspect or any possible implementation thereof, or cause the computing device to perform operational steps of the method as described in the second aspect or any possible implementation thereof.
[0025] Ninthly, this application provides a computer program product. When the computer program product is run on a computer cluster, it causes the computing device cluster to perform the operation steps of the method as described in the first aspect or any possible implementation of the first aspect, or causes the computing device to perform the operation steps of the method as described in the second aspect or any possible implementation of the second aspect.
[0026] The beneficial effects of aspects three through nine above can be described with reference to the implementation of any of aspects one or two, and will not be repeated here. Based on the implementations provided in the above aspects, this application can be further combined to provide more implementations. Attached Figure Description
[0027] Figure 1 A schematic diagram of the architecture of a conference management system provided for this application;
[0028] Figure 2 Example diagram of a display mode provided in this application;
[0029] Figure 3 A schematic diagram of the structure of a computing device provided in this application;
[0030] Figure 4 A flowchart illustrating a meeting management method provided in this application;
[0031] Figure 5 An example architecture diagram of a conference management system provided in this application;
[0032] Figure 6 This is a comparative example diagram of the first meeting management method;
[0033] Figure 7 This is a comparative example diagram of the second meeting management method;
[0034] Figure 8 A schematic diagram of a meeting management device provided in this application;
[0035] Figure 9 This application provides a schematic diagram of the structure of a computing device cluster;
[0036] Figure 10 This is a schematic diagram of the connection between computing devices provided in this application. Detailed Implementation
[0037] This application provides a meeting management method in which a first terminal sends a subscription policy to a server, and the server receives and determines the target terminal based on the subscription policy. When the target terminal changes frequently, the server automatically determines the target terminal based on the subscription policy. Thus, the server can complete the process of determining the target terminal without being triggered by a subscription message sent by the terminal. When the target terminal changes frequently, the terminal does not need to send a subscription message to the server, saving server processing resources and reducing the transmission pressure between the server and the terminal.
[0038] To ensure clarity and brevity in the description of the following embodiments, a brief introduction to the relevant technologies is given first.
[0039] Conference management systems typically consist of multiple terminals and a server. When a terminal detects a change in the target terminal, it sends a subscription message to the server to subscribe to the media stream from the changed target terminal. With frequent changes in the target terminal, the terminals interact with the server frequently, consuming significant resources from both the server and the terminals.
[0040] Therefore, this application provides a meeting management method. This method can be applied to... Figure 1 The conference management system shown. Figure 1 A schematic diagram of the architecture of a conference management system provided in this application is shown below. Figure 1As shown, the conference management system 100 includes multiple terminals 110 and a server 120. Each terminal 110 and the server 120 can communicate via wired or wireless means. Wired communication can utilize Ethernet, fiber optic cables, or various Peripheral Component Interconnect Express (PCIe) buses installed within the conference management system 100 to connect the multiple terminals 110 and the server 120. Wireless communication can utilize the Internet, Wireless Local Area Network (WLAN), or Ultra Wideband (UWB) technologies.
[0041] Terminal 110 sends a subscription policy to server 120 and receives media streams from server 120 for the target terminal based on the subscription policy. The media streams may include, but are not limited to, video streams, audio streams, etc., such as a media stream including both audio and video streams. Terminal 110 may be an electronic device with a display function, such as a personal computer, desktop computer, mobile phone, server with an external display device, etc.
[0042] Terminal 110 is equipped with conferencing software that supports multiple participants. Terminal 110 supports the use of various display modes by the aforementioned conferencing software to display multiple participants. Figure 2 An example diagram of a display mode provided in this application, such as... Figure 2 As shown in (a) to (e), the display modes include: speaker view mode, gallery view mode, side-by-side gallery view mode, picture-in-picture view mode, and floating view mode. Figure 2 Several possible examples of display modes are shown. Depending on the needs of the actual application, other display modes may also be included, and this application does not limit this. The various display modes described above have different display styles.
[0043] For example, when the conferencing software on terminal 110 displays multiple participants in speaker view mode, terminal 110 can display the speaker's terminal screen at the first resolution (e.g., ...). Figure 2 The image in (a) 1), and the image of the non-speaking terminal displayed using a second resolution (e.g. Figure 2(Images 2 to 5 in (a)). The speaking terminal can refer to the terminal whose media stream volume among the multiple terminals 110 meets the volume condition. The volume condition can be set according to the needs of actual application. For example, if the volume condition is set to maximum volume, the speaking terminal is the terminal with the highest volume among the multiple terminals 110 media streams. Alternatively, if the volume condition is set to a specified volume order, the speaking terminal is the terminal whose media stream volume among the multiple terminals 110 is in the specified order. Another example is setting the volume condition to a volume threshold, in which case the speaking terminal is the terminal whose media stream volume among the multiple terminals 110 is greater than or equal to the volume threshold.
[0044] For example, if the conferencing software on terminal 110 displays multiple participants in gallery view mode, terminal 110 can display the screens of at least two terminals at a third resolution (e.g., ...). Figure 2 (b) Screens 1 to i).
[0045] The above describes the two display modes supported by the conference software installed on terminal 110. The following describes server 120.
[0046] Server 120 receives the subscription policy from terminal 110, queries multiple terminals 110 based on the subscription policy, determines the target terminal that meets the rules of the subscription policy, and pushes the media stream of the target terminal to terminal 110. Server 120 can be an electronic device with data forwarding and data processing functions, such as a Selective Forwarding Unit (SFU) server, etc.
[0047] The terminal 110 and server 120 mentioned above can be implemented using computing devices. When the terminal 110 is implemented using a computing device, that computing device can be an electronic device with display functionality. When the server 120 is implemented using a computing device, that computing device can be an electronic device with data forwarding functionality.
[0048] For example, Figure 3 A schematic diagram of the structure of a computing device provided in this application, such as... Figure 3 As shown, the computing device 300 includes a communication interface 314, a processor 311, and a memory 313. The communication interface 314 is used to communicate with other electronic devices located outside the computing device 300. This communication interface 314 can be an input / output (I / O) interface.
[0049] For example, when the computing device 300 is used to implement the functions of the terminal 110, the computing device 300 interacts with the server 120 through the communication interface 314. Specifically, the computing device 300 inputs data (such as sending a subscription policy) to the server 120 through the communication interface 314, and the computing device 300 receives the processing results (such as the media stream of the target terminal) from the server 120 through the communication interface 314.
[0050] For example, when the computing device 300 is used to implement the functions of the server 120, the computing device 300 interacts with the terminal 110 through the communication interface 314. Specifically, the computing device 300 receives input data (such as receiving subscription policies) from the terminal 110 through the communication interface 314, and the computing device 300 sends the processing results (such as the media stream of the target terminal) to the terminal 110 through the communication interface 314.
[0051] Processor 311 is the core of computing device 300 for both computation and control. It may include: a central processing unit (CPU), a specific integrated circuit, other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. In practical applications, computing device 300 may also include multiple processors. Processor 311 may include one or more processor cores. An operating system and other software programs are installed in processor 311, enabling it to access memory 313 and various peripheral component interconnect (PCIe) devices.
[0052] The processor 311 is connected to the memory 313 via a bus 316. The bus 316 can be a double data rate (DDR) bus or other types of bus. The memory 313 is the main memory of the computing device 300. The memory 313 is typically used to store various running software in the operating system. To improve the access speed of the processor 311, the memory 313 needs to have a high access speed. In traditional computer devices, dynamic random access memory (DRAM) is typically used as the memory 313. Besides DRAM, the memory 313 can also be other random access memories, such as static random access memory (SRAM). Alternatively, the memory 313 can also be a read-only memory (ROM). For example, a read-only memory could be a programmable read-only memory (PROM) or an erasable programmable read-only memory (EPROM). This embodiment does not limit the number or type of memory 313.
[0053] In some possible scenarios, for persistent storage of data (such as subscription strategies), the computing device 300 may also be provided with a data storage system 315, which may be located outside the computing device 300 (e.g., Figure 3 As shown, the data storage system 315 exchanges data with the computing device 300 via a network. Optionally, the data storage system 315 can also be located inside the host, such as when the data storage system 315 exchanges data with the processor 311 via the bus 316. In this case, the data storage system 315 manifests as a hard disk.
[0054] It is understood that the structures illustrated in the above embodiments do not constitute a specific limitation on the conference management system or the computing device. In other embodiments, the conference management system may include more or fewer components, and the computing device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0055] The above text combined Figures 1 to 3 The meeting management system that applies the meeting management methods, as well as the computing devices that can be used to implement them, such as terminals and servers, are described below. Figures 1 to 3 The content shown provides a detailed description of the meeting management method provided in this application.
[0056] Figure 4 This application provides a flowchart illustrating a meeting management method that can be applied to a meeting management system. The meeting management system can employ... Figure 1 The architecture described. For more details on the meeting management system, please see the above text. Figures 1 to 3 The relevant descriptions will not be repeated here.
[0057] This section uses a conference management system as an example. Figure 1 The meeting management method provided in this application is described using the architecture described above as an example. Figure 4 As shown, the method can be executed by a first terminal among multiple terminals and a server, and the method may include the following S410 to S450.
[0058] S410, the first terminal sends the subscription policy to the server.
[0059] This subscription policy indicates the rules that the first terminal to subscribe to must meet. Subscription policies can be varied; several possible examples are given below, categorized by scenario.
[0060] Scenario 1: The subscription strategy includes the speaker's subscription strategy.
[0061] The speaker subscription strategy instructs that, when the first terminal is in speaker view mode, the first terminal subscribes to the first media stream of the speaker terminal and subscribes to the second media stream of the second terminal. The speaker terminal is the terminal whose media stream volume meets a volume condition among multiple terminals. For a description of the volume condition, please refer to the above; it will not be repeated here. The method provided in this application will be explained below using the example of the speaker terminal having the highest media stream volume among multiple terminals. The screen corresponding to the first media stream has a first resolution. The second terminal is the terminal among multiple terminals that meets the first condition. The screen corresponding to the second media stream has a second resolution. The first resolution is greater than the second resolution. In this case, the subscription strategy instructs the acquisition of the screen with the first resolution corresponding to the first media stream of the speaker terminal, and the acquisition of the screen with the second resolution corresponding to the second media stream of the second terminal.
[0062] The first condition can vary depending on the actual application scenario. Several possible examples are given below.
[0063] Example 1: The first condition is that the terminal's speech information meets the specified speech rules.
[0064] The information provided during a speech may include, but is not limited to, the time of the most recent speech, the frequency of speeches, and the total number of speeches. Different rules apply depending on the specific information provided.
[0065] For example, the message information is the time of the most recent message.
[0066] In this scenario, the specified speaking rules include: the N terminals with the earliest most recent speaking time, where N is a positive integer. N can be preset or set according to the needs of the actual application; this application does not limit this. In this scenario, the server obtains the most recent speaking time of each of the multiple terminals and designates the N terminals with the most recent speaking time as the second terminals. That is, the second terminals are the terminals from the 1st most recent speaker to the Nth most recent speaker among the multiple terminals. For example, if N is 4, the multiple terminals include terminals 1 to n. n is a positive integer, and n≥N. The most recent speaking time of terminals 1 to n is from t+n to t+1. In this scenario, the second terminals include terminals 1 to 4. In some possible cases, the terminal with the most recent i-th speaking time can also be called the previous i speaking terminals or the terminal with the last i-th speaking time.
[0067] For example, the speaking information is the speaking frequency.
[0068] In this scenario, the specified speaking rules include: the N terminals that speak the most times within a specified time period, where N is an integer greater than or equal to 1. Similarly, the specified time period and N can be preset or set according to the needs of the actual application; this application does not limit this. In this scenario, the server obtains the number of times each terminal speaks within a specified time period from multiple terminals, and selects the N terminals that speak the most times within the specified time period as the second terminals. That is, the second terminals are the top N terminals with the highest speaking frequency within the specified time period. For example, if N is 4, the multiple terminals include terminals 1 to n. n is a positive integer, and n≥N. The number of times terminals 1 to n speak within the specified time period is x+1 to x+n. In this scenario, the second terminals include terminals n-3 to n.
[0069] For example, the message information is the total number of times a message has been sent.
[0070] In this scenario, the specified speaking rules include: the N terminals with the most speaking times after joining the meeting, where N is an integer greater than or equal to 1. Similarly, N can be preset or set according to the needs of the actual application; this application does not limit this. In this scenario, the server obtains the total number of speaking times for each terminal after joining the meeting and selects the N terminals with the most total speaking times as the second terminals. For example, if N is 4, the multiple terminals include terminals 1 to n. n is a positive integer, and n ≥ N. The total number of speaking times for terminals 1 to n after joining the meeting is x+1 to x+n. In this scenario, the second terminals include terminals n-3 to n.
[0071] Example 2: The first condition is that the participant corresponding to the terminal meets the specified participation information.
[0072] In this scenario, the first condition could refer to a match between the participant identifier corresponding to the terminal and the designated participant identifier, etc. The aforementioned participant identifier can include, but is not limited to, the participant name, the first letter of the participant name, the participant's department identifier, etc. For example, the first condition could refer to the first letter of the participant name corresponding to the terminal being among the first N letters of the first sequence. The first sequence is a sequence obtained by sorting the first letters of the participant names of multiple participants corresponding to multiple terminals in alphabetical order. In this scenario, the second terminal can be a terminal among multiple terminals whose first letter of the participant name is among the first N letters of the participant name.
[0073] Example 3: The first condition is that the terminal's membership time meets the specified membership time.
[0074] In this scenario, the first condition could refer to joining the membership within the top N timeframes. The second terminal could refer to the top N terminals with the earliest joining times among multiple terminals.
[0075] The first condition has been illustrated above. Depending on the needs of the actual application, the first condition may also include other contents, which are not limited in this application.
[0076] Scenario 2, the subscription strategy includes a bulk subscription strategy.
[0077] The bulk subscription strategy is used to instruct that, when the first terminal is in a specified view mode, the first terminal subscribes to a third media stream from a third terminal among multiple terminals. Specified view modes include, but are not limited to, gallery view mode, side-by-side gallery view mode, etc. The method provided in this application is described below using gallery view mode as an example. The third terminal is a terminal among multiple terminals that meets the second condition. The screen corresponding to the third media stream has a third resolution. In this case, the subscription strategy is used to instruct the acquisition of the media stream from the terminal that meets the second condition. The screen corresponding to this media stream has a third resolution.
[0078] Similarly, the second condition varies depending on the specific application scenario. For example, the second condition might be that the membership time is among the first M positions, the participant's name is among the first M positions, or the participant's letter is among the first M positions. For a detailed description of this part, please refer to the relevant description of the first condition above; it will not be repeated here. M is an integer greater than or equal to 1. Depending on the needs of the actual application, M can be the same as or different from N; this application does not limit this, for example, N is 4 and M is 25.
[0079] Scenario 3: Subscription strategies include speaker subscription strategies and bulk subscription strategies.
[0080] For details on speaker subscription strategies and bulk subscription strategies, please refer to the descriptions of Situations 1 and 2 above; they will not be repeated here.
[0081] In some possible scenarios, a subscription policy may include at least one terminal identifier. A terminal identifier is used to indicate a terminal that meets specified rules. Terminal identifiers include, but are not limited to, numbers, letters, etc.
[0082] For example, when the subscription strategy is a speaker subscription strategy and N is 4, the subscription strategy can include "0", "1", "2", "3", and "4". Here, "0" is used to indicate the speaker terminal, and "i" is used to indicate the most recent i-th speaker terminal, where i is 1, 2, 3, or 4.
[0083] For example, when the subscription strategy is a batch subscription strategy and M is 25, the subscription strategy can include "1" to "25". Here, "i" is used to indicate the terminal ranked i times when it joined the membership, and 1≤i≤25.
[0084] The above description illustrates several possible examples of subscription strategies under different scenarios. Depending on the needs of the actual application, subscription strategies may also include other strategies, which this application does not limit. After the first terminal sends the subscription strategy to the server, the server can correspondingly execute S420.
[0085] S420, the server receives the subscription policy from the first terminal.
[0086] After receiving the subscription policy from the first terminal, the server can execute S430 to determine the target terminal for the first terminal's subscription.
[0087] S430: The server determines the target terminal from multiple terminals based on the subscription policy.
[0088] The target terminal is the device that provides the media stream corresponding to the conference screen of the first terminal. In some possible cases, the providing device may also be called the provider, the providing terminal, or other names, etc., and this application does not limit it in this regard.
[0089] Depending on the subscription strategy, the process by which the server determines the target terminal also differs, and will be described in detail below.
[0090] In scenario a, the subscription strategy is the speaker's subscription strategy.
[0091] The first terminal is in speaker view mode. The target terminal includes the speaker terminal among multiple terminals and the terminal that meets the first condition. In this case, the server can determine the target terminal based on the following (1) to (4).
[0092] (1) The server obtains multiple media streams from multiple terminals.
[0093] In this setup, one terminal corresponds to one media stream. The server can acquire multiple media streams from multiple terminals using the following process: Specifically, the server can send multiple subscription messages to multiple terminals. One subscription message is used to subscribe to the media stream of one terminal. The server receives the media streams pushed by each terminal. For example, if the multiple terminals include terminal 1 to terminal n, the server sends subscription messages 1 to 2 to 3 to subscribe messages n to terminal 1 to terminal n respectively, to subscribe to media stream 1 to media stream n of terminal 1 to terminal n. Based on the media streams 1 to 2 to media stream n pushed by terminal 1 to terminal n, the server obtains n media streams.
[0094] (2) The server determines the fourth terminal corresponding to the fourth media stream among multiple media streams based on the subscription policy.
[0095] Among them, the fourth media stream is the media stream whose volume meets the volume condition among multiple media streams.
[0096] If the volume condition is set to maximum, the server can parse the acquired media streams and determine the fourth media stream with the highest volume. The server then designates the terminal corresponding to this fourth media stream as the fourth terminal. For example, if the server parses media streams 1 through 'n' and determines media stream 1 with the highest volume, the server designates terminal 1 corresponding to media stream 1 as the fourth terminal. When the volume condition is otherwise specified, the server can also determine the target terminal based on the volume of the media streams using the method described above, which will not be elaborated upon here.
[0097] In some possible scenarios, the server can use modules to determine the fourth terminal, such as using the maximum speaker identification module to determine the fourth terminal.
[0098] (3) The server determines the fifth terminal among multiple terminals that meets the first condition according to the subscription policy.
[0099] The process by which the server determines the fifth terminal varies depending on the first condition. The following example illustrates the process by which the server determines the fifth terminal, taking as an example N terminals whose first condition is that their message information meets the specified message rules, and whose message information is the most recent message time, and whose specified message rule is the earliest most recent message time.
[0100] Specifically, the server retrieves the most recent speaking time of all terminals (excluding the speaking terminal) from a pool of terminals according to the subscription policy. The server then sorts these terminals in chronological order of their most recent speaking times, obtaining a sorting result. The server identifies the top N terminals in this sorting result as the fifth terminal. For example, if N is 4, the multiple terminals include terminals 1 to n, with terminal 1 being the speaking terminal. The most recent speaking times of terminals 2 to n are t+n to t+2. In this case, the server retrieves the most recent speaking times of terminals 2 to n and sorts them in chronological order, obtaining sorting result 1. The server then identifies the top 4 terminals in sorting result 1 (terminals 2 to 5) as the fifth terminal.
[0101] The above provides an illustrative description of the process by which the server determines the fifth terminal. If the first condition is otherwise, the server can also determine the fifth terminal in a similar manner, which will not be repeated here.
[0102] (4) The server uses the fourth and fifth terminals as target terminals.
[0103] In this scenario, the server uses the aforementioned fourth and fifth terminals as target terminals, meaning the server uses the aforementioned fourth and fifth terminals as terminals whose media streams are subscribed to by the first terminal.
[0104] The previous section used a speaker-centric subscription strategy as an example to illustrate the process by which the server determines the target terminal, using scenario a. The following section uses a batch subscription strategy as an example to further illustrate the process by using scenario b.
[0105] In scenario b, the subscription strategy is a bulk subscription strategy.
[0106] In this case, the first terminal is in the specified view mode, and the server can determine the target terminal using the following (1) and (2).
[0107] (1) The server determines the terminal that meets the second condition among multiple terminals according to the subscription policy.
[0108] Depending on the specific second condition, the server's process for determining which terminals meet that condition varies. The following example uses the earliest M terminals whose second condition is membership time as an example to illustrate the server's process for determining which terminals meet the second condition.
[0109] In this scenario, the server acquires and records multiple joining times from multiple terminals. Each terminal corresponds to one joining time. The server sorts the multiple joining times from multiple terminals in chronological order. The server then selects the M terminals with the earliest joining times as those satisfying the second condition. For example, if M is 25, the multiple terminals include terminals 1 to n. The joining times of terminals 1 to n are t+1 to t+n. If n is greater than or equal to 25, in this case, the server sorts the joining times of terminals 1 to n in chronological order from t+1 to t+n. The server then determines the terminals with the earliest joining times, from 1 to M, as those satisfying the second condition. If n is less than 25, in this case, the server determines terminals 1 to n as those satisfying the second condition.
[0110] (2) The server selects the terminal that meets the second condition from among the multiple terminals as the target terminal.
[0111] In other words, the server will select the terminal that meets the second condition from among multiple terminals as the terminal whose media stream is subscribed to by the first terminal.
[0112] In some possible scenarios, where the subscription policy includes at least one terminal identifier, the server can store a terminal identifier mapping relationship, which includes the terminal identifier and the corresponding specified rule. The server can also carry the terminal identifier in the media stream of the target terminal to improve the efficiency of the first terminal parsing the target terminal's media stream. The server can determine the target terminal and carry the terminal identifier in the target terminal's media stream using the following process: Specifically, after receiving the subscription policy, the server parses the subscription policy to obtain at least one terminal identifier. Based on the terminal identifier mapping relationship, the server determines at least one specified rule corresponding to the at least one terminal identifier. The server selects at least one terminal from multiple terminals that satisfies at least one specified rule. One terminal corresponds to one specified rule. The server establishes a mapping relationship between at least one terminal identifier and at least one terminal. The server carries the corresponding terminal identifier in the media stream of each of the at least one terminal. The server then pushes at least one media stream carrying the terminal identifier of the at least one terminal to the first terminal. For the process of the server pushing the aforementioned media stream carrying the terminal identifier to the first terminal, please refer to the relevant descriptions in Examples A and B below, which will not be repeated here.
[0113] For example, the subscription policy is a speaker subscription policy. The subscription policy includes terminal identifiers "0" to "4". "0" indicates the speaker terminal, and "i" indicates the most recent i-th speaker terminal, where i is 1, 2, 3, or 4. The terminal identifier mapping relationship stored by the server includes "0" and the specified rule 0 corresponding to "0", and "i" and the specified rule i corresponding to "i". Specified rule 0 is used to indicate subscribing to the media stream of the speaker terminal, and specified rule i is used to indicate subscribing to the media stream of the most recent i-th speaker terminal. In this case, the server determines from multiple terminals the terminal with the highest media stream volume (terminal 1), the terminal with the highest volume in the 1st most recent media stream (terminal 2), the terminal with the highest volume in the 2nd most recent media stream (terminal 3), the terminal with the highest volume in the 3rd most recent media stream (terminal 4), and the terminal with the highest volume in the 4th most recent media stream (terminal 5). The server carries identifiers "0" to "4" in the media streams 1 to 5 corresponding to terminals 1 to 5.
[0114] For example, the subscription strategy is a bulk subscription strategy. The subscription strategy includes terminal identifiers "1" to "25". "i" is used to indicate the terminal ranked i-th in terms of membership time, where 1 ≤ i ≤ 25 and i is an integer. The terminal identifier mapping relationship stored by the server includes "i" and the specified rule i corresponding to "i". The specified rule i is used to indicate the subscription to the media stream of the terminal ranked i-th in terms of membership time. In this case, the server determines terminals 1 to 25 ranked 1st to 25th in terms of membership time from multiple terminals. The server carries identifiers "1" to "25" in the media streams 1 to 25 corresponding to terminals 1 to 25.
[0115] The process of the server determining the target terminal has been explained above. The process of the server pushing the media stream of the target terminal to the first terminal is explained below in conjunction with S440.
[0116] S440, the server pushes the media stream of the target terminal to the first terminal.
[0117] The media stream indicates the meeting screen and matches the subscription strategy of the first terminal.
[0118] Before pushing the media stream of the target terminal to the first terminal, the server can subscribe to the media stream of the target terminal and receive the media stream pushed by the target terminal to obtain the media stream of the target terminal. Depending on the subscription strategy, the server obtains the media stream of the target terminal and pushes the media stream of the target terminal to the first terminal in different ways, which will be explained in detail below.
[0119] In scenario A, the subscription strategy is the speaker's subscription strategy.
[0120] In this scenario, the subscription strategy of the first terminal is used to: acquire the media streams from the fourth terminal and the fifth terminal. The media stream from the fourth terminal corresponds to a screen with a first resolution, and the media stream from the fifth terminal corresponds to a screen with a second resolution.
[0121] The server can perform the following (1) to (3) to obtain and push the media stream of the target terminal to the first terminal.
[0122] (1) The server sends the first subscription message to the fourth terminal and the server sends the second subscription message to the fifth terminal.
[0123] The first subscription message indicates subscription to the media stream on the fourth terminal, and the second subscription message indicates subscription to the media stream on the fifth terminal. The media stream on the fourth terminal corresponds to a first resolution, and the media stream on the fifth terminal corresponds to a second resolution. The first resolution is greater than the second resolution; for example, the first resolution is 720 progressive scan (p), and the second resolution is 180p.
[0124] (2) The server receives the media stream from the fourth terminal and the media stream from the fifth terminal.
[0125] (3) The server pushes the media stream of the fourth terminal to the first terminal and pushes the media stream of the fifth terminal to the first terminal.
[0126] That is, the conference screen indicated by the media stream of the target terminal may include: a screen with a first resolution corresponding to the media stream of the fourth terminal, and a screen with a second resolution corresponding to the media stream of the fifth terminal. In this case, it can be considered that the conference screen indicated by the media stream matches the subscription policy of the first terminal.
[0127] For example, the first resolution is 720p, and the second resolution is 180p. N is 4. Multiple terminals include terminal 1 to terminal n. The fourth terminal (i.e., the speaking terminal) is terminal 1, and the fifth terminal includes terminals 2 to 5. In this scenario, the server sends subscription message 1 to terminal 1 and subscription message i to terminal i. Here, i is an integer greater than or equal to 2 and less than or equal to 5. Subscription message 1 indicates subscription to media stream 1 of terminal 1, and subscription message i indicates subscription to media stream i of terminal i. The resolution of the image corresponding to media stream 1 is 720p, and the resolution of the image corresponding to media stream i is 180p. The server also pushes media stream 1 of terminal 1 to the first terminal and media streams from terminals 2 to 5 to the first terminal.
[0128] In scenario B, the subscription strategy is a bulk subscription strategy.
[0129] In this scenario, the subscription strategy of the first terminal is used to: acquire media streams from terminals that meet the second condition, and the media streams from terminals that meet the second condition have a third resolution.
[0130] The server can perform the following (1) to (3) to obtain and push the media stream of the target terminal to the first terminal.
[0131] (1) The server sends a subscription message to the terminal that meets the second condition.
[0132] The first subscription message indicates that a terminal that has subscribed to a media stream that meets the second condition has a third resolution. Depending on the needs of the application, the third resolution may be the same as or different from the first / second resolution; this application does not limit this.
[0133] (2) The server receives the media stream from the terminal that meets the second condition.
[0134] (3) The server pushes the media stream of the terminal that meets the second condition to the first terminal.
[0135] That is, the conference screen indicated by the media stream of the target terminal may include: a screen with a third resolution corresponding to the media stream of the terminal that meets the second condition. In this case, it can be considered that the conference screen indicated by the media stream matches the subscription policy of the first terminal.
[0136] For example, M is 25. Multiple terminals include terminal 1 to terminal n, where n is an integer greater than or equal to 25. Terminals satisfying the second condition are terminal 2 to terminal M+1. In this case, the server sends a subscription message i to terminal i, where i is an integer greater than or equal to 2 and less than or equal to 26. The subscription message i indicates that the media stream i for subscribing to terminal i has a third resolution. The server pushes media streams from terminal 2 to terminal M+1 to terminal 1.
[0137] The above describes the process of the server pushing the media stream of the target terminal to the first terminal. In some possible cases, in order to shorten the time for the first terminal to parse the media stream of the target terminal and reduce the time for the first terminal to determine the terminal corresponding to each target terminal, the terminal identifier can be carried in the media stream, and the terminal identifier can be used to determine the terminal corresponding to the media stream.
[0138] The method provided in this application will be illustrated below using a numerical terminal identifier as an example. Depending on the view mode of the first terminal, the server can distinguish the terminal corresponding to the media stream in different ways. The following explanation uses the examples of the first terminal being in speaker view mode and gallery view mode to illustrate how to carry the terminal identifier in the media stream.
[0139] Example A: The first terminal is in speaker view mode. N is 4, "0" indicates the speaking terminal, and "i" indicates the most recent i-th speaking terminal, where i is 1, 2, 3, or 4. If the server determines that the speaking terminal is terminal 1, the most recent i-th speaking terminal is terminal i+1, terminal 1 corresponds to media stream 1, and terminal i+1 corresponds to media stream i+1, the server can carry the terminal identifier "0" in media stream 1 and the terminal identifier "i" in media stream i+1. For example, if the speaking terminal is terminal 1, and the most recent four speaking terminals are terminals 2 to 5, in this case, the server carries the terminal identifier "0" in media stream 1, the terminal identifier "1" in media stream 2, the terminal identifier "2" in media stream 3, the terminal identifier "3" in media stream 4, and the terminal identifier "4" in media stream 5.
[0140] Example B: The first terminal is in gallery view mode. M is 25, and "i" indicates the terminal ranked i-th in terms of joining time. If the server determines that the 25 terminals with the earliest joining time are terminals 1 to 25, and the media stream i corresponding to terminal i, the server can carry the terminal identifier "i" in media stream i.
[0141] The process of the server pushing the media stream to the target terminal has been described above. Correspondingly, the first terminal can execute S450 to receive the media stream from the target terminal.
[0142] S450, the first terminal receives the media stream pushed by the server to the target terminal based on the subscription policy.
[0143] In some possible scenarios, after receiving the media stream from the target terminal, the first terminal can also parse the media stream from the target terminal and display the corresponding screen. The first terminal can display the screen corresponding to the media stream from the target terminal on a first display interface.
[0144] For example, the first terminal parses the media streams of the fourth terminal and the fifth terminal, and displays the image corresponding to the media stream of the fourth terminal at a first resolution, and displays the image corresponding to the media stream of the fifth terminal at a second resolution. For instance, the fourth terminal is terminal 1, and the fifth terminals are terminals 2 to 5. The first terminal parses media stream 1 of terminal 1 and displays the image 1 corresponding to media stream 1 at the first resolution on display interface 1. The first terminal parses media streams 2 to 5 corresponding to terminals 2 to 5, and displays the images 2 to 5 corresponding to media streams 2 to 5 at the second resolution on display interface 1.
[0145] For example, the first terminal parses the media streams of terminals that meet the second condition and displays the corresponding screens of the media streams of terminals that meet the second condition using a third resolution. This could be multiple terminals, including terminals 1 to n. The server pushes a media stream to terminal n, i.e., terminal n is the first terminal. And the terminals that meet the second condition include terminals 1 to 25. In this case, terminal n parses media streams 1 to 25 corresponding to terminals 1 to 25 and displays the corresponding screens 1 to 25 of terminals 1 to 25 using a third resolution.
[0146] The above describes the process of the first terminal receiving the media stream from the target terminal and displaying the corresponding screen. In some possible scenarios, to improve user experience and ensure that all participants from each participating terminal can be viewed by other terminals, the server can change the target terminal. If the target terminal changes, the server can also determine the changed target terminal based on the subscription policy and push the changed target terminal's media stream to the first terminal.
[0147] For example, if the target terminals are the fourth and fifth terminals, where the fourth terminal is the speaking terminal and the fifth terminal is the terminal that meets the first condition, then the server pushes the media stream from the fourth terminal with a first resolution and the media stream from the fifth terminal with a second resolution to the first terminal. If the speaking terminal changes from the fourth terminal to the sixth terminal, and the first condition is that the terminal's speaking information is the most recent speaking time, the server determines the sixth terminal and the fourth terminal as the changed target terminals according to the subscription policy, and pushes the media streams from the sixth terminal and the fourth terminal to the first terminal. The media stream from the sixth terminal corresponds to a screen with the first resolution, and the media stream from the fourth terminal corresponds to a screen with the second resolution. Accordingly, the first terminal receives the media streams from the sixth terminal and the fourth terminal.
[0148] In some possible scenarios, after receiving the media stream from the modified target terminal, the first terminal can also parse the modified target terminal's media stream and display the corresponding screen. For example, the first terminal may display the screen corresponding to the media stream from the sixth terminal on a first display interface using a first resolution, and display the screen corresponding to the media stream from the fourth terminal using a second resolution.
[0149] For example, if the first terminal is in a specified view mode (such as gallery view mode), and the display duration of the screen corresponding to the most recently determined M terminals is greater than or equal to a first duration threshold, then the server re-determines the M terminals from other terminals (i.e., the changed target terminals) and pushes the media streams of the re-determined M terminals to the first terminal. The first terminal receives the media streams of the re-determined M terminals and displays the screen corresponding to the re-determined M terminals based on the received media streams.
[0150] For example, M is 25. The first duration is t1. Multiple terminals include terminal 1 and terminal n, where n is an integer greater than or equal to 25. The joining time of terminal 1 and terminal n is from t+1 to t+n. The server pushes the media stream of the target terminal to terminal n, i.e., terminal n is the first terminal. In this case, the server sorts the joining times of terminals 1 to n from t+1 to t+n in chronological order. The server determines terminals 1 to M as target terminals and pushes media streams 1 to M of terminals 1 to M to terminal n. Terminal n receives media streams 1 to M and displays screens 1 to M corresponding to terminals 1 to M based on media streams 1 to M. If the display time of screens 1 to M by terminal n is greater than or equal to t1, the server determines terminals M+1 to 2M as target terminals using the above method and pushes media streams M+1 to 2M corresponding to terminals M+1 to 2M to terminal n. Terminal n receives media streams M+1 to 2M and displays the corresponding screens M+1 to 2M from terminal M+1 to terminal 2M. If the display time of screens M+1 to 2M on terminal n is greater than or equal to t1, terminal n can similarly display the corresponding screens from terminal 2M+1 to terminal n in the manner described above, which will not be elaborated further here.
[0151] In some possible scenarios, after the server pushes media streams from all terminals (including multiple terminals) to the first terminal using the above method, the server can also repeatedly execute the above process. For example, M is 25, and the multiple terminals include terminals 1 to 100. The server pushes the media stream of the target terminal to terminal 100, i.e., terminal 100 is the first terminal. In this case, if the display duration of the screens 76 to 100 corresponding to terminals 76 to 100 of terminal 100 is greater than or equal to t1, the server can re-determine terminals 1 to 25 as the target terminals and push media streams 1 to 25 corresponding to terminals 1 to 25 to terminal 100. Terminal 100 receives media streams 1 to 25 and displays screens 1 to 25 corresponding to terminals 1 to 25.
[0152] The above describes the process of the first terminal changing its displayed screen. In some possible situations, limitations in network transmission bandwidth and the resources of the first terminal may cause flickering blacks or brief freezes during the display of the media stream from the target terminal. Therefore, the server can push the target terminal's media stream to the first terminal according to a media stream push strategy, ensuring the stability of the screen displayed on the first terminal and thus improving the user-friendliness of the interaction.
[0153] Depending on the needs of the actual application, various media streaming push strategies can be set. Below are some examples of possible media streaming push strategies.
[0154] Example a: Media streaming push strategies include an immediate push strategy.
[0155] The immediate push policy instructs the server to push the media stream of the target terminal upon receiving it from each terminal in the target terminal. In this case, the server can also use different methods to push the media stream of the target terminal. This allows the first terminal to utilize its own resources to parse the media stream of the target terminal after receiving it, avoiding blackouts caused by not obtaining all the information needed to parse the media stream of the target terminal, thus ensuring the stability of the image displayed on the first terminal.
[0156] For example, if the target terminal includes two or more terminals, the server can push the media stream of any terminal after receiving the media stream from any terminal. For instance, if the target terminal includes terminals 1 to 5, in this case, the server can push the media stream of terminal 1 even if it has not received the media streams from terminals 2 to 5.
[0157] For example, if the target terminal includes two or more terminals, the server can push the media stream of the target terminal after receiving the media streams of all terminals included in the target terminal. For instance, if the target terminal includes terminals 1 to 5, the server can push media streams 1 to 5 of terminals 1 to 5 after receiving media streams 1 to 5 corresponding to terminals 1 to 5.
[0158] For example, if the target terminal includes two or more terminals, the server can push the media streams of a first number of terminals after receiving the media streams from those first number of terminals. For instance, if the first number is three, and the target terminal includes terminals 1 to 5, the server can push media streams 1 to 3 from terminals 1 to 3 after receiving media streams 1 to 3 corresponding to terminals 1 to 3. This allows the first number to be set based on the resources provided by the first terminal, ensuring that the first terminal has sufficient resources to parse the received media streams from the target terminal, reducing the performance requirements on the first terminal, and thus ensuring the stability of the displayed image.
[0159] Example b: Media streaming strategies include periodic push strategies.
[0160] The periodic push strategy is used to instruct the server to push media streams to the target terminal according to a reference period. The reference period can be preset or set according to the needs of the actual application; this application does not limit this. For example, if the reference period is T, and the target terminals include terminals 1 to 5, then the server periodically pushes the media streams to the target terminals according to the reference period T. This periodic push of media streams from the server avoids frequently sending the target terminal's media stream to the first terminal in a short period, thereby preventing the first terminal from refreshing the display screen a large number of times based on the received media stream, ensuring the stability of the screen display, and improving the user-friendliness of the interaction.
[0161] Example c: Media streaming push strategies include fixed-duration push strategies.
[0162] The fixed-duration push strategy indicates that the media stream to the target terminal is pushed when the second duration is greater than or equal to a second duration threshold. The second duration indicates the interval between the current time and the historical time. The historical time is the time when the media stream to the target terminal was last pushed. The second duration threshold can be preset or set according to the needs of actual application, and this application does not limit it. For example, if the second duration threshold is t0, the target terminals include terminals 1 to 5, and the time when the server last pushed the media stream to the target terminals is t. In this case, the server pushes the media stream to the target terminals after the second duration threshold t0 (i.e., at time t+t0). In this way, the server pushes the media stream to the target terminals at fixed intervals, avoiding frequent sending of the target terminals' media streams to the first terminal in a short period of time, thereby avoiding the first terminal from refreshing the display screen a large number of times based on the received media stream in a short period of time, ensuring the stability of the screen display, and improving the user-friendliness of the interaction.
[0163] The process of the server pushing media streams according to the media stream push strategy has been described above. In some possible cases, the conference management system can use multiple components to implement the functions described in the above method embodiments. For example, the conference management system can use a conference management service component and a selective forwarding component to implement the functions of the server in the above method embodiments.
[0164] Figure 5 An example architecture diagram of a conference management system provided in this application is shown below. Figure 5 As shown in (a), the conference management service component receives conference reservations and creation requests from terminals, and manages / controls terminal information and conferences. For details on the functions of the conference management service component, please refer to the general technical description; they will not be repeated here. The selective forwarding component is the core media exchange component for the conference, supporting the forwarding of media streams from various terminals. For example, the selective forwarding component receives management / control commands issued by the conference management service component, as well as subscription policies from the terminals, and pushes the media streams of the target terminals to the terminals based on the subscription policies.
[0165] In some possible scenarios, both the meeting management service component and the selective forwarding component can employ multiple modules to implement the aforementioned functions. For example... Figure 5 As shown in (b), the conference management service component employs a conference management module, a conference scheduling control module, a terminal access module, and a service signaling module to implement the functions of the aforementioned conference management service component. Similarly, the selective forwarding component employs a multi-stream routing control module, a signaling control module, a maximum speaker identification module, and a media transceiver module to implement the functions of the aforementioned selective forwarding component. Specifically, the conference management module manages conference booking, creation, and terminal access. The terminal access management module manages information for all registered users and records terminal access information. The conference scheduling control module manages the media resources used in the conference, allocates and schedules media resources that support terminal access, supports inviting and calling non-participating terminals during the conference, and manages the participation capabilities of participating terminals. Participation capabilities can refer to whether participating terminals support speaking, recording, screen recording, etc. The service signaling module schedules, according to conference needs, terminal access to the conference on network elements (such as media gateways), media processing instructions, etc. The media transceiver module receives and forwards media streams according to routing rules. The maximum speaker identification module is used to determine the speaking terminal based on the volume values of multiple media streams from multiple terminals. The multi-stream routing control module updates routes based on subscription policies and target terminals, and then uses the updated routes to push media streams to the target terminals. The signaling control module receives management / control commands from the service signaling module, as well as the subscription policies of the received terminals, and pushes the media streams of the target terminals to the terminals based on the subscription policies.
[0166] The above text combined Figures 1 to 5The meeting management method provided in this application has been described. The following section compares the meeting management method provided in this application with that provided by conventional technologies, using the application of the meeting management method in a meeting management system as an example, categorized by scenario. Figure 6 and Figure 7 As shown, the conference management system includes a server and multiple terminals. The multiple terminals include terminal 1 to terminal n. Terminal n receives the media stream pushed by the server to the target terminal; that is, terminal n is the first terminal.
[0167] Scenario 1: The first terminal is in speaker view mode.
[0168] In Scenario 1, taking N as 2, the first resolution as 720p, the second resolution as 180p, the most recent target terminals as terminals 1 to 3, and terminal 1 in the most recent target terminals as the speaker terminal, terminal 2 in the most recent target terminals as the previous speaker terminal, and terminal 3 in the most recent target terminals as the previous two speaker terminals as an example, the meeting management method provided in this application and the meeting management method provided by conventional technology are compared and explained.
[0169] Figure 6 The diagram below provides a comparative example of the first meeting management method. Figure 6 As shown in (a), when the speaker's terminal changes from terminal 1 to terminal 4, the following (1) to (8) methods can typically be used to implement the meeting management method.
[0170] (1) If terminal n detects that the speaking terminal is terminal 1, terminal n sends subscription message 1 to the server.
[0171] Subscription message 1 indicates that the user is subscribing to media streams 11 to 13 from terminal 1 to terminal 3. Media streams 11 to 13 correspond to screens 11 to 13. Screen 11 has a resolution of 720p, while screens 12 and 13 both have a resolution of 180p.
[0172] (2) The server receives subscription message 1 and subscribes to media streams 11 to 13 from terminal 1 to terminal 3.
[0173] (3) Terminal 1 to Terminal 3 push media streams 11 to 13 to the server.
[0174] (4) The server pushes media stream 11 to media stream 13 to terminal n.
[0175] Correspondingly, terminal n receives media streams 11 to 13 and displays screens 11 to 13.
[0176] Among them, the resolution of frame 11 is 720p, while the resolutions of frames 12 and 13 are both 180p.
[0177] (5) If terminal 1 detects that the speaking terminal has changed from terminal 1 to terminal 4, it sends subscription message 2 to the server.
[0178] Subscription message 2 is used to indicate: media stream 24 of subscription terminal 4, media stream 21 of subscription terminal 1, and media stream 22 of subscription terminal 2. The resolution of the screen 24 corresponding to media stream 24 is 720p, and the resolution of the screen 21 corresponding to media stream 21 and the screen 22 corresponding to media stream 22 are both 180p.
[0179] (6) The server receives subscription message 2 and subscribes to media stream 24 of terminal 4, media stream 21 of terminal 2, and media stream 22 of terminal 2.
[0180] (7) Terminal 4 pushes media stream 24 to the server, terminal 2 pushes media stream 21 to the server, and terminal 2 pushes media stream 22 to the server.
[0181] (8) The server pushes media streams 24, 21 and 22 to terminal n.
[0182] In some possible scenarios, terminal n receives media streams 24, 21, and 22, and displays screens 24, 21, and 22.
[0183] Among them, the resolution of frame 24 is 720p, while the resolutions of frames 21 and 22 are both 180p.
[0184] like Figure 6 As shown in (b), when the speaker's terminal changes from terminal 2 to terminal 4, this application can implement the meeting management method using the following (1) to (9).
[0185] (1) Terminal n sends the subscription policy to the server.
[0186] The subscription strategy includes: subscribing to media stream 0 of the terminal with terminal identifier "0", media stream 1 of the terminal with terminal identifier "1", and media stream 2 of the terminal with terminal identifier "2". Here, "0" indicates the speaking terminal, and "i" indicates the most recent i-th speaking terminal, where i is 1 or 2.
[0187] (2) The server receives the subscription policy and determines the terminal 1, terminal 2 and terminal 3 corresponding to “0”, “1” and “2” as the target terminals based on the subscription policy.
[0188] Among them, terminal 1 is the speaking terminal, terminal 2 is the most recent speaking terminal, and terminal 3 is the most recent speaking terminal.
[0189] (3) The server subscribes to media streams 11, 12, and 13 of terminal 1, terminal 2, and terminal 3.
[0190] Among them, the resolution of the screen 11 corresponding to media stream 11 is 720p, and the resolution of the screen 12 corresponding to media stream 12 and the screen 13 corresponding to media stream 13 are both 180p.
[0191] (4) Terminal 1 to Terminal 3 push media streams 11 to 13 to the server.
[0192] The server pushes media streams 11, 12, and 13 to terminal n.
[0193] (5) The server pushes media stream 11 to media stream 13 to terminal n.
[0194] Correspondingly, terminal n receives media streams 11, 12, and 13, and displays screens 11, 12, and 13.
[0195] (6) If the server detects that the speaker's terminal has changed from terminal 1 to terminal 4 based on the subscription policy, then the server determines the terminal 4, terminal 1 and terminal 2 corresponding to "0", "1" and "2" as the target terminals based on the subscription policy.
[0196] (7) The server subscribes to media streams 24, 21 and 22 of terminals 4, 1 and 2.
[0197] Among them, the resolution of the frame 24 corresponding to media stream 24 is 720p, and the resolution of the frame 21 corresponding to media stream 21 and the frame 22 corresponding to media stream 22 are both 180p.
[0198] (8) After acquiring media streams 24, 21 and 22, the server pushes media streams 24, 21 and 22 to terminal n.
[0199] (9) Terminal n receives media stream 24, media stream 21 and media stream 22 at time 1.
[0200] In some possible scenarios, terminal n displays screens 24, 21, and 22 on display interface 1 based on the aforementioned media stream.
[0201] Among them, the resolution of frame 24 is 720p, while the resolutions of frames 21 and 22 are both 180p.
[0202] Figure 6 The (1) to (9) described in (b) can have Figure 6The media stream push process shown in (c) is specifically as follows: (1) to (5) can have push process 1, that is, the server receives media streams 11 to 13 from terminals 1 to 3 and pushes media streams 11 to 13 to terminal n. And terminal n displays screens 11 to 13. (6) to (9) can have push process 2 and push process 3. Push process 2 is for the server to add a subscription to media stream 24 of terminal 4, that is, the server will subscribe to media stream 24. Push process 3 is for the server to subscribe to media stream 24 of terminal 4, media stream 21 of terminal 1 and media stream 22 of terminal 2 and not subscribe to media stream 23 of terminal 3.
[0203] The preceding text used the example of the first terminal being in speaker view mode to compare and illustrate the meeting management methods of conventional technologies and the meeting management methods provided in this application. The following text, using scenario 2 with the first terminal in a specified view mode (such as gallery view mode) as an example, further compares and illustrates the meeting management methods of conventional technologies and the meeting management methods provided in this application.
[0204] Scenario 2: The first terminal is in gallery view mode.
[0205] In Scenario 2, taking M as 4, the third resolution as resolution 3, the first duration threshold as t, and the meeting entry time of terminal 1 to terminal n as t+1 to t+n as an example, the meeting management method provided in this application and the meeting management method provided by conventional technology are compared and explained.
[0206] Figure 7 A comparative example diagram of the second meeting management method, such as... Figure 7 As shown in (a), if the display duration of terminal n for screens 1 to 4 corresponding to terminals 1 to 5 is greater than or equal to t, the following (1) to (8) methods can be used to implement the meeting management method.
[0207] (1) Terminal n sends subscription message 1 to the server.
[0208] In this context, subscription message 1 indicates that the user is subscribing to media streams 1 through 4 from terminal 1 to terminal 4. Media streams 1 through 4 correspond to screens 1 through 4. The resolution of screens 1 through 4 is 3.
[0209] (2) The server receives subscription message 1 and subscribes to media streams 1 to 4 from terminal 1 to terminal 4.
[0210] (3) Terminal 1 to Terminal 4 push media stream 1 to media stream 4 to the server.
[0211] (4) The server pushes media stream 1 to media stream 4 to terminal 1.
[0212] Correspondingly, terminal n receives media streams 1 to 4 and displays screens 1 to 4.
[0213] (5) If terminal n detects that the display duration of screens 1 to 4 is greater than or equal to t, then terminal n sends a subscription message 2 to the server.
[0214] In this context, subscription message 2 indicates that the media streams 5 to 8 on terminals 5 to 8 are subscribed to. Media streams 5 to 8 correspond to screens 5 to 8. The resolution of screens 5 to 8 is resolution 3.
[0215] (6) The server receives subscription message 2 and subscribes to media streams 5 to 8 from terminal 5 to terminal 8.
[0216] (7) The server pushes media stream 5 to media stream 8 to terminal n.
[0217] (8) Terminal n receives media streams 5 to 8 and displays screens 5 to 8.
[0218] like Figure 7 As shown in (b), if the display duration of screen 1 to screen 4 corresponding to terminal 1 to terminal 4 is greater than or equal to t, the present application may adopt the following (1) to (9) to implement the meeting management method.
[0219] (1) Terminal 1 sends the subscription policy to the server.
[0220] The subscription strategy includes subscribing to the media streams of terminals identified as "1", "2", "3", and "4". Here, "i" indicates the i-th terminal among the multiple terminals joining the subscription.
[0221] (2) The server receives the subscription policy and determines the terminal 1 to terminal 4 corresponding to “1” to “4” as the target terminal based on the subscription policy.
[0222] (3) The server subscribes to media streams 1 to 4 from terminal 1 to terminal 4.
[0223] (4) After receiving media streams 1 to 4, the server pushes media streams 1 to 4 to terminal n.
[0224] (5) Terminal n receives media streams 1 to 4 and displays screens 1 to 4.
[0225] (6) If the display duration of terminal n for screens 1 to 4 is greater than or equal to t, the server determines the terminals 5 to 8 corresponding to “1” to “4” as target terminals based on the subscription strategy.
[0226] (7) The server subscribes to the media streams from terminal 5 to terminal 8.
[0227] (8) After receiving media streams 5 to 8, the server pushes media streams 5 to 8 to terminal n.
[0228] (9) Terminal n receives media streams 5 to 8 and displays screens 5 to 8.
[0229] akin, Figure 7 The (1) to (9) described in (b) can have Figure 7 The media stream push process shown in (c) is specifically as follows: (1) to (5) can have push process 1, that is, the server receives media streams 1 to 4 from terminals 1 to 4 and pushes media streams 1 to 4 to terminal n. And terminal n displays screens 1 to 4. (6) to (9) can have push process 2 and push process 3. Push process 2 is for the server to add a subscription to media streams 5 to 8 from terminals 5 to 8, that is, the server will subscribe to media streams 5 to 8. Push process 3 is for the server to subscribe to media streams 5 to 8 from terminals 5 to 8 and not subscribe to media streams 1 to 4 from terminals 1 to 4.
[0230] In this application, the first terminal sends a subscription policy to the server, which receives the policy and determines the target terminal based on it. When the target terminal changes frequently, the server automatically determines the target terminal based on the subscription policy. Thus, the server can complete the target terminal determination process without being triggered by a subscription message sent by the terminal. Furthermore, when the target terminal changes frequently, the terminal does not need to send a subscription message to the server, saving server processing resources and reducing the transmission pressure between the server and the terminal.
[0231] It is understood that, in order to achieve the functions in the above embodiments, the reference terminal and server include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0232] The above text combines Figures 1 to 7 This document describes in detail the meeting management method provided according to this embodiment. The following will combine [the description with further details]. Figure 8 This embodiment describes the conference management device provided.
[0233] Figure 8 A schematic diagram of a meeting management device provided in this application, such as Figure 8As shown, the conference management device 800 includes a transceiver module 810 and / or a processing module 820. The conference management device 800 can illustrate the structure of the first terminal and the server in the above embodiments.
[0234] when Figure 8 The structural diagram shown illustrates the structure of the first terminal involved in the above embodiments. The conference management device 800 includes a transceiver module 810, and the conference management device 800 can be used to implement the functions of the first terminal in the above method embodiments, thus achieving the beneficial effects of the above method embodiments. In this embodiment, the conference management device 800 can be as follows: Figure 1 Terminal 110 is shown.
[0235] In this scenario, the transceiver module 810 is configured to: send a subscription policy to the server. The subscription policy indicates the rules that the terminals subscribed to by the first terminal must meet. The transceiver module 810 is also configured to: receive media streams from the target terminal pushed by the server based on the subscription policy. The conference screen indicated by the media stream from the target terminal matches the subscription policy of the first terminal.
[0236] In some possible scenarios, the transceiver module 810 is also used to: receive the modified media stream of the target terminal pushed by the server based on the subscription policy. The conference screen indicated by the modified media stream of the target terminal matches the subscription policy. In some possible scenarios, the subscription policy includes: a speaker subscription policy and / or a bulk subscription policy. The speaker subscription policy indicates that: when the first terminal is in speaker view mode, the first terminal subscribes to the first media stream of the speaker terminal and subscribes to the second media stream of the second terminal. The speaker terminal is the terminal whose media stream volume meets the volume condition among multiple terminals. The screen corresponding to the first media stream has a first resolution. The second terminal is the terminal among multiple terminals that meets the first condition. The screen corresponding to the second media stream has a second resolution. The first resolution is greater than the second resolution. The bulk subscription policy indicates that: when the first terminal is in a specified view mode, the first terminal subscribes to the third media stream of the third terminal among multiple terminals. The third terminal is the terminal among multiple terminals that meets the second condition. The screen corresponding to the third media stream has a third resolution.
[0237] In some possible scenarios, the transceiver module 810 is specifically used to: receive media streams from each terminal in the target terminals pushed by the server based on a subscription policy at a third time.
[0238] In some possible scenarios, the first terminal includes multiple communication ports. When the first terminal is in speaker view mode, the first communication port among the multiple communication ports receives the media stream from the speaking terminal, and the second communication port among the multiple communication ports receives a second media stream. When the first terminal is in designated view mode, the third communication port among the multiple communication ports receives a third media stream.
[0239] In some possible scenarios, the target terminal includes a fourth terminal and a fifth terminal. The fourth terminal is the terminal among multiple terminals whose media stream volume meets a volume condition. The fifth terminal is the terminal among multiple terminals that meets a first condition. The transceiver module 810 is specifically used to: receive the media stream from the fourth terminal pushed by the server based on a subscription policy, wherein the screen corresponding to the media stream from the fourth terminal has a first resolution. The transceiver module 810 is also specifically used to: receive the media stream from the fifth terminal pushed by the server based on a subscription policy, wherein the screen corresponding to the media stream from the fifth terminal has a second resolution.
[0240] when Figure 8 When illustrating the structure of the server involved in the above method embodiments, the conference management device 800 includes a transceiver module 810 and a processing module 820. The conference management device 800 can be used to implement the functions of the server in the above method embodiments, and therefore can also achieve the beneficial effects of the above method embodiments. In this embodiment, the conference management device 800 can be as follows: Figure 1 The server shown is 120.
[0241] In this scenario, the transceiver module 810 is configured to: receive the subscription policy of a first terminal among multiple terminals, the subscription policy indicating the rules that the terminals subscribed to by the first terminal must meet. The processing module 820 is configured to: determine the target terminal from the multiple terminals according to the subscription policy. The transceiver module 810 is also configured to: push the media stream of the target terminal to the first terminal. The conference screen indicated by the media stream of the target terminal matches the subscription policy of the first terminal.
[0242] In some possible scenarios, the processing module 820 is further configured to: change the target terminal according to the subscription policy. The transceiver module 810 is further configured to: push the media stream of the changed target terminal to the first terminal. The conference screen indicated by the media stream of the changed target terminal is matched with the subscription policy.
[0243] In some possible scenarios, subscription strategies include: a speaker subscription strategy and / or a bulk subscription strategy. A speaker subscription strategy instructs that, when the first terminal is in speaker view mode, the first terminal subscribes to the first media stream of the speaker terminal and subscribes to the second media stream of the second terminal. The speaker terminal is the terminal among multiple terminals whose media stream volume meets a volume condition. The screen corresponding to the first media stream has a first resolution. The second terminal is the terminal among multiple terminals that meets the first condition. The screen corresponding to the second media stream has a second resolution. The first resolution is greater than the second resolution. A bulk subscription strategy instructs that, when the first terminal is in a specified view mode, the first terminal subscribes to the third media stream of a third terminal among multiple terminals. The third terminal is the terminal among multiple terminals that meets the second condition.
[0244] The third media stream corresponds to a third resolution.
[0245] In some possible scenarios, processing module 820 is specifically configured to: acquire multiple media streams from multiple terminals. One terminal corresponds to one media stream. Processing module 820 is also specifically configured to: determine the fourth terminal corresponding to the fourth media stream among the multiple media streams according to the subscription policy. The fourth media stream is the media stream among the multiple media streams whose volume meets the volume condition. Processing module 820 is also specifically configured to: determine the fifth terminal among the multiple terminals that meets the first condition according to the subscription policy. And processing module 820 is also specifically configured to: use the fourth terminal and the fifth terminal as target terminals.
[0246] In some possible scenarios, the transceiver module 810 is specifically used to: push the media stream from the fourth terminal to the first terminal. The image corresponding to the media stream from the fourth terminal has a first resolution. The transceiver module 810 is also specifically used to: push the media stream from the fifth terminal to the first terminal. The image corresponding to the media stream from the fifth terminal has a second resolution.
[0247] In some possible scenarios, processing module 820 is specifically configured to: determine, based on the subscription policy, which terminals among the multiple terminals meet the second condition. Furthermore, processing module 820 is also specifically configured to: designate the terminal among the multiple terminals that meets the second condition as the target terminal.
[0248] In some possible scenarios, the time when the media stream of a terminal satisfying the second condition among multiple terminals is pushed to the first terminal is called the first time. The interval between the first time and the current time is called the first duration. If the first duration is greater than or equal to the first duration threshold, the processing module 820 is further configured to: determine the terminals satisfying the second condition among other terminals according to the subscription policy. The processing module 820 is also configured to: designate the terminals satisfying the second condition among other terminals as the target terminals.
[0249] In some possible scenarios, the number of target terminals is greater than or equal to two. The transceiver module 810 is further configured to: push the media stream of the target terminal to the first terminal according to a media stream push strategy. The media stream push strategy includes one or more of the following: an immediate push strategy, a periodic push strategy, and a fixed-duration push strategy. The immediate push strategy indicates that the media stream of the target terminal is pushed upon receiving media streams from each of the target terminals. The periodic push strategy indicates that the media stream of the target terminal is pushed according to a reference period. The fixed-duration push strategy indicates that the media stream of the target terminal is pushed if a second duration is greater than or equal to a second duration threshold. The second duration indicates the interval between the current time and a historical time. The historical time is the time of the last push of the media stream of the target terminal.
[0250] When the conference management device 800 is used to implement the structure of the first terminal and server, please refer to the above description of the conference management method for more details about the transceiver module 810 and the processing module 820. It will not be repeated here.
[0251] It is worth noting that if the aforementioned meeting management devices 800 are implemented through software modules, for example, the software modules can be provided to users through a service subscription model, and users can choose different subscription levels according to their needs; or, for example, the software modules can also provide enterprise-level customized services with professional domain customization, interface personalization and extended functions according to the needs of users or enterprises.
[0252] In addition, the meeting management device 800 provided in this application can also be provided to users as a value-added service, and this application does not limit this.
[0253] The conference management device 800 in this application embodiment can also be implemented in hardware, such as using an electronic device with display function to implement the first terminal, and using an electronic device with data forwarding and processing function to implement the server. For more descriptions of the first terminal and the server, please refer to [link to relevant documentation]. Figure 3 The relevant descriptions will not be repeated here.
[0254] The method steps in this embodiment can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a computing device. Of course, the processor and storage medium can also exist as discrete components in a network device or terminal device.
[0255] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. In some embodiments, the computing device may also be a terminal device such as a laptop or smartphone. This computing device cluster can be used to implement the functions of the meeting management system, the first terminal, and the server in the above method embodiments.
[0256] like Figure 9 As shown, Figure 9 This application provides a schematic diagram of a computing device cluster, which includes at least one computing device 300. The memory 313 of one or more computing devices 300 in the computing device cluster may store the same instructions for executing conference management methods.
[0257] In some possible implementations, the memory 313 of one or more computing devices 300 in the computing device cluster may also store partial instructions for executing the conference management method. In other words, a combination of one or more computing devices 300 can jointly execute instructions for executing the conference management method.
[0258] In some possible implementations, the memory 313 in different computing devices 300 within the computing device cluster can store different instructions, each used to execute a portion of the conference management functions. That is, the instructions stored in the memory 313 of different computing devices 300 can implement the functions of the first terminal and the server.
[0259] In some possible implementations, the memories 313 in different computing devices 300 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the first terminal. That is, the instructions stored in the memories 313 of different computing devices 300 can implement a portion of the functions of the transceiver module 810.
[0260] In some possible implementations, the memory 313 in different computing devices 300 within the computing device cluster can store different instructions, each used to execute a portion of the server's functions. That is, the instructions stored in the memory 313 of different computing devices 300 can implement the functions of one or more modules in the transceiver module 810 and the processing module 820.
[0261] One or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN). Figure 10 One possible implementation is shown. For example... Figure 10 As shown, Figure 10 This application provides a schematic diagram of a connection between computing devices, where two computing devices 300A and 300B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. Depending on the function implemented by the computing device cluster, the instructions stored in memory 313 can differ. For example, if the computing device cluster is used to implement the function of terminal 110, the instructions stored in memory 313 of computing device 300A can implement some of the functions implemented by transceiver module 810, such as sending subscription policies to the server. Similarly, the instructions stored in memory 313 of computing device 300B can implement some of the functions implemented by transceiver module 810, such as receiving media streams pushed by the server.
[0262] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions capable of running on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform a conference management method.
[0263] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a conference management method.
[0264] This application also provides a chip. The chip includes an interface circuit and a control circuit. For example, the interface circuit is used to receive subscription policies, and the control circuit is used to implement the functions of a server in a meeting management method. Alternatively, the interface circuit is used to send subscription policies, and the control circuit is used to implement the functions of a first terminal in a meeting management method.
[0265] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD).
[0266] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A meeting management method, characterized in that, The method is applied to a server that communicates with multiple terminals, and the method includes: The system receives a subscription policy from a first terminal among the plurality of terminals, the subscription policy indicating the rules that the terminals subscribed to by the first terminal must meet. The target terminal is determined from the plurality of terminals according to the subscription strategy; The media stream of the target terminal is pushed to the first terminal; the conference screen indicated by the media stream of the target terminal matches the subscription policy.
2. The method according to claim 1, characterized in that, The method further includes: The target terminal is changed according to the subscription policy; The modified target terminal's media stream is pushed to the first terminal, and the conference screen indicated by the modified target terminal's media stream matches the subscription policy.
3. The method according to claim 1 or 2, characterized in that, The subscription strategies include: speaker subscription strategy and / or bulk subscription strategy. The speaker subscription strategy is used to indicate that when the first terminal is in speaker view mode, the first terminal subscribes to the first media stream of the speaker terminal and subscribes to the second media stream of the second terminal. Wherein, the speaking terminal is the terminal among the plurality of terminals whose media stream volume meets the volume condition, the screen corresponding to the first media stream has a first resolution, the second terminal is the terminal among the plurality of terminals that meets the first condition, the screen corresponding to the second media stream has a second resolution, and the first resolution is greater than the second resolution; The bulk subscription strategy is used to indicate that, when the first terminal is in a specified view mode, the first terminal subscribes to a third media stream of a third terminal among the plurality of terminals. The third terminal is one of the plurality of terminals that meets the second condition, and the image corresponding to the third media stream has a third resolution.
4. The method according to claim 3, characterized in that, When the first terminal is in speaker view mode The step of determining the target terminal from the plurality of terminals according to the subscription policy includes: Acquire multiple media streams from the multiple terminals; one terminal corresponds to one media stream; The fourth terminal corresponding to the fourth media stream among the plurality of media streams is determined according to the subscription strategy; the fourth media stream is the media stream among the plurality of media streams whose volume meets the volume condition; The fifth terminal among the plurality of terminals that meets the first condition is determined according to the subscription strategy; The fourth terminal and the fifth terminal are designated as the target terminals.
5. The method according to claim 4, characterized in that, The step of pushing the media stream of the target terminal to the first terminal includes: The media stream of the fourth terminal is pushed to the first terminal; the screen corresponding to the media stream of the fourth terminal has the first resolution; The media stream of the fifth terminal is pushed to the first terminal; the screen corresponding to the media stream of the fifth terminal has the second resolution.
6. The method according to claim 3, characterized in that, When the first terminal is in the specified view mode The step of determining the target terminal from the plurality of terminals according to the subscription policy includes: The terminals that meet the second condition among the plurality of terminals are determined according to the subscription policy; The terminal that meets the second condition among the plurality of terminals is selected as the target terminal.
7. The method according to claim 6, characterized in that, The time at which the media stream from the plurality of terminals that meets the second condition is pushed to the first terminal is called the first time, and the interval between the first time and the current time is called the first duration. If the first duration is greater than or equal to a first duration threshold, the method further includes: Based on the subscription strategy, determine the terminals among the other terminals that meet the second condition; The terminal that meets the second condition among the other terminals is selected as the target terminal.
8. The method according to any one of claims 1-7, characterized in that, The number of target terminals is greater than or equal to two. The step of pushing the media stream from the target terminal to the first terminal includes: According to the media stream push strategy, the media stream of the target terminal is pushed to the first terminal; The media stream push strategy includes: The immediate push policy is used to indicate that, upon receiving a media stream from each of the target terminals, the media stream of the target terminal is pushed. And / or, a periodic push strategy is used to indicate: push media streams to the target terminal according to a reference period; And / or, a fixed duration push strategy indicates that: if the second duration is greater than or equal to a second duration threshold, the media stream of the target terminal is pushed, whereby the second duration indicates: the interval between the current time and the historical time, where the historical time is the time when the media stream of the target terminal was last pushed.
9. A meeting management method, characterized in that, The method is executed by a first terminal, which is one of a plurality of terminals communicating with a server, and the method includes: Send a subscription policy to the server, the subscription policy being used to indicate: the rules that the terminals subscribed to by the first terminal must meet; The system receives media streams from the target terminal pushed by the server based on the subscription policy; the conference screen indicated by the media streams from the target terminal matches the subscription policy.
10. The method according to claim 9, characterized in that, The method further includes: The system receives the modified media stream from the target terminal pushed by the server based on the subscription policy; the conference screen indicated by the modified media stream from the target terminal matches the subscription policy.
11. A meeting management method, characterized in that, The method is applied to a conference management system, which includes multiple terminals and a server. The multiple terminals communicate with the server. The multiple terminals include a first terminal. The method includes: The first terminal sends a subscription policy to the server; the subscription policy is used to indicate the rules that the terminals subscribed to by the first terminal must meet. The server receives the subscription policy sent by the first terminal; The server determines the target terminal from the plurality of terminals according to the subscription policy; The server sends the media stream of the target terminal to the first terminal; the conference screen indicated by the media stream of the target terminal matches the subscription policy; The first terminal receives the media stream from the target terminal sent by the server.
12. A conference management device, characterized in that, The device includes: The transceiver module is configured to: receive the subscription policy of a first terminal among a plurality of terminals, wherein the subscription policy is used to indicate the rules that the terminals subscribed to by the first terminal must meet; The processing module is configured to: determine the target terminal from the plurality of terminals according to the subscription policy; The transceiver module is also configured to: push the media stream of the target terminal to the first terminal; the picture of the media stream is matched with the subscription strategy of the first terminal.
13. A conference management device, characterized in that, The device includes: The transceiver module is used to: send a subscription policy to the server, wherein the subscription policy is used to indicate the rules that the terminals subscribed to by the first terminal must meet; The transceiver module is further configured to: receive media streams from the target terminal pushed by the server based on the subscription policy; and ensure that the conference screen indicated by the media stream from the target terminal matches the subscription policy.
14. A processor, characterized in that, The processor includes an interface circuit and a control circuit; the interface circuit is used to receive a subscription policy sent by a first terminal and cooperate with the control circuit to execute the method of any one of claims 1-8, or the interface circuit is used to send a subscription policy to a server and cooperate with the control circuit to execute the method of claim 9 or 10.
15. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device, and each computing device includes a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the computing device cluster to perform the method as described in any one of claims 1-8, or to cause the computing device cluster to perform the method as described in claim 9 or 10, or to cause the computing device cluster to perform the method as described in claim 11.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer instructions; when the computer instructions are executed in a computing device, the computing device performs the method of any one of claims 1-8, or when the computer instructions are executed in a computing device, the computing device performs the method of claim 9 or 10.
17. A computer program product, characterized in that, When the computer program product is run in a computing device, the computing device performs the method of any one of claims 1-8, or the computing device performs the method of claim 9 or 10.