A video communication method and apparatus

By using different encoding parameters to generate multiple video data streams in video communication and sending high-quality first video data to a second terminal when needed, the problem of users having difficulty focusing on the speaking user is solved, thus improving the image quality and user experience of the speaking user.

CN113497911BActive Publication Date: 2025-12-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010190832.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-18
Publication Date
2025-12-12
Estimated Expiration
2040-03-18

AI Technical Summary

Technical Problem

Existing video communication methods are insufficient to meet users' needs to focus on the speaker, and the speaker's video quality is low, resulting in a poor user experience.

Method used

After acquiring raw video data at the terminal, multiple video data streams are generated using different encoding parameters. The first video data stream has a higher imaging quality than the second video data stream. When the server obtains the target delivery conditions for the first terminal, it sends the first video data stream to the second terminal to display it in a larger display window, thus meeting the needs of users who are paying attention to the speech.

Benefits of technology

It improved the image quality for users who were speaking, thus enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113497911B_ABST
    Figure CN113497911B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a video communication method, when video communication is carried out, a terminal corresponding to a user, for example, a first terminal, collects original video data, encodes the original video data by using different encoding parameters, generates multiple paths of video data and sends the multiple paths of video data to a server, so that when a large display window needs to be switched, different video data is switched. The multiple paths of video data include first path video data and second path video data, the imaging quality of the first path video data is higher than that of the second path video data, if the server obtains a target delivery condition for the first terminal, it can be considered that the user corresponding to the first terminal needs to be concerned, at this time, the first path video data is sent to a second terminal, so that the demand of the user who speaks is met. At the same time, since the imaging quality of the first video data is higher, the imaging quality is guaranteed when displayed, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of data processing, and in particular to a video communication method and device. BACKGROUND

[0002] With the rapid development of computer technology, network technology, communication technology and streaming media technology, a strong technical support is provided for the development of multimedia video communication. Video communication is widely used in scenarios such as video conference, online education, online entertainment, etc.

[0003] At present, taking video conference as an example, a user participating in the conference can receive conference data of each user participating in the conference and display locally, and the display window size is the same for different users.

[0004] However, in actual video conference, the user participating in the conference often focuses on the user who is speaking. The current video communication method is difficult to meet the needs of focusing on the speaking user, and the video quality of the speaking user is low, which brings inconvenience to the user. SUMMARY

[0005] In order to solve the above technical problems, the present application provides a video communication method and device, thereby meeting the needs of focusing on the speaking user. At the same time, since the imaging quality of the first video data is high, the high imaging quality is ensured when displayed in a large display window, and the user experience is improved.

[0006] The embodiments of the present application disclose the following technical solutions:

[0007] In a first aspect, the embodiments of the present application provide a video communication method, which comprises:

[0008] obtaining multiple video data sent by a first terminal; the multiple video data is generated by encoding original video data collected by the first terminal using different encoding parameters, and the multiple video data at least includes first video data and second video data, and the imaging quality of the first video data is higher than that of the second video data;

[0009] if a target issuing condition for the first terminal is obtained, sending the first video data to a second terminal.

[0010] In a second aspect, the embodiments of the present application provide a video communication device, which comprises an obtaining unit and a sending unit:

[0011] The acquisition unit is configured to acquire multi-path video data transmitted by the first terminal, wherein the multi-path video data is generated by encoding original video data collected by the first terminal using different encoding parameters, and the multi-path video data at least includes first-path video data and second-path video data, and the imaging quality of the first-path video data is higher than that of the second-path video data.

[0012] The sending unit is configured to send the first-path video data to the second terminal if the target delivery condition for the first terminal is acquired.

[0013] In a third aspect, an embodiment of the present application provides a video communication method, and the method comprises the following steps:

[0014] Receiving the first-path video data sent by the server, wherein the imaging quality of the first-path video data is higher than that of the second-path video data.

[0015] Displaying the first-path video data using a display window matched with the first-path video data, and the display window used for displaying the first-path video data is larger than the display window used for displaying the second-path video data.

[0016] In a fourth aspect, an embodiment of the present application provides a video communication device, and the device comprises a receiving unit and a display unit.

[0017] The receiving unit is configured to receive the first-path video data sent by the server, wherein the imaging quality of the first-path video data is higher than that of the second-path video data.

[0018] The display unit is configured to display the first-path video data using a display window matched with the first-path video data, and the display window used for displaying the first-path video data is larger than the display window used for displaying the second-path video data.

[0019] In a fifth aspect, an embodiment of the present application provides a device, and the device comprises a processor and a memory.

[0020] The memory is configured to store program code and transmit the program code to the processor.

[0021] The processor is configured to execute the method in the first aspect or the third aspect according to instructions in the program code.

[0022] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, and the computer readable storage medium is configured to store program code, and the program code is configured to execute the method in the first aspect or the third aspect.

[0023] It can be seen from the technical solution that when video communication is performed, a terminal corresponding to a user, for example, the first terminal, collects original video data, encodes the original video data using different encoding parameters, generates multiple paths of video data, and sends the multiple paths of video data to the server, so that different video data is switched when a large display window needs to be switched. The multiple paths of video data at least include a first path of video data and a second path of video data, the imaging quality of the first path of video data is higher than that of the second path of video data, if the server obtains a target delivery condition for the first terminal, it can be considered that the user corresponding to the first terminal needs to be focused on, at this time, the first path of video data is sent to the second terminal, thereby meeting the demand of focusing on the user. At the same time, since the imaging quality of the first video data is higher, the imaging quality is guaranteed when displayed, and the user experience is improved. BRIEF DESCRIPTION OF DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0025] Figure 1 An application scenario diagram of a video communication method provided by an embodiment of the present application;

[0026] Figure 2 A signaling interaction diagram of a video communication method provided by an embodiment of the present application;

[0027] Figure 3 A structure diagram of a video communication system architecture provided by an embodiment of the present application;

[0028] Figure 4 A structure diagram of a video communication system architecture provided by an embodiment of the present application;

[0029] Figure 5 A flowchart of a video communication method provided by an embodiment of the present application;

[0030] Figure 6a A structure diagram of a video communication device provided by an embodiment of the present application;

[0031] Figure 6b A structure diagram of a video communication device provided by an embodiment of the present application;

[0032] Figure 7a A structure diagram of a video communication device provided by an embodiment of the present application;

[0033] Figure 7bA structural diagram of a video communication device provided by an embodiment of the present application is shown in FIG. 1.

[0034] Figure 7c A structural diagram of a video communication device provided by an embodiment of the present application is shown in FIG. 1.

[0035] Figure 8 A structural diagram of a device provided by an embodiment of the present application is shown in FIG. 1.

[0036] Figure 9 A structural diagram of a server provided by an embodiment of the present application is shown in FIG. 1. DETAILED DESCRIPTION

[0037] The embodiments of the present application are described below with reference to the accompanying drawings.

[0038] In a video communication process, taking a video conference as an example, after a user participating in the conference receives video data of each user participating in the conference through a terminal, the user displays the video data of each user by using a display window with the same size.

[0039] However, the user participating in the conference often focuses on a user who is speaking, for example, wants to mainly display or only display the video data of the speaking user, and the current method is difficult to achieve this purpose. Even if this purpose can be achieved, it is only to adjust the size of the display window, and the imaging quality of the video is low, and the user experience is not good.

[0040] To solve the above technical problems, the present application provides a video communication method, which generates multiple paths of video data based on different encoding parameters, so as to switch the video data with different imaging qualities when the size of the display window is switched. For a first terminal, after obtaining multiple paths of video data, if a target delivery condition for the first terminal is obtained, it is considered that the user corresponding to the first terminal needs to be focused on, and then the first path of video data with high imaging quality is sent to a second terminal, so as to be displayed by a larger display window in the second terminal, so as to meet the demand of focusing on the user and improve the imaging quality for the user.

[0041] It should be emphasized that the video communication method provided by the embodiments of the present application can be applied to video conferences, online education, online entertainment such as online K song, and other scenarios.

[0042] In order to facilitate understanding of the technical solutions of the present application, the video communication method provided by the embodiments of the present application is introduced below in combination with the system architecture.

[0043] Referring to Figure 1 , Figure 1A system architecture diagram of a video communication method provided by an embodiment of the present application is shown. The system architecture includes a plurality of terminals 101 and a server 102. The terminal 101 can be a mobile phone, a computer, a personal digital assistant (PDA), a tablet computer, or other device having audio and video capture and display functions. The terminal 101 can be installed with a video communication software to implement video communication by running the software on the terminal 101. Specifically, the plurality of terminals 101 can establish video communication through voice over Internet protocol (VOIP). The server 102 is a server corresponding to the video communication software, which can be a standalone server or a cluster server.

[0044] The terminal 101 can capture raw video data, which can include user video and / or audio corresponding to the terminal 101. Each terminal 101 can encode the captured raw video data using different encoding parameters to generate a plurality of video data. The plurality of video data includes at least first video data and second video data, and the imaging quality of the first video data is higher than that of the second video data.

[0045] The embodiment of the present application does not limit the number of the plurality of video data, which can include three, four, or more. The plurality of video data has different imaging qualities. For ease of introduction, the embodiment of the present application is only introduced by taking two of them as an example.

[0046] The terminal 101 can send the plurality of video data to the server 102. For a user, for example, a speaking user, in order to more easily focus on the speaking user, if the server obtains a target issuing condition for a first terminal (for example, a terminal 101 corresponding to the speaking user), the server 102 can send the first video data with higher imaging quality to other terminals, for example, a second terminal. In this way, when the video data is displayed on a larger display window of the second terminal, since the imaging quality of the first video data is higher than that of the second video data, the user corresponding to the second terminal can see a video with higher imaging quality, which improves the imaging quality for the speaking user and further improves the user experience.

[0047] Next, the video communication method provided by the embodiment of the present application will be described in detail from the perspective of interaction between the terminal and the server in combination with the accompanying drawings. Referring to FIG. 1, Figure 2 , the method includes:

[0048] S201, the first terminal encodes the captured raw video data using different encoding parameters to generate a plurality of video data.

[0049] The first terminal has the capability of collecting original video data and uploading the video data, and the first terminal can be a terminal corresponding to a user that a user corresponding to the second terminal wants to follow, for example, a terminal corresponding to a speaking user.

[0050] When the first terminal collects the original video data, the first terminal can encode the collected original video data by using different encoding parameters to generate multiple paths of video data. In this embodiment, the multiple paths of video data are not limited to two paths, but can also be three paths, four paths, and the like. This embodiment is described by taking a first path of video data and a second path of video data included in the multiple paths of video data as an example, where the imaging quality of the first path of video data is higher than the imaging quality of the second path of video data. The imaging quality can be reflected by parameters such as resolution and code flow.

[0051] S202, the first terminal sends the multiple paths of video data to the server.

[0052] After the first terminal generates the multiple paths of video data, the first terminal can send the multiple paths of video data to the server. Compared with the related art, in the related art, because multiple display windows of the same size display video data at the same time, in order to reduce the bandwidth pressure, the imaging quality of the video data displayed by each display window is fixed and low. In this embodiment, the first terminal generates multiple paths of video data with different imaging qualities and sends the multiple paths of video data to the server, so that the video data is switched when the size of the display window of the terminal or the display windows of the terminals is switched, so that when the display window is large, the video data with high imaging quality is displayed, the imaging quality is improved, and the user experience is improved.

[0053] The server can include a data server and a signaling server. The data server is mainly used to receive or send data, and the signaling server is mainly used to process signaling. The data server and the signaling server can communicate with each other, so that the signaling server can forward some signaling to the data server.

[0054] In the video communication process, multiple terminals can participate in the video communication. The terminals are connected by VOIP network telephones. In some cases, all the multiple terminals can have the capability of collecting original video data and uploading the original video data.

[0055] However, in some cases, in order to increase the capability of video communication and expand the number of people participating in the video communication, this embodiment provides a video communication method. The video communication architecture applied by the method is described with reference to Figure 3As shown, this video communication architecture, compared to related technologies, can support more terminals simultaneously accessing video communication. Considering real-world video communication scenarios, such as conferences where only a few people speak and most listen, this architecture allows the first N channels to upload video data to the server, which then forwards it to each terminal. The remaining terminals only have the ability to download video data. The users corresponding to the terminals with the ability to upload video data in the first N channels can be called "on-stage users," and the users corresponding to the remaining terminals can be called "off-stage users." By setting up on-stage and off-stage users, more users can access video communication simultaneously, increasing the capacity and expanding the scale of video communication.

[0056] For example Figure 3 As shown, the system includes server 301, on-stage users 302, and off-stage users 303. Terminals A, B, and C are on-stage users 302, capable of uplinking video data (see the arrows pointing to the server) and downlinking video data, i.e., receiving video data forwarded by other terminals such as B and C through the server (see the arrows pointing to A, B, and C). Terminals 1, 2, ..., 50 are off-stage users 303, capable only of downlinking video data, such as receiving video data forwarded by terminals A, B, and C through the server. Figure 3 In the diagram, a, b, and c represent the second video data of terminals A, B, and C, respectively, while A, B, and C represent the first video data of terminals A, B, and C, respectively.

[0057] In this scenario, prior to S202, the first terminal can request the ability to acquire uplink video data. If the server receives the uplink video data request for the first terminal, it can calculate whether the number of occupied uplink video data channels is less than a preset number, i.e., whether the number of users on the platform is less than a preset number. If the number of occupied uplink video data channels is less than the preset number, the server sends an uplink video data confirmation message to the first terminal. The first terminal then starts collecting video data based on the uplink video data confirmation message and uploads the collected video data to the server. At this point, the user corresponding to the first terminal can be referred to as a user on the platform, and this process can be called the onboarding process.

[0058] In some cases, to prevent the server from receiving and forwarding video data from unauthorized users to various terminals, the server can verify the legitimacy of the uplink video data request after determining that the number of occupied uplink video data channels is less than a preset number. If the request is legitimate, subsequent processing can continue.

[0059] It should be noted that the uplink video data request for the first terminal can be sent by the first terminal or by another terminal inviting the first terminal to speak, for example, in a video communication scenario, there is usually a role of a host, the host can initiate a conference, invite users to go on stage, go off stage, mute, and other conference control operations, of course, the user can also actively initiate the request to go on stage, go off stage, mute, etc. These are realized through network protocol interaction between the terminal and the signaling server.

[0060] Taking the uplink video data request sent by the terminal corresponding to the host as an example, assuming that the host A invites the user B to go on stage, the terminal A corresponding to the host A sends an uplink video data request to the server, for example, a signaling server, if the signaling server determines that the number of users on stage is less than a preset number N, and the uplink video data request is a legal request, the signaling server sends an uplink video data confirmation message to the terminal B (i.e., the first terminal), after the terminal B receives the uplink video data confirmation message, the audio and video engine of the terminal B is notified to start collecting video data and uploading the collected video data, and the video data is forwarded to all terminals in the conference through the server, for example, a data server.

[0061] Correspondingly, since a user in the video communication process can not always be a user on stage or a user off stage, when the user on stage no longer speaks or temporarily does not speak, the user can also change from the user on stage to the user off stage, this process can be called a process of going off stage. Taking the first terminal as an example, the process of going off stage can be, for example, that the server receives an uplink video data termination request for the first terminal, if the server checks that the user corresponding to the first terminal is a user on stage, the server sends an uplink video data termination confirmation message to the first terminal, after the first terminal receives the uplink video data termination confirmation message, the audio and video engine of the first terminal is notified to stop collecting video data and uploading video data, and other terminals will not receive the video data sent by the first terminal.

[0062] S203, if the server obtains a target distribution condition for the first terminal, the server sends the first video data to a second terminal.

[0063] The second terminal is a terminal corresponding to another user participating in the video communication, in some cases, in order to facilitate attention to the user corresponding to the first terminal, the display window on the second terminal for displaying the first video data is larger than the display window for displaying the second video data. At this time, the first video data can be called a large video, and the second video data can be called a small video. The large video can be displayed in full screen or in a display window larger than other display windows.

[0064] If the server obtains the target delivery condition for the first terminal, it is considered that the user corresponding to the first terminal needs to be followed. In order to facilitate other users to better follow the user, the second terminal can display the video data in a larger display window. Since a large display window is used, the number of display windows may be reduced. At this time, in order to improve the imaging quality, the server can send the first video data to the second terminal, so as to display the video data with high imaging quality at the second terminal.

[0065] In S204, the second terminal displays the first video data by using the display window matched with the first video data.

[0066] After the second terminal receives the first video data, the second terminal can display the first video data by using the display window matched with the first video data, that is, display a large video, so as to facilitate the user corresponding to the second terminal to watch the user corresponding to the first terminal, and improve the imaging quality and user experience.

[0067] As can be seen from the above technical solution, when video communication is performed, the terminal corresponding to the speaker, for example, the first terminal, collects original video data, encodes the original video data by using different encoding parameters, generates multiple video data, and sends the multiple video data to the server, so as to switch different video data when it is necessary to switch between large and small display windows. The multiple video data at least includes first video data and second video data. The imaging quality of the first video data is higher than that of the second video data. If the server obtains the target delivery condition for the first terminal, it is considered that the user corresponding to the first terminal needs to be followed. At this time, the first video data is sent to the second terminal, so as to meet the demand of following the speaker. At the same time, since the imaging quality of the first video data is high, the high imaging quality is ensured when the large display window is displayed, and the user experience is improved.

[0068] It should be noted that in the embodiments of the present application, according to different target delivery conditions, the implementation mode of S203 can include multiple modes. The server can obtain the target delivery condition from one or more combinations of the server itself, the first terminal, and the second terminal. That is, whether the first video data or the second video data is sent to the second terminal can be selected by the server itself, or selected by the first terminal or the second terminal, and then notified to the server.

[0069] The first mode can be to send the first video data to the second terminal according to the automatic identification result of the server, that is, the target delivery condition is obtained from the server itself. For example, the server can make a choice according to the network condition for video communication or the importance of the original video data.

[0070] The server makes a decision according to a network condition of a network in which the video communication is performed, and the network condition can be reflected by a network condition parameter. Therefore, the server can obtain the network condition parameter, and if it is determined according to the network condition parameter that the network condition satisfies a second preset condition, it can be considered that the network condition is good, and the first video data is sent to the second terminal. At this time, the target delivery condition is that the network condition satisfies the second preset condition.

[0071] Since the network condition can be related to network information and the number of people participating in the video communication, in this embodiment, the network condition parameter can include the network information (such as network bandwidth) and the number of people participating in the video communication. For example, the server obtains the current network bandwidth, and if the network bandwidth is large enough to transmit the first video data with good imaging quality, the first video data can be sent to the second terminal, otherwise, in order to ensure smooth communication, the second video data is sent to the second terminal. For another example, the server obtains the number of people participating in the video communication, and if the number of people is less than a certain threshold, it can be considered that the network bandwidth pressure is small, at this time, the first video data with good imaging quality can be sent to the second terminal, otherwise, in order to reduce the bandwidth pressure, the second video data is sent to the second terminal.

[0072] When the server makes a decision according to the importance of the original video data itself, usually, the user corresponding to the second terminal can hope to pay more attention to the speaker, that is, the original video data of the speaker is more important. The audio energy corresponding to the video data of the speaker is larger than that of other users, and other users can occasionally make a sound or not make a sound, and the audio energy corresponding to their video data is very small. Therefore, in this embodiment, the importance of the video data can be reflected by the audio energy, and the server can calculate the audio energy according to the received original video data. If the audio energy satisfies a first preset condition, it can be determined that the user corresponding to the first terminal is the speaker, and in order to facilitate the second user corresponding to the terminal to watch the speaker, the server can send the first video data to the second terminal. The first preset condition can be that the audio energy reaches a preset threshold, or that the audio energy is the largest among all the audio energies corresponding to the original video data; the second terminal can be all other terminals except the first terminal. At this time, the target delivery condition is that the audio energy satisfies the first preset condition.

[0073] In some cases, there is usually a host (initiator) in the video communication such as a video conference, and the host is usually the main speaker in the video conference, and the video data corresponding to the host is generally more central. Therefore, the server can make a decision according to whether the multiple video data comes from the terminal corresponding to the host.

[0074] It can be understood that if the server sends the second terminal the second video data before sending the first terminal the first video data, the server sends the first terminal the first video data after determining that the audio energy meets the first preset condition in the first manner can be that the server switches the second video data to be sent to the second terminal to the first video data.

[0075] The second manner can be that the server triggers the second terminal to send a switching instruction and sends the first video data to the second terminal according to the instruction, that is, the target issuing condition is obtained from the second terminal.

[0076] In some scenarios, before the server sends the first terminal the first video data, the server sends the second terminal the second video data, that is, a small video. For example, when the video communication is just started, the second terminal is sent the second video data by default. At this time, the user corresponding to the second terminal wants to watch the large video of the user corresponding to the first terminal, and the user corresponding to the second terminal can click the display window for displaying the user corresponding to the first terminal to trigger the switching of the video data.

[0077] Specifically, the server can receive the first video switching instruction sent by the second terminal, the first video switching instruction including the identity (ID) of the first terminal and the first video identifier, then determine the first video data according to the identity and the video identifier, and switch the second video data to be sent to the second terminal to the first video data. At this time, the target issuing condition is receiving the first video switching instruction.

[0078] The first video switching instruction can be generated in response to the triggering operation of the user corresponding to the second terminal. For example, when the user corresponding to the second terminal wants to watch the user corresponding to the first terminal through a large display window, the user corresponding to the second terminal manually switches the display window (for example, clicks the current display window), and in order to provide video data with high imaging quality, the user triggers the second terminal to send the first video switching instruction to the server.

[0079] The first video switching instruction can also be generated when the degree of attention of the user corresponding to the second terminal to the original video data meets third preset conditions. The degree of attention of the user corresponding to the second terminal to the original video data can be determined by analyzing the degree of operation of the user to the video, or the number of times of clicking and browsing other irrelevant pages, and the like. If the second terminal determines that the degree of attention meets the third preset conditions, it means that the degree of attention is high, and the first video switching instruction is sent to the server, so that the server can send the first video data to the second terminal, otherwise, the second video data with lower imaging quality is sent. Wherein, the more frequent the user operates the displayed video, or the less the number of times of clicking and browsing other irrelevant pages, the higher the degree of attention of the user to the video.

[0080] The second method can send the first video data to the second terminal corresponding to the user who actually wants to watch the large video of the first terminal according to the actual needs of the user, avoid unnecessary sending of the first video data, and improve the user experience.

[0081] If the server includes a signaling server and a data server, the second terminal first sends the first video switching instruction to the signaling server, and the signaling server forwards the first video switching instruction to the data server. The data server can record the information included in the first video switching instruction, so as to specifically issue the video data. Wherein, the first video switching instruction can be a subscription protocol, at this time, the first terminal can be called a subscriber, and the information recorded in the data server can be called a subscription state.

[0082] It can be understood that if the display window of the second terminal displaying the first video data is full screen display, the server also needs to stop sending video data of other terminals except the first terminal to the second terminal.

[0083] When the user corresponding to the second terminal does not need to pay attention to the user corresponding to the first terminal, for example, the user corresponding to the first terminal finishes speaking, at this time, the user corresponding to the second terminal can click the display window for displaying the user corresponding to the first terminal to trigger the switching of the video data.

[0084] Specifically, the second terminal can send a second video switching instruction to the server, the second video switching instruction including an identity of the first terminal and a second video identifier, the server determines the second video data according to the identity and the second video identifier, and switches the first video data sent to the second terminal to the second video data.

[0085] The third method can be that the server obtains a target issuing condition from the first terminal. At this time, the target issuing condition is that the degree of intimacy between the user corresponding to the first terminal and the user corresponding to the second terminal meets fourth preset conditions.

[0086] Generally, the user participating in the video communication can pay more attention to the user who is more familiar with himself, and pay less attention to the user who is not familiar with himself. Therefore, in the embodiment, the first terminal can determine the familiarity between the user corresponding to the first terminal and the user corresponding to the second terminal. If the familiarity satisfies the fourth preset condition, the first terminal sends the target issuing condition to the server, so that the terminal can send the first video data with high imaging quality to the second terminal according to the target issuing condition.

[0087] It should be noted that, in order to prevent the first video switching instruction from being lost in the transmission process, so that the video data actually watched by the user is inconsistent with the video data expected to be watched by the user, the second terminal determines whether the first video data is consistent with the video data represented by the first video identifier when receiving the first video data. If not, the first video switching instruction is re-sent to the server. For example, it can be re-sent once every 2 seconds, and at most 5 times. When switching through the second video switching instruction, the received second video data can be checked in a similar manner to determine whether it is consistent with the video data represented by the second video identifier, in order to prevent the second video switching instruction from being lost in the transmission process, so that the video data actually watched by the user is inconsistent with the video data expected to be watched by the user.

[0088] In some possible implementations, in order to ensure that the field of view does not jump when switching videos and improve user experience, the aspect ratio of the first video data and the second video data can be kept consistent, for example, both are 4:3, or 16:9 with clearer imaging quality, etc.

[0089] Next, the video communication method provided by the embodiments of the application will be introduced in combination with an actual application scenario. In the application scenario, multiple users conduct video conference through the software installed on their terminals. The system architecture used in the application scenario is shown in Figure 4 The data server 401, the signaling server 402, the on-table users 403 such as the terminal A, the terminal B and the terminal C, and the off-table users 404 such as the terminal 1, the terminal 2, …, and the terminal 50 are included in the system architecture.

[0090] Referring to Figure 5 , the method comprises:

[0091] S501, the data server receives the multiple video data sent by each terminal included in the on-table users.

[0092] The multiple video data includes first video data (large video) and second video data (small video). The imaging quality of the first video data is higher than that of the second video data, and the display window corresponding to the first video data is larger than that corresponding to the second video data.

[0093] S502, the data server forwards the second video data of each terminal of the on-premise user to other terminals participating in the video conference by default.

[0094] Figure 4 In a, b, and c, A, B, and C represent the second video data of terminals A, B, and C in sequence, respectively, and A, B, and C represent the first video data of terminals A, B, and C in sequence, respectively.

[0095] S503, user A clicks on the display window of user B.

[0096] S504, terminal A sends a subscription protocol to the signaling server.

[0097] S505, the signaling server forwards the subscription protocol to the data server.

[0098] When user A needs to see the large video of user B, user A clicks on the display window of user B, triggering terminal A (i.e., the second terminal) corresponding to user A to send a subscription protocol to the signaling server, which is then forwarded to the data server. The subscription protocol includes the ID of the subscriber (terminal B, i.e., the first terminal) and the first video identifier.

[0099] S506, the subscription state of A is recorded on the data server connected to terminal A.

[0100] S507, the data server switches the second video data of user B sent to terminal A to the first video data.

[0101] Referring to Figure 4 , the dashed line indicates that the second video data of user B is sent to terminal A before switching, Figure 4 , the solid line indicates that the first video data of user B is sent to terminal A after switching. Figure 4

[0102] S508, the data server stops sending the second video data of user B and user C to terminal A.

[0103] S509, when user A does not need to see the large video of user B, terminal A sends a subscription protocol to the signaling server again.

[0104] The subscription protocol includes the ID of terminal B and the second video identifier.

[0105] S510, the subscription state of terminal A is updated on the data server connected to terminal A, restoring the second video data of user B and user C to be sent by terminal A, and no longer transmitting the first video data of user B.

[0106] ​Based on the video communication method provided in the foregoing embodiments, the present embodiment also provides a video communication device, referring to Figure 6a The device comprises an acquisition unit 601 and a sending unit 602.

[0107] The acquisition unit 601 is configured to acquire multi-path video data sent by a first terminal, wherein the multi-path video data is generated by encoding original video data collected by the first terminal by using different encoding parameters, and the multi-path video data at least comprises first-path video data and second-path video data, and the imaging quality of the first-path video data is higher than that of the second-path video data.

[0108] The sending unit 602 is configured to send the first-path video data to a second terminal if a target delivery condition for the first terminal is acquired.

[0109] In a possible implementation, the target delivery condition is acquired from one or more combinations of a server itself, the first terminal and the second terminal.

[0110] In a possible implementation, if the target delivery condition is acquired from the server itself, the sending unit 602 is configured to:

[0111] calculate an audio energy according to the multi-path video data;

[0112] send the first-path video data to the second terminal if the audio energy meets a first preset condition, and the target delivery condition is that the audio energy meets the first preset condition.

[0113] In a possible implementation, if the target delivery condition is acquired from the server itself, the sending unit 602 is configured to:

[0114] acquire a network condition parameter;

[0115] send the first-path video data to the second terminal if it is determined according to the network condition parameter that a network condition meets a second preset condition, and the target delivery condition is that the network condition meets the second preset condition.

[0116] In a possible implementation, before the sending unit 602 sends the first-path video data to the second terminal, if the second-path video data is sent to the second terminal, the target delivery condition is acquired from the second terminal, and the sending unit 602 is configured to:

[0117] receive a first video switching instruction sent by the second terminal, wherein the first video switching instruction comprises an identity of the first terminal and a first video identity;

[0118] determine the first path video data according to the identity and the second video identity;

[0119] switch the second path video data sent to the second terminal to the first path video data; the target issuing condition is receiving the first video switching instruction.

[0120] In a possible implementation, the first video switching instruction is generated in response to a triggering operation of a user corresponding to the second terminal, or the first video switching instruction is generated when a degree of attention of the user corresponding to the second terminal to the original video data satisfies a third preset condition.

[0121] In a possible implementation, if the target issuing condition is acquired from the first terminal, the target issuing condition is that a closeness between the user corresponding to the first terminal and the user corresponding to the second terminal satisfies a fourth preset condition.

[0122] In a possible implementation, the sending unit 602 is further configured to:

[0123] stop sending video data of terminals other than the first terminal to the second terminal.

[0124] In a possible implementation, referring to Figure 6b , the apparatus further includes a receiving unit 603, a determining unit 604, and a switching unit 605:

[0125] The receiving unit 603 is configured to receive a second video switching instruction sent by the second terminal, the second video switching instruction including an identity of the first terminal and a second video identity.

[0126] The determining unit 604 is configured to determine the second path video data according to the identity and the second video identity.

[0127] The switching unit 605 is configured to switch the first path video data sent to the second terminal to the second path video data.

[0128] In a possible implementation, a width-to-height ratio of the first path video data and the second path video data remains consistent.

[0129] In a possible implementation, the receiving unit 603 is further configured to receive an uplink video data request for the first terminal.

[0130] The sending unit 602 is further configured to send an uplink video data confirmation message to the first terminal if a number of occupied uplink video data channels is less than a preset number.

[0131] The embodiment of the present application further provides a video communication device, referring to Figure 7a The device comprises a receiving unit 701 and a display unit 702.

[0132] The receiving unit 701 is used for receiving first video data sent by a server; the imaging quality of the first video data is higher than that of second video data.

[0133] The display unit 702 is used for displaying the first video data by using a display window matched with the first video data; the display window used for displaying the first video data is larger than a display window used for displaying the second video data.

[0134] In a possible implementation, before the first video data is displayed by using the display window matched with the first video data, if the second video data is displayed, referring to Figure 7b The device further comprises a sending unit 703.

[0135] The sending unit 703 is used for sending a first video switching instruction to a server, wherein the first video switching instruction comprises an identity of the first terminal and a first video identity.

[0136] The receiving unit 701 is further used for receiving the first video data sent by the server.

[0137] The display unit 702 is further used for switching the second video data to the first video data.

[0138] In a possible implementation, referring to Figure 7c The device further comprises a determining unit 704.

[0139] The determining unit 704 is used for determining whether the first video data is consistent with video data represented by the first video identity.

[0140] If the first video data is not consistent with the video data represented by the first video identity, the sending unit 703 is used for re-sending the first video switching instruction to the server.

[0141] The embodiment of the present application further provides a device, which can perform video communication. The device will be introduced below in combination with the drawings. Referring to Figure 8As shown, the embodiment of the present application provides a device 800, which can also be a terminal, which can be any intelligent terminal including a mobile phone, a tablet computer, a personal digital assistant (PDA), a point of sales (POS), a vehicle-mounted computer, etc. Taking the terminal as a mobile phone for example:

[0142] Figure 8 As shown is a block diagram of a part of the structure of a mobile phone related to the terminal provided by the embodiment of the present application. Referring to Figure 8 , the mobile phone includes a radio frequency (RF) circuit 810, a memory 820, an input unit 830, a display unit 840, a sensor 850, an audio circuit 860, a wireless fidelity (WiFi) module 870, a processor 880, and a power supply 890, etc. Those skilled in the art can understand that Figure 8 the structure of the mobile phone shown in the embodiment of the present application does not constitute a limitation on the mobile phone, and can include more or less components than the diagram, or combine some components, or different arrangement of components.

[0143] The components of the mobile phone will be introduced in detail as follows: Figure 8

[0144] The RF circuit 810 can be used for receiving and sending signals in the process of information or call, in particular, receiving the downlink information of a base station and processing by the processor 880; in addition, sending the uplink data to the base station. Generally, the RF circuit 810 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 810 can also communicate with a network and other devices through wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to global system for mobile communication (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short message service (SMS), etc. ​

[0145] The memory 820 can be used to store software programs and modules, and the processor 880 can execute various function applications and data processing of the mobile phone by running the software programs and modules stored in the memory 820. The memory 820 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), and the like; and the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), and the like. In addition, the memory 820 can include a high-speed random access memory, and can also include a non-volatile memory, for example, at least one magnetic disk storage device, a flash memory device, or other volatile solid-state memory device.

[0146] The input unit 830 can be used to receive inputted digital or character information, and to generate key signal input related to the user settings and function control of the mobile phone. Specifically, the input unit 830 can include a touch panel 831 and other input devices 832. The touch panel 831, also known as a touch screen, can collect the touch operation of a user thereon or adjacent thereto (such as the operation of the user using a finger, a stylus, or any suitable object or accessory on or adjacent to the touch panel 831), and drive the corresponding connection device according to the pre-set program. Optionally, the touch panel 831 can include two parts of a touch detection device and a touch controller. The touch detection device detects the touch position of the user and detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, and converts it into touch coordinates, and then sends it to the processor 880, and can also receive the command from the processor 880 and execute it. In addition, the touch panel 831 can be implemented in various types such as a resistive type, a capacitive type, an infrared type, and a surface acoustic wave type. In addition to the touch panel 831, the input unit 830 can also include other input devices 832. Specifically, the other input devices 832 can include one or more of a physical keyboard, a function key (such as a volume control key, an on-off key, etc.), a trackball, a mouse, a joystick, and the like.

[0147] The display unit 840 can be used to display information input by a user or information provided to the user as well as various menus of the phone. The display unit 840 can include a display panel 841, which can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. Further, a touch panel 831 can be overlaid on the display panel 841, which, when detecting a touch operation thereon or in the vicinity thereof, transmits to the processor 880 to determine the type of touch event, and then the processor 880 provides corresponding visual output on the display panel 841 according to the type of touch event. Although in the above description, the touch panel 831 and the display panel 841 are implemented as two independent components to realize the input and output functions of the phone, in some embodiments, the touch panel 831 and the display panel 841 can be integrated to realize the input and output functions of the phone. Figure 8

[0148] The phone can also include at least one sensor 850, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor can include an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 841 according to the brightness of ambient light, and the proximity sensor can turn off the display panel 841 and / or the backlight when the phone is moved to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), and when at rest, it can detect the magnitude and direction of gravity, which can be used for applications that identify the posture of the phone (such as landscape / portrait screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), and the like. As for other sensors that the phone can also be configured, such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and the like, they will not be described here.

[0149] The audio circuit 860, the speaker 861, and the microphone 862 can provide an audio interface between the user and the phone. The audio circuit 860 can convert received audio data into an electrical signal, which is transmitted to the speaker 861 to be converted into a sound signal for output. On the other hand, the microphone 862 converts the collected sound signal into an electrical signal, which is received by the audio circuit 860 to be converted into audio data, which is then output to the processor 880 for processing, and then transmitted to another phone via the RF circuit 810, or output to the memory 820 for further processing.

[0150] WiFi is a short-range wireless transmission technology, and the phone can help users send and receive emails, browse web pages, and access streaming media through the WiFi module 870, which provides users with wireless broadband Internet access. Although in the above description, the WiFi module 870 is implemented as a separate component to realize the wireless communication function of the phone, in some embodiments, the WiFi module 870 can be integrated with the RF circuit 810 to realize the wireless communication function of the phone. Figure 8 ​A WiFi module 870 is shown, but it is understood that it is not a necessary component of the mobile phone and can be omitted as needed without changing the essence of the application.

[0151] The processor 880 is the control center of the mobile phone, connecting various parts of the mobile phone through various interfaces and lines, executing various functions of the mobile phone and processing data by running or executing software programs and / or modules stored in the memory 820 and calling data stored in the memory 820. Optionally, the processor 880 can include one or more processing units; preferably, the processor 880 can integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc., and the modem processor mainly processes wireless communication. It is understood that the above-mentioned modem processor can also not be integrated into the processor 880.

[0152] The mobile phone also includes a power supply 890 (such as a battery) for supplying power to various components, and preferably the power supply can be logically connected to the processor 880 through a power management system, so as to realize the functions of managing charging, discharging and power consumption management through the power management system.

[0153] Although not shown, the mobile phone can also include a camera, a Bluetooth module, etc., which will not be described here.

[0154] In the embodiment, the processor 880 included in the terminal also has the following functions:

[0155] Receiving the first video data sent by the server; the imaging quality of the first video data is higher than that of the second video data;

[0156] Displaying the first video data by using a display window matched with the first video data; the display window for displaying the first video data is larger than the display window for displaying the second video data.

[0157] The application embodiment also provides a server, please refer to Figure 9 shown, Figure 9The server 900 provided by the embodiments of the present application can have a great difference due to different configurations or performances, and can include one or more central processing units (CPUs) 922 (for example, one or more processors) and a memory 932, one or more storage media 930 (for example, one or more mass storage devices) for storing application programs 942 or data 944. The memory 932 and the storage media 930 can be temporary storage or persistent storage. The programs stored in the storage media 930 can include one or more modules (not shown in the figure), and each module can include a series of instruction operations in the server. Further, the central processing unit 922 can be configured to communicate with the storage media 930 and execute the series of instruction operations in the storage media 930 on the server 900.

[0158] The server 900 can also include one or more power supplies 926, one or more wired or wireless network interfaces 950, one or more input / output interfaces 958, and / or one or more operating systems 941, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0159] In the embodiments, the central processing unit 922 included in the server also has the following functions:

[0160] obtaining the multi-path video data sent by the first terminal; the multi-path video data is generated by encoding original video data collected by the first terminal using different encoding parameters, and the multi-path video data at least includes first-path video data and second-path video data, and the imaging quality of the first-path video data is higher than that of the second-path video data;

[0161] if the target delivery condition for the first terminal is obtained, sending the first-path video data to the second terminal.

[0162] The embodiments of the present application also provide a computer readable storage medium for storing program codes, and the program codes are used to execute the video communication method in the above embodiments.

[0163] The embodiments of the present application also provide a computer program product including instructions, which, when executed on a computer, cause the computer to execute the video communication method in the above embodiments.

[0164] The terms "first", "second", "third", "fourth", and the like in the description and in the claims of this application, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed is interchangeable under appropriate circumstances such that the embodiments of the application described herein are, for example, capable of accomplishing functionalities that are either the same or similar to that of other embodiments of the application. Moreover, the terms "include", "have", and the like, are used in the detailed description and in the claims of this application essentially open- ended and are intended to encompass the items listed thereafter, equivalents thereof, as well as additional items not listed after the comma. Finally, terms of degree such as "substantially", "approximately", and the like, are used to describe and account for subjective measurements that are inherently imprecise.

[0165] It should be understood that, in the application, "at least one" means one or more, and "multiple" means two or more. "And / or", used to describe the relationship between associated objects, means that there can be three relationships, for example, "A and / or B" can mean: only A, only B, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0166] In several embodiments provided in the application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are only illustrative, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0167] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0168] In addition, each of the functional units in the various embodiments of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0169] When the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in part, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods according to the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and various other media that can store program codes.

[0170] The above-described embodiments are merely used to illustrate the technical solutions of the present application, rather than limit the technical solutions thereof; even though the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still make modifications to the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some of the technical features thereof; and these modifications or replacements do not cause the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method of video communication, characterized by, The video communication method is applied to a video communication architecture allowing the first N channels to have the ability to upload video data to a server, and the server forwards the video data to each terminal, the users corresponding to the terminals with the ability to upload video data are on-table users, and the users corresponding to the remaining terminals only have the ability to receive downlink video data, the remaining terminals are off-table users, the video communication method is applied to a multi-person video communication process, and the method comprises the following steps of: receiving an uplink video data request for a first terminal, determining whether the number of occupied uplink video data channels is less than a preset number, and if the number of occupied uplink video data channels is less than the preset number, sending an uplink video data confirmation message to the first terminal, so that the first terminal starts collecting video data according to the uplink video data confirmation message, and transmits the collected video data to all terminals in the conference through the server; the uplink video data request for the first terminal is sent by at least one of the following ways: sent by the first terminal, sent by other terminals when inviting the first terminal to speak; obtaining multi-channel video data sent by the first terminal; the multi-channel video data is generated by encoding original video data collected by the first terminal using different encoding parameters, and the multi-channel video data at least includes first channel video data and second channel video data, and the imaging quality of the first channel video data is higher than that of the second channel video data; if a target distribution condition for the first terminal is obtained, sending the first channel video data to a second terminal; The method further comprises: receiving an uplink video data termination request for the first terminal, if it is confirmed that the user corresponding to the first terminal is an on-table user, sending an uplink video data termination confirmation message to the first terminal, so that after the first terminal receives the uplink video data termination confirmation message, the audio and video engine of the first terminal stops collecting and uploading video data, and other terminals no longer receive the video data sent by the first terminal.

2. The method of claim 1, wherein, The target distribution condition is obtained from one or more combinations of the server itself, the first terminal and the second terminal.

3. The method of claim 2, wherein, If the target distribution condition is obtained from the server itself, the step of sending the first channel video data to the second terminal if the target distribution condition for the first terminal is obtained comprises the following steps of: calculating audio energy according to the multi-channel video data; if the audio energy meets a first preset condition, sending the first channel video data to the second terminal; the target distribution condition is that the audio energy meets the first preset condition.

4. The method of claim 2, wherein, If the target distribution condition is obtained from the server itself, the step of sending the first channel video data to the second terminal if the target distribution condition for the first terminal is obtained comprises the following steps of: obtaining network condition parameters; if it is determined that the network condition meets a second preset condition according to the network condition parameters, the first channel video data is sent to the second terminal; the target distribution condition is that the network condition meets the second preset condition.

5. The method of claim 2, wherein, Before sending the first video data to the second terminal, if the second video data is sent to the second terminal, the target distribution condition is obtained from the second terminal, if the target distribution condition for the first terminal is obtained, the first video data is sent to the second terminal, comprising: Receiving the first video switching instruction sent by the second terminal, the first video switching instruction comprising the identity of the first terminal and the first video identity; According to the identity and the video identity, the first video data is determined; Switching the second video data sent to the second terminal to the first video data; the target distribution condition is receiving the first video switching instruction.

6. The method of claim 5, wherein, The first video switching instruction is generated in response to the triggering operation of the user corresponding to the second terminal, or the first video switching instruction is generated when the attention degree of the user corresponding to the second terminal to the original video data meets the third preset condition.

7. The method of claim 2, wherein, If the target distribution condition is obtained from the first terminal, the target distribution condition is that the intimacy degree between the user corresponding to the first terminal and the user corresponding to the second terminal meets the fourth preset condition.

8. A video communication device, characterized by The video communication architecture adopted by the video communication device allows the first N channels to have the ability to upload video data to the server, which is forwarded to each terminal through the server, the user corresponding to the terminal with the ability to upload video data in the first N channels is the on-table user, the remaining terminals only have the ability of downlink video data, the user corresponding to the remaining terminals is the off-table user, the video communication device is applied in the process of multi-person video communication, the device comprises an acquisition unit and a sending unit: The receiving unit is configured to receive an uplink video data request for a first terminal and calculate whether the number of occupied uplink video data channels is less than a preset number; The sending unit is configured to send an uplink video data confirmation message to the first terminal if the number of occupied uplink video data channels is less than the preset number, so that the first terminal starts collecting video data according to the uplink video data confirmation message, and transmits the collected video data to all terminals in the conference through the server; the uplink video data request for the first terminal is sent by at least one of the following ways: sent by the first terminal, sent by other terminals when inviting the first terminal to speak; The acquisition unit is configured to acquire multiple video data sent by the first terminal; The multiple video data is generated by encoding the original video data collected by the first terminal using different encoding parameters, and the multiple video data at least comprises first video data and second video data, the imaging quality of the first video data is higher than that of the second video data; The sending unit is further configured to send the first video data to the second terminal if a target distribution condition for the first terminal is obtained. The device further comprises a module for executing the following steps: receiving an uplink video data termination request for the first terminal, if it is confirmed that the user corresponding to the first terminal is a table user, sending an uplink video data termination confirmation message to the first terminal, so that the first terminal stops collecting and uploading video data after receiving the uplink video data termination confirmation message, and other terminals no longer receive video data sent by the first terminal.

9. The apparatus of claim 8, wherein, The target distribution condition is obtained from one or more combinations of the server itself, the first terminal and the second terminal.

10. The apparatus of claim 9, wherein, If the target distribution condition is obtained from the server itself, the sending unit is configured to: According to the multi-path video data, calculate the audio energy; If the audio energy meets the first preset condition, send the first path video data to the second terminal; The target distribution condition is that the audio energy meets the first preset condition.

11. The apparatus of claim 9, wherein, If the target distribution condition is obtained from the server itself, the sending unit is configured to: Obtain network condition parameters; If it is determined according to the network condition parameters that the network condition meets the second preset condition, send the first path video data to the second terminal; The target distribution condition is that the network condition meets the second preset condition.

12. The apparatus of claim 9, wherein, Before the sending unit sends the first path video data to the second terminal, if the second path video data is sent to the second terminal, the target distribution condition is obtained from the second terminal, and the sending unit is configured to: Receive a first video switching instruction sent by the second terminal, the first video switching instruction comprising an identity of the first terminal and a first video identity; According to the identity and the video identity, determine the first path video data; Switch the second path video data sent to the second terminal to the first path video data; The target distribution condition is that the first video switching instruction is received.

13. The apparatus of claim 12, wherein, The first video switching instruction is generated in response to a trigger operation of the user corresponding to the second terminal, or the first video switching instruction is generated when the attention degree of the user corresponding to the second terminal to the original video data meets a third preset condition.

14. The apparatus of claim 9, wherein, If the target distribution condition is obtained from the first terminal, the target distribution condition is that the closeness between the user corresponding to the first terminal and the user corresponding to the second terminal meets a fourth preset condition.

15. A method of video communication, characterized by The video communication method is applied to a video communication architecture that allows the first N channels to have the ability to upload video data to the server, and the server forwards the video data to each terminal. The user corresponding to the terminal with the ability to upload video data in the first N channels is a table user, and the remaining terminals only have the ability of downlink video data. The user corresponding to the remaining terminals is a table user. The video communication method is applied to the process of multi-person video communication, and the method comprises: Receiving first path video data sent by the server according to a target distribution condition; the imaging quality of the first path video data is higher than that of the second path video data; display the first video data by using a display window matched with the first video data; the display window for displaying the first video data is larger than a display window for displaying the second video data; The server is configured to: receive an uplink video data request for a first terminal, calculate whether a number of occupied uplink video data channels is less than a preset number, and if the number of occupied uplink video data channels is less than the preset number, send an uplink video data confirmation message to the first terminal, so that the first terminal starts collecting video data according to the uplink video data confirmation message and forwards the collected video data to all terminals in the conference through the server; the uplink video data request for the first terminal is sent by at least one of the following manners: sent by the first terminal, sent when the first terminal is invited to speak by other terminals; The server is further configured to: receive an uplink video data termination request for the first terminal, if it is confirmed that a user corresponding to the first terminal is a table user, send an uplink video data termination confirmation message to the first terminal, so that the first terminal notifies the audio and video engine of the first terminal to stop collecting and uploading video data after receiving the uplink video data termination confirmation message, and other terminals no longer receive video data sent by the first terminal.

16. The method of claim 15, wherein, Before the receiving server sends the first video data according to the target distribution condition, if the second video data is displayed, the method further comprises: sending a first video switching instruction to the server, the first video switching instruction comprising an identity of the first terminal and a first video identity; The method further comprises: switching the second video data to the first video data.

17. The method of claim 16, wherein, Before the second video data is switched to the first video data, the method further comprises: determining whether the first video data is consistent with video data represented by the first video identity; if not, re-sending the first video switching instruction to the server.

18. A video communication device, characterized by The video communication device adopts a video communication architecture allowing the first N channels to have the ability to upload video data to the server and be forwarded to each terminal through the server, the user corresponding to the terminal with the ability to upload video data in the first N channels being a table user, the remaining terminals only having the ability of downlink video data, the user corresponding to the remaining terminals being a table user, the video communication device being applied in a multi-person video communication process, and the device comprising a receiving unit and a display unit: The receiving unit is configured to receive first video data sent by a server according to a target distribution condition; The imaging quality of the first video data is higher than that of the second video data; The display unit is configured to display the first video data by using a display window matched with the first video data; The display window for displaying the first video data is larger than the display window for displaying the second video data. The server is configured to receive an uplink video data request for a first terminal, and determine whether a number of occupied uplink video data channels is less than a preset number. If the number of occupied uplink video data channels is less than the preset number, the server sends an uplink video data confirmation message to the first terminal, so that the first terminal starts collecting video data according to the uplink video data confirmation message, and forwards the collected video data to all terminals in the conference through the server; the uplink video data request for the first terminal is sent by at least one of the following manners: sent by the first terminal, sent by other terminals when inviting the first terminal to speak. The server is further configured to receive an uplink video data termination request for the first terminal, and if it is confirmed that a user corresponding to the first terminal is a table user, send an uplink video data termination confirmation message to the first terminal, so that the first terminal notifies the audio and video engine of the first terminal to stop collecting and uploading video data after receiving the uplink video data termination confirmation message, and other terminals no longer receive the video data sent by the first terminal.

19. The apparatus of claim 18, wherein, Before the receiving server sends the first video data according to the target issuing condition, if the second video data is displayed, the apparatus further comprises a sending unit: The sending unit is configured to send a first video switching instruction to the server, the first video switching instruction comprising an identity of the first terminal and a first video identity; The display unit is further configured to switch the second video data to the first video data.

20. The apparatus of claim 19, wherein, The apparatus further comprises a determining unit: The determining unit is configured to determine whether the first video data is consistent with the video data represented by the first video identity; If not, the sending unit is configured to resend the first video switching instruction to the server.

21. An apparatus, comprising: The device comprises a processor and a memory: The memory is configured to store program code and transmit the program code to the processor; The processor is configured to execute the method according to any one of claims 1-7 or 15-17 according to instructions in the program code.

22. A computer-readable storage medium, characterized in that, The computer readable storage medium is configured to store program code, and the program code is configured to execute the method according to any one of claims 1-7 or 15-17.

Citation Information

Patent Citations

  • Live video replaying method and apparatus

    CN108966008A

  • Device and method for displaying a video over a network

    US20170164024A1