WO2024120009A1 - 一种多媒体处理系统、多媒体处理方法及相关设备 - Google Patents

一种多媒体处理系统、多媒体处理方法及相关设备 Download PDF

Info

Publication number
WO2024120009A1
WO2024120009A1 PCT/CN2023/124244 CN2023124244W WO2024120009A1 WO 2024120009 A1 WO2024120009 A1 WO 2024120009A1 CN 2023124244 W CN2023124244 W CN 2023124244W WO 2024120009 A1 WO2024120009 A1 WO 2024120009A1
Authority
WO
WIPO (PCT)
Prior art keywords
video stream
video
terminal device
processing system
resolution
Prior art date
Application number
PCT/CN2023/124244
Other languages
English (en)
French (fr)
Inventor
王立杰
童春荣
廖涛
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202310084296.9A external-priority patent/CN118200625A/zh
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024120009A1 publication Critical patent/WO2024120009A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Definitions

  • the present application relates to the field of multimedia technology, and in particular to a multimedia processing system, a multimedia processing method and related equipment.
  • video software such as video cloud conferences and video live broadcasts can usually be deployed on the user's terminal device, so that the user can use the video software on the terminal device to generate a video and send the video to the terminal device of other users, thereby realizing video cloud conferences with other users or watching the live video content of other users.
  • the computing power of the terminal devices held by most users is usually low, and other software running on the terminal devices will also consume the computing power of the terminal devices, which makes the computing power allocated to the video software by the terminal devices usually less, thus affecting the video interaction experience between different users.
  • the resolution of the conference video viewed by user A on terminal device a can only reach 360P (progressive) at most, and the clarity of the video picture is low, resulting in a poor user experience when user A and user B conduct a video cloud conference.
  • the embodiment of the present application provides a multimedia processing system to improve the user experience of different users performing video interaction through terminal devices.
  • the present application also provides a corresponding multimedia processing method, a computing device cluster, a computer-readable storage medium, and a computer program product.
  • the embodiment of the present application provides a multimedia processing system, which communicates with multiple terminal devices, wherein the multiple terminal devices include a first terminal device and a second terminal device, and the first terminal device and the second terminal device are both connected to the same video application, so that different terminal devices can exchange video streams based on the video application to realize functions such as video live broadcast or video conferencing.
  • the multimedia processing system includes a forwarding device and an adaptation device. In actual application, the multimedia processing system may also include devices with more functions, such as a control device.
  • the forwarding device is used to receive a first video stream from a first terminal device, and the resolution of the first video stream is a first resolution; the adaptation device is used to generate a second video stream according to the first video stream, and the resolution of the second video stream is a second resolution, and the second resolution is greater than the first resolution, such as the second resolution is 1080P, and the first resolution is 720P resolution, etc.; the forwarding device is also used to send the second video stream to the second terminal device based on the request of the second terminal device for the video stream, so that when the video content is consistent, the second terminal device can obtain a video stream with a higher resolution.
  • the multimedia processing system can generate a second video stream with a higher resolution based on the first video stream sent by the first terminal device, and send it to the second terminal device.
  • This enables the second terminal device to obtain a second video stream with a higher resolution even when the computing power of the first terminal device is low. This can avoid the problem of the low resolution of the video stream received by the second terminal device due to the computing power limitation of the first terminal device, and further improve the user experience of video interaction between multiple users through terminal devices.
  • the multiple terminal devices also include a third terminal device and a fourth terminal device, and the forwarding device is also used to receive a third video stream from the third terminal device, and the resolution of the third video stream can be the same as or different from the resolution of the first video stream; the adaptation device is also used to perform video synthesis based on the first video stream and the third video stream to obtain a synthesized video stream; the forwarding device is also used to send the synthesized video stream to the fourth terminal.
  • the multimedia processing system can synthesize the video streams of multiple other terminal devices for the fourth terminal device, thereby getting rid of the computing power limitation of the fourth terminal device or the network transmission condition limitation for implementing the fourth terminal device.
  • the presentation of multiple images on the terminal device produces adverse effects.
  • the adaptation device when the adaptation device generates the second video stream, it specifically generates multiple video streams based on the first video stream of the first terminal device, the multiple video streams include the second video stream, and there are differences in resolution between different video streams in the multiple video streams.
  • the adaptation device can generate multiple video streams with different resolutions such as 360P, 720P, and 1080P based on the first video stream with a resolution of 180P. In this way, the multimedia processing system can meet the needs of different terminal devices for video streams with different resolutions of the first terminal device based on the multiple video streams with different resolutions.
  • the multimedia processing system further includes a control device, and the control device is used to receive a viewing request sent by the second terminal device for the first terminal device, the viewing request includes a resolution identifier, and the resolution identifier is used to indicate that the resolution of the video stream selected by the second terminal device is the second resolution; in this way, when the adaptation device generates the second video stream, it specifically obtains the resolution identifier, for example, the control device may send the resolution identifier to the adaptation device, etc., and when the first resolution does not match the resolution identifier, the adaptation device generates the second video stream according to the first video stream. In this way, the multimedia processing system can adaptively generate a video stream with a second resolution based on the second terminal device's requirements for the resolution of the video stream, thereby meeting the second terminal device's requirements for the video stream.
  • the video application accessed by the first terminal device and the second terminal device is a video conferencing application or a video live broadcast application.
  • a video conferencing application or a video live broadcast application.
  • different users can implement functions such as video conferencing or video live broadcast through the video applications on the first terminal device and the second terminal device.
  • the multimedia processing system further includes a control device, the control device is used to receive a first video stream synthesis request sent by the fourth terminal, the first video stream synthesis request includes an identifier of a target screen display mode, the number of multiple video streams involved in the synthesis, and the target screen display mode is used to indicate the display area of the multiple video streams on the video screen; then, when synthesizing the video stream, the adaptation device specifically receives a first control instruction from the control device, the first control instruction includes the number of multiple video streams involved in the synthesis, the screen display mode, and indication information of the synthesis operation, so as to perform video synthesis on the first video stream and the third video stream according to the first control instruction to obtain a synthesized video stream.
  • the control device is used to receive a first video stream synthesis request sent by the fourth terminal, the first video stream synthesis request includes an identifier of a target screen display mode, the number of multiple video streams involved in the synthesis, and the target screen display mode is used to indicate the display area of the multiple video streams on the video
  • the adaptation device can realize video synthesis of multiple video streams under the control of the control device, so that the fourth terminal obtains the synthesized video stream it needs, and gets rid of the computing power limitation of the fourth terminal device or the network transmission condition limitation, which has an adverse effect on the realization of multiple screens on the fourth terminal device.
  • the control device is also used to obtain a plurality of screen display modes before receiving the first video stream synthesis request, such as obtaining the plurality of screen display modes by reading a configuration file, etc., and the plurality of screen display modes include a target screen display mode.
  • the control device obtains custom information for the target screen display mode, such as the user can provide the custom information to the multimedia processing system, etc., and the custom information is used to indicate the display area of the user-defined multiple video streams on the video screen. In this way, the user can customize the target screen display mode.
  • the multimedia processing system further includes a control device, which is used to receive a second video stream synthesis request sent by the fourth terminal, the second video stream synthesis request includes instruction information of the synthesis operation, and key point coordinates, lengths, and widths corresponding to the display areas of the various video streams participating in the synthesis on the video screen; then, when synthesizing the video stream, the adaptation device specifically receives a second control instruction of the control device, the second control instruction includes key point coordinates, lengths, and widths corresponding to the display areas of the various video streams participating in the synthesis on the video screen, so that the adaptation device performs video synthesis on the first video stream and the third video stream according to the second control instruction to obtain a synthesized video stream.
  • a control device which is used to receive a second video stream synthesis request sent by the fourth terminal, the second video stream synthesis request includes instruction information of the synthesis operation, and key point coordinates, lengths, and widths corresponding to the display areas of the various video streams participating in the synthesis on the video screen; then
  • the adaptation device can realize video synthesis of multiple video streams under the control of the control device, so that the fourth terminal obtains the required synthesized video stream, and gets rid of the computing power limitation of the fourth terminal device or the network transmission condition limitation, which has an adverse effect on the realization of multiple screens on the fourth terminal device.
  • the multimedia processing system further includes a control device, the control device being used to determine multiple resolutions supported by the multimedia processing system, the multiple resolutions including the first resolution and the second resolution, so that the control device sends the multiple resolutions to the second terminal device.
  • the second terminal can know the multiple resolutions supported by the video stream it obtains, so as to subsequently specify one or more resolutions from the multiple resolutions to obtain the video stream of the resolution.
  • the present application provides a multimedia processing system, which includes a forwarding device and an adapting device.
  • the multimedia processing system communicates with a second terminal and multiple terminal devices.
  • the forwarding device is used to receive multiple video streams from multiple first terminal devices.
  • the adapting device is used to synthesize the multiple video streams to obtain a synthesized video stream.
  • the forwarding device is also used to send the synthesized video stream to the second terminal based on the request of the second terminal device for the synthesized video stream.
  • the multimedia processing system The system can synthesize the video streams of multiple other terminal devices for the second terminal device, thereby getting rid of the computing power limitation of the second terminal device or the network transmission condition limitation that has an adverse effect on the realization of presenting multiple pictures on the second terminal device.
  • the present application provides a multimedia processing method, which is applied to a multimedia processing system, which communicates with multiple terminal devices, including a first terminal device and a second terminal device, and the method includes: the multimedia processing system receives a first video stream from a first terminal device, and the resolution of the first video stream is a first resolution; the multimedia processing system generates a second video stream based on the first video stream, and the resolution of the second video stream is a second resolution, which is greater than the first resolution; the multimedia processing system sends the second video stream to the second terminal device based on a request for the video stream by the second terminal device, and both the first terminal device and the second terminal device are connected to the same video application.
  • the multiple terminal devices also include a third terminal device and a fourth terminal device
  • the method also includes: the multimedia processing system receives a third video stream from the third terminal device; the multimedia processing system performs video synthesis based on the first video stream and the third video stream to obtain a synthesized video stream; and the multimedia processing system sends the synthesized video stream to the fourth terminal.
  • the multimedia processing system generates a second video stream based on the first video stream, including: the multimedia processing system generates multiple video streams based on the first video stream, the multiple video streams include the second video stream, and there are differences in resolution between different video streams in the multiple video streams.
  • the method also includes: the multimedia processing system receives a viewing request sent by the second terminal device for the first terminal device, the viewing request includes a resolution identifier, and the resolution identifier is used to indicate that the resolution of the video stream selected by the second terminal device is a second resolution; the multimedia processing system generates a second video stream based on the first video stream, including: the multimedia processing system obtains the resolution identifier, and when the first resolution does not match the resolution identifier, generates the second video stream based on the first video stream.
  • the video application is a video conferencing application or a video live broadcast application.
  • the method also includes: the multimedia processing system receives a first video stream synthesis request sent by the fourth terminal, the first video stream synthesis request includes an identifier of a target screen display mode and the number of multiple video streams participating in the synthesis, and the target screen display mode is used to indicate the display area of the multiple video streams on the video screen; the multimedia processing system performs video synthesis according to the first video stream and the third video stream to obtain a synthesized video stream, including: the multimedia processing system obtains a first control instruction, the first control instruction includes the number of multiple video streams participating in the synthesis, the screen display mode and indication information of the synthesis operation; the multimedia processing system performs video synthesis on the first video stream and the third video stream according to the first control instruction to obtain a synthesized video stream.
  • the method further includes: before receiving the first video stream synthesis request, the multimedia processing system obtains a plurality of screen display modes, the plurality of screen display modes including a target screen display mode; or, before receiving the first video stream synthesis request, the multimedia processing system obtains custom information for the target screen display mode, the custom information being used to indicate a display area of a plurality of user-defined video streams on the video screen.
  • the method also includes: the multimedia processing system receives a second video stream synthesis request sent by the fourth terminal, the second video stream synthesis request includes instruction information of the synthesis operation, and key point coordinates, length, and width corresponding to the display area of each video stream participating in the synthesis on the video screen; the multimedia processing system performs video synthesis according to the first video stream and the third video stream to obtain a synthesized video stream, including: the multimedia processing system obtains a second control instruction, the second control instruction includes the key point coordinates, length, and width corresponding to the display area of each video stream participating in the synthesis on the video screen; the multimedia processing system performs video synthesis on the first video stream and the third video stream according to the second control instruction to obtain a synthesized video stream.
  • the method further includes: the multimedia processing system determines multiple resolutions supported by the multimedia processing system, the multiple resolutions include a first resolution and a second resolution; and the multimedia processing system sends the multiple resolutions to the second terminal device.
  • the multimedia processing method provided in the third aspect corresponds to the multimedia processing system provided in the first aspect. Therefore, the technical effects of the third aspect and any implementation method of the third aspect can refer to the technical effects of the first aspect or the corresponding implementation method of the first aspect.
  • the present application provides a multimedia processing method, which is applied to a multimedia processing system, which communicates with a second terminal and multiple terminal devices; the method includes: the multimedia processing system receives multiple video streams, and the multiple video streams come from multiple first terminal devices; the multimedia processing system synthesizes the multiple video streams to obtain a synthesized video stream; the multimedia processing system sends the synthesized video stream to the second terminal based on a request for the synthesized video stream by the second terminal device.
  • the multimedia processing method provided in the fourth aspect corresponds to the multimedia processing system provided in the second aspect, so the technical effects of the implementation of the fourth aspect can refer to the technical effects of the corresponding implementation of the second aspect.
  • the present application provides a computing device cluster, wherein the computing device includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory; the at least one memory is used to store instructions, and the at least one processor executes the instructions stored in the at least one memory, so that the computing device cluster executes the data processing method in the third aspect or any possible implementation of the third aspect, or executes the data processing method in the fourth aspect or any possible implementation of the fourth aspect.
  • the memory can be integrated into the processor or can be independent of the processor.
  • the at least one computing device may also include a bus.
  • the processor is connected to the memory via a bus.
  • the memory may include a readable memory and a random access memory.
  • the present application provides a computer-readable storage medium, which stores instructions.
  • the computer-readable storage medium is executed on at least one computing device, the at least one computing device executes the method described in the third aspect or any one of the implementations of the third aspect, or executes the data processing method in the fourth aspect or any one of the possible implementations of the fourth aspect.
  • the present application provides a computer program product comprising instructions, which, when executed on at least one computing device, enables the at least one computing device to execute the method described in the third aspect or any one of the implementations of the third aspect, or to execute the data processing method in the fourth aspect or any one of the possible implementations of the fourth aspect.
  • FIG1 is a schematic diagram of the structure of a multimedia processing system
  • FIG2 is a schematic diagram of the structure of an exemplary multimedia processing system provided by the present application.
  • FIG3 is a schematic diagram of a flow chart of a multimedia processing method provided by the present application.
  • FIG4 is a schematic diagram of an exemplary interactive interface provided by the present application.
  • FIG5 is a schematic diagram of a composite picture generated based on three video streams
  • FIG6 is a flow chart of another multimedia processing method provided by the present application.
  • FIG7a is a schematic diagram of an exemplary screen display mode for two video streams provided by the present application.
  • FIG7b is a schematic diagram of an exemplary screen display mode for four video streams provided by the present application.
  • FIG8 is a schematic diagram of the structure of a computing device provided by the present application.
  • FIG. 9 is a schematic diagram of the structure of a computing device cluster provided in the present application.
  • the multimedia processing system 100 includes a control device 101 and a forwarding device 102, wherein the control device 101 and the forwarding device 102 can be connected to each other through a wired or wireless network.
  • the multimedia processing system 100 can be connected to multiple terminal devices.
  • Figure 1 takes the connection of terminal device 1, terminal device 2, terminal device 3 and terminal device 4 as an example for explanation.
  • the number of terminal devices connected to the multimedia processing system 100 can be any number and there is no limitation on this.
  • terminal device 2, terminal device 3, and terminal device 4 may have the need to obtain the video generated by terminal device 1 (in order to present the video content of terminal device 1 to the corresponding user), and different terminal devices may require obtaining videos of different resolutions generated by terminal device 1, as shown in Figure 1.
  • terminal devices 1 to 4 can all access the same video application, such as a video conferencing application or a live video broadcasting application, and different terminal devices accessing the same video application can exchange video streams.
  • Terminal device 2 requests a 1080P resolution video stream from control device 101
  • terminal device 3 requests a 1080P resolution video stream from control device 101.
  • the device 101 requests the video stream 2 with a resolution of 720P, and the terminal device 4 requests the video stream 3 with a resolution of 360P from the control device 101. If the computing power of the terminal device 1 is sufficient, the terminal device 1 will send the real-time generated video stream 1, video stream 2 and video stream 3 to the multimedia processing system 100, and the forwarding device 102 in the multimedia processing system 100 can forward the video stream 1, video stream 2 and video stream 3 to the corresponding terminal device 2, terminal device 3 and terminal device 4 respectively under the control of the control device 101.
  • the computing power of the terminal device 1 is usually limited, and other software running on the terminal device 1 will also consume the computing power of the terminal device 1, which makes it difficult for the terminal device 1 to simultaneously generate multiple video streams with different resolutions.
  • the current computing power of the terminal device 1 can only support the simultaneous generation of a video stream 2 with a 720P resolution and a video stream 3 with a 360P resolution, but cannot simultaneously generate a video stream 1 with a 1080P resolution, which makes it difficult for the terminal device 2 to obtain a video stream 1 with a 1080P resolution, or the terminal device 2 can only obtain a video stream 2 with a 720P resolution from the forwarding device 102 at most, which cannot meet the terminal device 2's demand for a video stream with a 1080P resolution.
  • the bandwidth allocated when establishing a communication connection between the terminal device 1 and the multimedia processing system 100 is usually limited, or problems such as packet loss, high latency, and increased jitter are prone to occur during network transmission, which also makes it difficult for the terminal device 1 to simultaneously send a video stream 1 with a 1080P resolution, a video stream 2 with a 720P resolution, and a video stream 3 with a 360P resolution to the multimedia processing system 100.
  • the present application provides a new multimedia processing system, as shown in Figure 2.
  • an adapter device 103 is newly added to the multimedia processing system 200 shown in Figure 2, and the control device 101, the forwarding device 102 and the adapter device 103 can be communicated and connected through a wired or wireless network.
  • terminal device 1 can generate and send a 720P resolution original video stream to the multimedia processing system 200 based on its own computing power or the network transmission conditions between it and the multimedia processing system 200.
  • the forwarding device 102 in the multimedia processing device 200 may provide it to the adapting device 103.
  • the control device 101 may issue a control instruction to the adapting device 103 to transcode the original video stream based on the resolution requirements of the terminal devices 2 to 4 for the video stream.
  • the adapting device 103 under the control of the control device 101, generates a video stream 1 with a resolution of 1080P and a video stream 3 with a resolution of 360P according to the original video stream with a resolution of 720P, and uses the original video stream as the video stream 2, and then provides the video stream 1 and the video stream 3 to the forwarding device 102.
  • the control device 101 may control the forwarding device 102 to forward the multiple video streams, so that the forwarding device 102, under the control of the control device 101, forwards the video stream 1 to the terminal device 2, forwards the video stream 2 to the terminal device 3, and forwards the video stream 3 to the terminal device 4, so that the terminal devices 2 to the terminal devices 4 respectively obtain the video streams they need.
  • the multimedia processing system 200 can generate video streams of other resolutions according to the original video stream sent by the terminal device 1, including a video stream 1 with a larger resolution and a video stream 2 with a smaller resolution, and send them to the corresponding terminal devices respectively, this enables other terminal devices to obtain video streams of other resolution sizes when the computing power of the terminal device 1 is low, thereby improving the user experience of multiple users interacting with the video through the terminal devices. For example, by converting the resolution of the video stream, the multimedia processing system 200 can get rid of the problem of low resolution of the video stream received by other terminal devices due to the computing power limitation of the terminal device, so that other users can watch videos with higher definition.
  • the multimedia processing system 200 can meet the needs of the terminal device 2 through video transcoding.
  • the terminal device 1 can only transmit a small number of video streams with lower resolutions (such as a video stream with a resolution of 360P, etc.), and can also provide the required video streams to one or more other terminal devices, thereby avoiding as much as possible the adverse effects of the network transmission conditions between the terminal device 1 and the multimedia processing system 200 on the user experience of video interaction between multiple users.
  • the multimedia processing system 200 can be deployed in the cloud to provide cloud services for processing video streams for multiple different terminal devices.
  • the control device 101, forwarding device 102 and adaptation device 103 in the multimedia processing system 200 can be implemented by a computing device or a computing device cluster in the cloud respectively; the control device 101, forwarding device 102 and adaptation device 103 can also be deployed on the same computing device, or deployed in the same computing device cluster.
  • the multimedia processing system 200 can be deployed locally, so as to be able to provide services for multiple different terminal devices. Provides local services for processing video streams.
  • control device 101 the forwarding device 102 and the adaptation device 103 in the multimedia processing system 200 can be implemented by software or hardware respectively.
  • the adapter 103 may include code running on a computing instance.
  • the computing instance may include at least one of a host, a virtual machine, a container, a thread, and a process.
  • the above-mentioned computing instance may be one or more.
  • the adapter 103 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region) or in different regions.
  • the multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.
  • VPC virtual private cloud
  • multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs.
  • VPC virtual private cloud
  • a VPC is set up in a region.
  • a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
  • the adapter 103 may include at least one computing device, such as a cloud server, etc.
  • the adapter 103 may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • the PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), or any combination thereof.
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • GAL generic array logic
  • DPU data processing unit
  • the multiple computing devices may be distributed in the same region or in different regions.
  • the multiple computing devices included in the adapter 103 may be distributed in the same AZ or in different AZs.
  • the multiple computing devices included in the adapter 103 may be distributed in the same VPC or in multiple VPCs.
  • the multiple computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • the forwarding device 102 and the computing device 101 can both be codes running on a computing instance; when implemented by hardware, the forwarding device 102 and the computing device 101 can both include one or more computing devices.
  • the multimedia processing system 200 shown in FIG. 2 is only used as an exemplary description. In actual application, the multimedia processing system 200 may also have other implementations.
  • the multimedia processing system 200 may include more functional modules to support the multimedia processing system 200 to have other functions; or the control device 101 and the forwarding device 102 may be integrated into one device, that is, the integrated device has both the control function and the function of forwarding the video stream, or the control device 101 and the adapter device 103 may be integrated into one device, etc., and this is not limited.
  • FIG3 is a flowchart of a multimedia processing method in an embodiment of the present application.
  • the method can be applied to the multimedia processing system 200 shown in FIG2 , or can also be applied to other applicable application scenarios.
  • the following uses the multimedia processing system 200 shown in FIG2 as an example to introduce the process of converting the video stream sent by the terminal device 1 into the video stream required by the terminal device 2.
  • the multimedia processing method shown in FIG3 may specifically include:
  • the forwarding device 102 receives a first video stream from the terminal device 1, where the resolution of the first video stream is a first resolution.
  • terminal device 1 and terminal device 2 can be pre-connected to the same video application, such as a video conferencing application or a video live broadcast application, so that the two terminal devices can exchange video streams based on the video application.
  • terminal device 1 can generate a first video stream, such as generating a first video stream based on a video application, etc.
  • the first video stream can be a conference video stream obtained by real-time shooting of user 1 (to which terminal device 1 belongs) in a video cloud conferencing scenario, or can be a live video stream obtained by real-time shooting of a live user or live scene in a video live broadcast scenario.
  • the terminal device 1 when user 1 uses the terminal device 1 for a video cloud conference or a live video broadcast, the terminal device 1 can shoot user 1, for example, using a camera or other shooting device to shoot, so as to generate a first video stream.
  • the terminal device 1 can select a first resolution that meets the available computing power or available bandwidth according to the currently available computing power or the currently available bandwidth of the terminal device 1, such as selecting a 720P resolution, and generate a first video stream with a resolution of the first resolution. Then, the terminal device 1 can send the first video stream to the multimedia processing system 200, so that the multimedia processing system 200 can subsequently provide the required video stream to other terminal devices based on the first video stream.
  • the terminal device 1 when the terminal device 1 sends the first video stream to the multimedia processing system 200, it can also send the unique identifier of the terminal device 1 (that is, the identifier of the source device) and the relevant information of the first video stream.
  • the relevant information of the first video stream can be, for example, the payload type (PT) corresponding to the first video stream, the synchronous source (SSRC) identifier, the identifier of the first video stream, and other information.
  • a receiving node can be created in the forwarding device 102.
  • the receiving node can be implemented by a thread, a process, etc., so that the forwarding device 102 can receive the first video stream (as well as the unique identifier of the terminal device 1 and related information of the first video stream) sent by the terminal device 1 through the receiving node, and save the first video stream in the forwarding device 102.
  • the forwarding device 102 may be configured with an interface 1, and the control device 101 may call the interface 1 in advance to create a receiving node in the forwarding device 102 for receiving the first video stream of the terminal device 1.
  • the interface parameters of the control device 101 calling the interface 1 may include a source device identifier, that is, an identifier of the terminal device 1 (which may be assigned by the control device 101 when the terminal device 1 enters the cloud conference).
  • the interface parameters may also include the local Internet Protocol (IP) address, port number, adopted network transmission protocol, and related information of the video stream for the forwarding device 102 to receive the first video stream.
  • IP Internet Protocol
  • the adopted network transmission protocol may be, for example, a User Datagram Protocol (UDP), a Transmission Control Protocol (TCP), and the like.
  • the forwarding device 102 provides the first video stream to the adapting device 103.
  • the forwarding device 102 may provide the first video stream to the adapting device 103 based on a wired connection or a wireless connection between the forwarding device 102 and the adapting device 103 .
  • the control device 101 sends a control instruction to the adaptation device 103 , where the control instruction is used to instruct the adaptation device 103 to convert the first video stream sent by the terminal device 1 .
  • the adaptation device 103 generates a second video stream based on the control instruction and the first video stream.
  • the resolution of the second video stream is a second resolution, which is greater than the first resolution.
  • the resolution of the video stream required by the terminal device 2 is relatively large (i.e., the second resolution), but the computing power or network transmission conditions of the terminal device 1 are limited, and it is difficult to provide a high-resolution video stream. Therefore, the adaptation device 103 can generate a second video stream with a higher resolution based on the first video stream with a lower resolution under the control of the control device 101.
  • the adapter 103 can perform pre-decoding processing on the multiple data packets, such as performing integrity detection on the first video stream, sorting and assembling the video stream segments carried in the multiple data packets, etc. Then, the adapter 103 can decode the data obtained after the pre-decoding processing, and can obtain a data stream in YUV format (a color encoding format) or other formats. Then, the adapter 103 can scale the decoded data stream accordingly according to the second resolution, so that the adapter 103 can obtain the second video stream of the second resolution by encoding the scaled data stream.
  • pre-decoding processing such as performing integrity detection on the first video stream, sorting and assembling the video stream segments carried in the multiple data packets, etc. Then, the adapter 103 can decode the data obtained after the pre-decoding processing, and can obtain a data stream in YUV format (a color encoding format) or other formats. Then, the adapter 103 can scale the decoded data stream accordingly according to the second resolution, so that the
  • control device 101 may control the adaptation device 103 to generate the second video stream based on the following two implementation modes.
  • the control device 101 may control the adaptation device 103 to convert the resolution of the video stream based on the requirements of other terminal devices for the video stream.
  • the terminal device 2 may send a selection request for the terminal device 1 to the control device 101 to request the control device 101 for the video stream belonging to the terminal device 1.
  • the selection request may carry a resolution identifier, which is used to indicate the resolution size of the video stream selected by the terminal device 2, for example, it may indicate that the resolution of the video stream selected by the terminal device 2 is the above-mentioned second resolution, etc.
  • the selection request may also carry an identifier of the terminal device 1, which is used to indicate a request to obtain the video stream belonging to the terminal device 1.
  • the control device 101 may determine the resolution of the first video stream, and determine whether the resolution of the first video stream matches the resolution identifier in the selection request, specifically, it may determine whether the resolution size of the first video stream is consistent with the resolution size indicated by the resolution identifier. If they are consistent, the resolution of the first video stream matches the resolution identifier in the selection request; otherwise, they do not match.
  • the control device 101 may generate a control instruction including the resolution identifier and send the control instruction to the appropriate
  • the adapting device 103 is configured to control the adapting device 103 to generate a second video stream of a second resolution based on the control instruction.
  • the adapting device 103 may be configured with an interface I, and the control device 101 may send a control instruction to the adapting device 103 by calling the interface I to create a video stream scaling task (i.e., a task of generating a video stream of another resolution) in the adapting device 103.
  • the calling parameters of calling the interface I may include the identifier, encoding protocol, and resolution of the first video stream, and the identifier, encoding protocol, and resolution of the second video stream.
  • control device 101 can directly control the forwarding device 102 to send the first video stream to the terminal device 2 .
  • the control device 101 actively controls the adaptation device 103 to generate multiple video streams with different resolutions. Specifically, when the forwarding device 102 receives the first video stream, the control device 101 can determine the resolution of the first video stream, and generate a control instruction according to the resolution of the first video stream, the control instruction includes multiple resolution identifiers, and the multiple resolution identifiers are not used to indicate the first resolution; then, the control device 101 can send the control instruction to the adaptation device 103.
  • the adaptation device 103 generates a video stream with a corresponding resolution according to the identifiers of each resolution carried in the control instruction, thereby obtaining multiple video streams with different resolutions (including the above-mentioned second resolution video stream). In this way, when the terminal device 2 requests a video stream of any resolution, the multimedia processing system 200 can find a video stream with a corresponding resolution from multiple video streams and provide it to the terminal device 2.
  • the control device 101 can control the adaptation device 103 to generate video streams with 1080P resolution, 360P resolution, 180P resolution, and 90P resolution respectively according to the first video stream, so that the multimedia processing system 200 has multiple video streams with resolutions of 1080P, 720P, 360P, 180P, and 90P at the same time.
  • the multimedia processing system 200 can provide the video stream with a resolution of 1080P among the multiple video streams to the terminal device 2; and when the terminal device 2 requests a video stream with a resolution of 180P, the multimedia processing system 200 can provide the video stream with a resolution of 180P among the multiple video streams to the terminal device 2.
  • the control device 101 can determine to provide the terminal device 2 with multiple supported resolutions, such as the above-mentioned 1080P, 720P, 360P, 180P, 90P and other resolutions, so that the control device 101 can send multiple resolutions to the terminal device 2 for the user 2 to select the multiple resolutions.
  • the control device 101 can present the interactive interface shown in FIG4 to the user 2 through the terminal device 2, and the candidate items of the multiple resolutions can be presented on the interactive interface, such as 1080P, 720P, 360P, 180P, 90P in FIG4, so that the user 2 can select one of the resolutions on the interactive interface, such as selecting 1080P resolution, so that the multimedia processing system 200 provides the terminal device 2 with a video stream of the resolution.
  • the user's selectability of the resolution of the video stream can be improved, so as to further improve the user experience of the user watching the video.
  • the terminal device 1 may also report to the control device 101 one or more resolutions of the video streams it supports generating based on its own computing power or network transmission conditions, so that when the control device 101 determines that the terminal device 2 selects a resolution that the terminal device 1 does not support, the control device 101 may determine to generate a second video stream that meets the resolution required by the terminal device 2 based on the first video stream sent by the terminal device 1. For example, the terminal device 1 may report to the control device 101 that it supports generating video streams with resolutions of 360P, 180P, and 90P.
  • the control device 101 may instruct the terminal device 1 to upload a first video stream with a resolution of 360P, and control the adaptation device 103 to convert the first video stream with a resolution of 360P to obtain a second video stream with a resolution of 1080P, so that the second video stream can be subsequently sent to the terminal device 2. Since the computing power or network transmission conditions of the terminal device 1 may change dynamically during operation, the terminal device 1 can dynamically adjust the resolution of the video stream it supports and reports to the control device 101 based on its own computing power or network transmission conditions.
  • control device 101 may be configured with an interface A, and the terminal device 1 may report its coding capability information to the control device 101 through the interface A.
  • the coding capability information specifically includes a coding protocol, one or more resolutions supported for coding, and a network bandwidth corresponding to each resolution.
  • the coding capability information reported by the terminal device 1 through the interface A includes:
  • H.264 protocol coding protocol, a highly compressed digital video codec standard
  • control device 101 may also control the adaptation device 103 to generate video streams with different resolutions based on other methods, and this is not limited.
  • the adaptation device 103 provides the second video stream to the forwarding device 102 .
  • the control device 101 sends a forwarding instruction for the second video stream to the forwarding device 102.
  • the control device 101 may generate the forwarding instruction based on the request sent by the terminal device 2 for obtaining the video stream of the terminal device 1 .
  • the forwarding device 102 forwards the second video stream to the terminal device 2 based on the forwarding instruction.
  • the terminal device 2 and the terminal device 1 are both connected to the same video application.
  • the forwarding device 102 Before sending the second video stream, the forwarding device 102 can create a sending node, which can be implemented by threads, processes, etc., so that the forwarding device 102 can send data to the terminal device 2 through the sending node. Specifically, the sending node first encodes and processes the second video stream to obtain multiple data packets. For example, the forwarding device 102 can first cut the second video stream into multiple video stream segments, and generate a data packet based on each video stream segment, so as to obtain multiple data packets carrying the second video stream.
  • the sending node can send multiple data packets corresponding to the second video stream to the terminal device 2 based on the downstream information carried in the forwarding instruction, such as the IP address of the terminal device 2, so as to meet the terminal device 2's demand for obtaining a video stream with a second resolution.
  • the multimedia processing system 200 can generate a second video stream with a higher resolution based on the first video stream sent by the terminal device 1 and send it to the terminal device 2, even if the computing power of the terminal device 1 is low or the network transmission conditions are limited, the terminal device 2 can obtain a video stream with a higher resolution due to the transcoding of the video stream by the multimedia processing system 200, thereby improving the clarity of the video watched by the user 2 on the terminal device 2, and thus improving the user experience of the video interaction between the user 1 and the user 2 through the terminal devices.
  • the forwarding device 102 may be configured with an interface 2, and the control device 101 may pre-call the interface 2 to create a sending node in the forwarding device 102 for sending the second video stream to the terminal device 2.
  • the interface parameters of the control device 101 calling the interface 2 may include the destination device identifier, that is, the identifier of the terminal device 2 (which may be assigned by the control device 101 when the terminal device 2 enters the cloud conference).
  • the interface parameters may also include the local IP address, port number, network transmission protocol used by the forwarding device 102 to send the second video stream, and related information of the video stream.
  • the forwarding device 102 can also establish a routing relationship for the receiving node and the sending node according to the flow of the video stream between the receiving node and the sending node. Specifically, after the receiving node receives the first video stream, the forwarding device 102 can record the source stream identifier of the first video stream, such as the IP address of the terminal device 1, the media access control (MAC) address, etc., and the source stream identifier is used to identify the source end of the video stream. After the sending node sends the second video stream, the forwarding device 102 can record the destination stream identifier of the second video stream, such as the IP address or MAC address of the terminal device 2, etc., to identify the destination end of the video stream.
  • the source stream identifier of the first video stream such as the IP address of the terminal device 1, the media access control (MAC) address, etc.
  • the forwarding device 102 can record the destination stream identifier of the second video stream, such as the IP address or MAC address of the terminal device 2, etc., to identify the destination
  • the forwarding device 102 can establish a routing relationship for the receiving node and the sending node based on the source stream identifier and the destination stream identifier and save the routing relationship. In this way, the forwarding device 102 can use the receiving node to receive a new video stream with the same source stream identifier, and the forwarding device 102 can select the corresponding sending node to send the video stream externally by searching the routing relationship according to the destination stream identifier of the new video stream (resolution changes) generated based on the video stream. Furthermore, the forwarding device 102 may create a plurality of different receiving nodes to respectively receive video streams sent by different terminal devices; the forwarding device 102 may create a plurality of different sending nodes to respectively send video streams to different terminal devices.
  • a routing relationship may be established between different receiving nodes and different sending nodes based on the source stream identifier and the destination stream identifier of the video stream before and after the resolution conversion.
  • the routing relationship may be represented by a data structure such as a map, a linked list, an array, etc., and the routing relationship is stored in the forwarding device 102.
  • the forwarding device 102 may be configured with an interface 3, and after the forwarding device 102 completes the transmission and reception of the video stream using the receiving node and the sending node, the control device 101 may call the interface 3 to establish a routing relationship for the receiving node and the sending node in the forwarding device 102.
  • the interface parameters of the control device 101 calling the interface 3 may include a source stream identifier and a destination stream identifier. Further, the interface parameters may also include a source device identifier and a destination device identifier.
  • control device 101 can also cancel the routing relationship established in the forwarding device 102.
  • the forwarding device 102 can be configured with an interface 4, and when the terminal device 2 stops requesting the video stream of the terminal device 1, the control device 101 can call the interface 4 to cancel the routing relationship between the receiving node receiving the first video stream and the sending node sending the second video stream.
  • the interface parameters for calling the interface 4 can include the destination stream identifier.
  • the interface parameters for calling the interface 4 can also include the source stream identifier.
  • control device 101 can also delete the receiving node and the sending node in the forwarding device 102.
  • the forwarding device 102 can be configured with an interface 5, and when the terminal device 1 or the terminal device 2 is disconnected from the multimedia processing system 200, such as when the terminal device 1 or the terminal device 2 exits the cloud conference, the control device 101 can call the interface 5 to delete the receiving node that receives the first video stream of the terminal device 1, or delete the sending node that sends the second video stream to the terminal device 2.
  • the interface parameters for calling the interface 5 may include a source stream identifier, a destination stream identifier, or include a source device identifier, a destination device identifier, etc. Accordingly, based on the receiving node The routing relationship established by the sending node can also be deleted.
  • interfaces 1 to 5 can be 5 independent interfaces; or, some or all of interfaces 1 to 5 can be merged, such as interface 3 and interface 4 can be merged into one interface, etc. (the multiple interfaces mentioned in this application can be merged or independent of each other), and there is no limitation on this.
  • the terminal device 2 can request only the video stream of one terminal device (i.e., the terminal device 1) from the multimedia processing system 200, and present the corresponding video content based on the video stream.
  • the terminal device 2 can also request the video streams of multiple terminal devices (including the first video stream of the terminal device 1) from the multimedia processing system 200 at the same time, such as requesting the video streams of the terminal device 1, the terminal device 3, and the terminal device 4 at the same time, and the resolution of the video streams of each requested terminal device can be the same (such as the second resolution) or different.
  • the multimedia processing system 200 can convert the respective video streams sent by the multiple terminal devices into a video stream whose resolution meets the requirements of the terminal device 2 based on the above-mentioned similar method.
  • the terminal device 2 can perform video synthesis on the multiple video streams based on the multi-screen synthesis technology to obtain the synthesized video stream, and display the synthesized picture based on the synthesized video stream on the terminal device 2.
  • the terminal device 2 can generate a synthesized picture as shown in Figure 5 based on the multiple video streams belonging to the terminal device 1, the terminal device 3, and the terminal device 4.
  • the video streams belonging to different terminal devices have different display areas on the video screen, so that the contents of multiple video streams can be presented simultaneously on the same video screen.
  • multimedia processing system 200 can convert the video stream of the first resolution into a video stream whose resolution meets the requirements of terminal device 3 or terminal device 4 based on a similar method as described above.
  • multimedia processing system 200 can also transcode the video stream provided by terminal device 2 to terminal device 1 into a video stream whose resolution meets the requirements of terminal device 1 based on a similar method as described above.
  • the multimedia processing system 200 can generate video streams of different resolutions based on the first video stream provided by terminal device 1, and provide the generated multiple video streams to different terminal devices respectively.
  • terminal device 1 when multiple terminal devices simultaneously request video streams of different resolutions of terminal device 1 from the multimedia processing system 200, if the resolution of the video streams requested by some terminal devices is relatively low, for example, terminal device a among multiple terminal devices requests a video stream with a resolution of 180P, terminal device b requests a video stream with a resolution of 360P, and terminal device c among multiple terminal devices requests a video stream with a resolution of 1080P. Then, terminal device 1 can generate multiple video streams with smaller resolutions based on its own computing power or network transmission conditions, such as generating a video stream with a resolution of 180P and a video stream with a resolution of 360P, and provide the multiple video streams with smaller resolutions to the multimedia processing system 200.
  • the multimedia processing system 200 can forward the video stream with a resolution of 180P to terminal device a, and forward the video stream with a resolution of 360P to terminal device b. Because terminal device 1 does not provide a 1080P resolution video stream, the multimedia processing system 200 can generate a 1080P resolution video stream for terminal device c based on a 180P resolution video stream or a 360P resolution video stream based on a similar implementation method as described above, and send the 1080P resolution video stream to terminal device c.
  • the multimedia processing system 200 can give priority to a 180P resolution video stream to generate a 90P resolution video stream, thereby minimizing the resources consumed by the multimedia processing system 200 to generate a 90P resolution video stream.
  • the process of terminal device 2 requesting a video stream of a terminal device (that is, terminal device 1) from the multimedia processing system 200 is mainly introduced.
  • terminal device 1 that is, terminal device 1
  • the computing power on the terminal devices that receive the video streams is also limited, or the network transmission conditions when the terminal devices receive the video streams are limited, in another possible manner, the synthesis process of multiple video streams of some terminal devices can be migrated to the multimedia processing system 200, so as to get rid of the computing power or network transmission conditions of the terminal devices, which have an adverse effect on the realization of multi-screen presentation on the terminal device.
  • the method may specifically include:
  • the forwarding device 102 receives a first video stream from a terminal device 1 and a third video stream from a terminal device 3, wherein a resolution of the first video stream is a first resolution, and a resolution of the third video stream is a second resolution.
  • a virtual room can be created in advance by terminal device 4 (or other terminal devices).
  • the virtual room refers to a virtual network space created based on the simulation of a real room.
  • the virtual network space can allow multiple accounts to be online at the same time.
  • Each account can be created in the virtual network space and corresponds to a terminal device.
  • terminal device 1, terminal device 3, and terminal device 4 all join the created virtual room.
  • terminal device 1 and terminal device 3 respectively send their own generated video streams to the multimedia processing system 200.
  • terminal device 4 may send a viewing request to control device 101, the viewing request including video streams of multiple terminal devices, to request control device 101 to obtain video streams of multiple terminal devices specified by the viewing request.
  • Control device 101 responds to the viewing request and instructs terminal device 1 and terminal device 3 to provide video streams.
  • control device 101 may be configured with an interface B, and the terminal device 4 may specify the video streams of multiple terminal devices to the control device 101 through the interface B.
  • the interface parameters of the interface B may include the identifiers corresponding to the multiple terminal devices providing the video streams, and the identifiers corresponding to the multiple video streams.
  • the interface parameters may also include the encoding protocol, the resolution of each video stream, etc.
  • the information provided by the terminal device 4 to the control device 101 through the interface B may include:
  • Terminal device 1 identification source stream identification 1, H.264 protocol, 720P resolution;
  • Terminal device 3 identification source stream identification 2, H.264 protocol, 1080P resolution.
  • the resolution of the video stream sent by terminal device 1 is a first resolution (such as 720P), and the resolution of the video stream sent by terminal device 3 is a second resolution (such as 1080P), and the second resolution may be greater than the first resolution.
  • the resolutions of the video streams sent by terminal device 1 and terminal device 3 may be the same, or the resolution of the video stream sent by terminal device 1 may be greater than the resolution of the video stream sent by terminal device 3, and this is not limited.
  • the resolution of the video stream sent by each terminal device may be determined by user 4 to which terminal device 4 belongs.
  • the terminal device 1 and the terminal device 3 can report the resolutions of the encodings they support to the control device 101, such as the resolutions of the encodings reported by the terminal device 1 include: 1080P, 720P, 360P, 180P and 90P, and the resolutions of the encodings supported by the terminal device 3 include 360P, 180P and 90P, etc. Then, the control device 101 can provide the resolutions of the encodings supported by the terminal device 1 and the terminal device 3 to the terminal device 4, so that the terminal device 4 can present them to the user.
  • the terminal device 4 can feedback to the control device 101 the video stream with the first resolution provided by the terminal device 1 and the video stream with the second resolution provided by the terminal device 3 based on the selection operation performed by the user on the resolution of the video stream provided by each terminal device 2.
  • the control device 101 can instruct the terminal device 1 and the terminal device 3 to send the above-mentioned first video stream and third video stream respectively.
  • the forwarding device 102 provides the first video stream and the third video stream to the adapting device 103 .
  • the control device 101 receives a video stream synthesis request sent by the terminal device 4 , where the video stream synthesis request is used to request the multimedia processing system 200 to execute a process of synthesizing video streams for the terminal device 4 .
  • control device 101 may determine to perform video synthesis on the video streams of other multiple terminal devices added to the virtual room.
  • the video stream synthesis request may carry the identifiers of multiple terminal devices, so that the control device 101 may determine to perform video synthesis on the video streams of the multiple terminal devices indicated by the identifiers.
  • the computing power or network transmission performance of some terminal devices is low, or the computing power or network transmission performance of some terminal devices with high computing power and network transmission performance will also fluctuate during operation, making it difficult to complete the video synthesis process for multiple video streams in time. Therefore, when the terminal device 4 detects insufficient computing power or low network transmission performance, it can send a video stream synthesis request to the control device 101 to request the multimedia processing system 200 to perform the synthesis process for multiple video streams for the terminal device 4. In addition, when the computing power of the terminal device 4 is sufficient and the network transmission performance is high, the terminal device 4 can also request the multimedia processing system 200 to perform the synthesis process for multiple video streams for the terminal device 4.
  • the terminal device 4 can decide whether to send a video stream synthesis request to the multimedia processing system 200 according to the number of video streams to be synthesized. For example, when the number of video streams to be synthesized is greater than a threshold, the terminal device 4 can send a video stream synthesis request to the multimedia processing system 200; and when the number of video streams to be synthesized is not greater than the threshold, the terminal device 4 can synthesize multiple video streams forwarded by the multimedia processing system 200 by itself.
  • the threshold value may be determined based on the hardware conditions of the terminal device 4, or the threshold value may be determined based on the real-time In this way, the terminal device 4 can be supported to dynamically switch between the two modes of video synthesis in the multimedia processing system 200 and video synthesis in the terminal device 4 according to the actual resource situation, which is conducive to fully utilizing the resources on the terminal device 4 when obtaining the synthesized video stream.
  • the control device 101 sends a control instruction to the adaptation device 103, where the control instruction is used to instruct the adaptation device 103 to perform a video synthesis operation.
  • the adaptation device 103 Based on the control instruction, the adaptation device 103 performs video synthesis according to the first video stream and the third video stream to obtain a synthesized video stream.
  • the video stream synthesis request received by the control device 101 may include an identifier of a target screen display mode and the number of multiple video streams participating in the synthesis.
  • the screen display mode is used to indicate the display area of the multiple video streams participating in the video synthesis on the video screen.
  • the screen display mode can indicate that the display area of the two video streams on the video screen is as shown above Figure 7a, or as shown below Figure 7a.
  • the screen display mode can indicate that the display area of the four video streams on the video screen is as shown above Figure 7b, or as shown below Figure 7b.
  • the screen display mode identified in the video stream synthesis request is described as the target screen display mode in this embodiment.
  • the number carried in the video stream synthesis request can be used to indicate the identifier of the target screen display mode and the number of multiple video streams involved in the synthesis.
  • the video stream synthesis request may include "2-1", where "2" represents the use of two video streams for video synthesis, that is, it indicates that there are two small screens in the synthesized video screen, and "1" is the identifier of the target screen display mode, and the target screen display mode identified by it can, for example, indicate the display area distribution as shown in Figure 7a.
  • the video stream synthesis request may include "4-5", where "4" represents the use of 4 video streams for video synthesis, and "5" is the identifier of the target screen display mode, and the target screen display mode identified by it can, for example, indicate the display area distribution as shown in the upper part of Figure 7b (or it can indicate the display area distribution as shown in the lower part of Figure 7b, and the specific indication of which display area distribution can be determined based on the mapping relationship between different pre-configured numbers and corresponding screen display modes).
  • the control device 101 can determine the target screen display mode according to the identifier in the video stream synthesis request, and generate a control instruction 1 based on this, and the control instruction 1 includes the target screen display mode, the number of multiple video streams participating in the synthesis, and the instruction information of the synthesis operation, and then send the control instruction 1 to the adaptation device 103.
  • the adaptation device 103 determines the specific position of the display area of each video stream on the video screen according to the target screen display mode, and synthesizes the first video stream and the third video stream to obtain a synthesized video stream, for example, the synthesized video stream can be generated based on synthesis technologies such as pixel domain synthesis or compressed domain synthesis.
  • the resolution of the generated synthesized video stream can be the first resolution, or the second resolution, or the resolution of other sizes, which is not limited.
  • the adapter 103 may first perform pre-decoding processing on the two video streams, such as performing integrity detection on the video streams, and decode the two video streams that have undergone pre-decoding processing to obtain data streams in YUV format corresponding to the two video streams. Then, since the two data streams in YUV format correspond to different resolutions, the adapter 103 may scale part or all of the data streams. After scaling, the two data streams in YUV format correspond to the same resolution, such as both corresponding to the second resolution. Then, the adapter 103 performs video synthesis on the two data streams in YUV format according to the display area corresponding to the different video streams indicated by the target screen display mode, and obtains a new data stream.
  • the adapter 103 may encode the new data stream to obtain a synthesized video stream, and the resolution of the synthesized video stream may be the second resolution (such as 1080P).
  • the adaptation device 103 can scale the data stream to obtain a data stream with other resolutions (such as 4K resolution). In this way, after encoding the scaled data stream, the resolution of the obtained composite video stream can be a resolution of other sizes, such as 4K resolution.
  • a variety of screen display modes can be pre-configured in the control device 101, such as being pre-configured in the control device 101 by a technician.
  • the control device 101 can read the configuration file, determine a variety of screen display modes, and determine the target screen display mode from the multiple screen display modes according to the identifier for the target screen display mode in the video stream synthesis request.
  • the control device 101 can be pre-configured with user-defined information for the target screen display mode.
  • the control device 101 can present a custom interface to the user through the terminal device 4 in advance, so that the user can define the arrangement of multiple small screens on the entire video screen on the custom interface (according to needs or preferences), that is, define the arrangement of each video stream in the multiple video streams on the video screen.
  • the display area of the target screen display mode is thus customized by the user, and information for indicating the target screen display mode is generated.
  • the control device 101 can determine the target screen display mode defined by the user according to the identifier in the video stream synthesis request.
  • the control device 101 may be configured with an interface C, and the terminal device 4 may send a video stream synthesis request to the control device 101 through the interface B.
  • the interface parameters of the interface C may include the number of video streams, the target screen display mode, the identifier of the synthesized video stream, the encoding protocol of the synthesized video stream, the resolution, and the network bandwidth, etc. Further, the interface parameters may also include the identifiers of the various video streams involved in the synthesis, the identifier of the terminal device to which each video stream belongs, the encoding protocol and resolution of each video stream, the position coordinates of the display area of each video stream on the video screen, etc.
  • the video stream synthesis request received by the control device 101 may include the key point coordinates, length, and width corresponding to the display area of each video stream participating in the synthesis on the video screen.
  • the key point corresponding to the display area may be, for example, a pre-specified position point such as the upper left corner or the center point of the display area; the key point coordinates may be, for example, the pixel point coordinates corresponding to the key point.
  • the video stream synthesis request may include indication information of the key point coordinates, length, and width corresponding to the display area of the video stream on the video screen, as shown in the bottom of Figure 7a, (x, y) indicates the key point coordinates corresponding to the display area, L indicates the length corresponding to the display area, and W indicates the width corresponding to the display area.
  • control device 101 can generate a control instruction 2 based on the video stream synthesis request, and the control instruction 2 can include instruction information of the synthesis operation, and the key point coordinates, length, and width corresponding to the display area of each video stream participating in the synthesis on the video screen, and send it to the adaptation device 103.
  • the adaptation device 103 can determine the specific position of the display area of each video stream on the video screen under the control of the control instruction 2, and perform video synthesis on the first video stream and the third video stream to obtain a synthesized video stream.
  • the adapter device 103 may be configured with an interface II, and the control device 101 may call the interface II to send a control instruction (such as the above-mentioned control instruction 1 or control instruction 2) to the adapter device 103, so as to create a video stream synthesis task (i.e., a task of synthesizing multiple video streams) in the adapter device 103.
  • the calling parameters of calling the interface II may include the identifier, encoding protocol, resolution, target screen display mode (or the key point coordinates, length, width of the display area corresponding to each video stream) of each of the multiple video streams, as well as the identifier, encoding protocol and resolution of the synthesized video stream.
  • the adaptation device 103 provides the synthesized video stream to the forwarding device 102 .
  • the control device 101 sends a forwarding instruction for the composite video stream to the forwarding device 102.
  • the forwarding device 102 forwards the synthesized video stream to the terminal device 4 based on the forwarding instruction.
  • the forwarding device 102 may first encode and post-process the composite video stream to obtain multiple data packets. For example, the forwarding device 102 may first cut the composite video stream into multiple video stream segments, and generate a data packet based on each video stream segment, thereby obtaining multiple data packets carrying the composite video stream. Then, the forwarding device 102 may send multiple data packets corresponding to the composite video stream to the terminal device 4 based on the information such as the IP address of the terminal device 4 carried in the forwarding instruction.
  • the multimedia processing system 200 can perform video synthesis based on the video streams sent by multiple terminal devices and send the obtained synthesized video stream to the terminal device 4, this allows the terminal device 4 to obtain the synthesized video stream even if the computing power of the terminal device 4 is low or the network transmission conditions are limited. This allows the user to watch multiple screens corresponding to multiple video streams on the terminal device 4, thereby improving the user experience of video interaction between different users through the terminal devices.
  • embodiment shown in FIG6 may further include:
  • the forwarding device 102 sends the user information corresponding to the synthesized video stream to the terminal device 4.
  • the user information is used to indicate the users to which each of the synthesized video streams belongs.
  • the forwarding device 102 may send the user information in the form of a user identification list to the terminal device 4. Accordingly, the terminal device 4 may add each user identification (such as user name, etc.) in the user identification list to the corresponding display area for display in a certain order.
  • the video stream synthesis request sent by the terminal device 4 to the control device 101 may also include user information, and the user information includes multiple user identifiers, so that the control device 101 can determine whether the multimedia processing system 200 has all the video streams belonging to the multiple users indicated by the user information based on the user information. If the video streams belonging to some users are missing, the control device 101 can instruct the terminal device held by the user to provide the video stream. After determining that all the video streams belonging to the multiple users indicated by the user information have been obtained, the control device 101 can control the adaptation device 103 to synthesize the multiple video streams, and send the obtained synthesized video stream and the user identifier corresponding to each display area in the video screen to the terminal device 4.
  • the user identifier corresponding to each display area is used Indicates that the video content presented in the display area belongs to the user indicated by the user identifier.
  • the terminal device 4 when the terminal device 4 presents the video screen corresponding to the composite video stream, it can present not only the video content but also the user to whom the video content belongs in the display area corresponding to each video stream, so that the user can know the owner of each video content and improve the user's video interaction experience.
  • the video streams sent by the terminal device 1 and the terminal device 3 are directly synthesized as an example for explanation.
  • the adaptation device 103 may also perform resolution conversion on the video streams sent by the terminal device 1 and the terminal device 3 first.
  • the 720P resolution video stream sent by the terminal device 1 and the 360P resolution video stream sent by the terminal device 3 may be converted to a 1080P resolution video stream under the control of the control device 101.
  • the specific implementation process of converting the resolution of the video stream can refer to the description of the relevant parts of the embodiment shown in FIG. 3 above.
  • the adaptation device 103 performs video synthesis on the two video streams obtained after the resolution conversion to obtain a synthesized video stream.
  • terminal device 1 and terminal device 4 may also provide video streams to terminal device 3 respectively, and multimedia processing system 200 may synthesize the two video streams and provide the synthesized video stream to terminal device 4.
  • terminal device 3 and terminal device 4 may also provide video streams to terminal device 1 respectively, so that terminal device 1 obtains the corresponding synthesized video stream.
  • step S603 may be executed first, and then step S601 and other steps may be executed.
  • control device 101, the forwarding device 102 and the adapting device 103 in the multimedia processing system 200 may be software configured on a computing device or a computing device cluster, and by running the software on the computing device or the computing device cluster, the computing device or the computing device cluster may implement the functions of the multimedia processing system 200.
  • the multimedia processing system 200 is introduced in detail from the perspective of hardware device implementation.
  • FIG 8 shows a structural diagram of a computing device, on which the multimedia processing system 200 can be deployed.
  • the computing device can be a computing device in a cloud environment (such as a server), or a computing device in an edge environment, or a terminal device, etc., which can be specifically used to implement the functions of the control device 101, the forwarding device 102 and the adaptation device 103 in the embodiment shown in Figure 1 above.
  • the computing device 800 includes a processor 810, a memory 820, a communication interface 830, and a bus 840.
  • the processor 810, the memory 820, and the communication interface 830 communicate with each other through the bus 840.
  • the bus 840 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • the bus may be divided into an address bus, a data bus, a control bus, etc.
  • FIG8 is represented by only one thick line, but it does not mean that there is only one bus or one type of bus.
  • the communication interface 830 is used to communicate with the outside, such as obtaining a first video stream, sending a second video stream, etc.
  • the processor 810 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits.
  • the processor 810 may also be an integrated circuit chip having signal processing capabilities.
  • the functions of each device in the multimedia processing system 200 may be completed by hardware integrated logic circuits or software instructions in the processor 810.
  • the processor 810 may also be a general processor, a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and may implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application.
  • the general processor may be a microprocessor or the processor may also be any conventional processor, etc.
  • the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in a decoding processor.
  • the software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the memory 820, and the processor 810 reads the information in the memory 820 and completes part or all of the functions in the multimedia processing system 200 in combination with its hardware.
  • the memory 820 may include a volatile memory, such as a random access memory (RAM).
  • the memory 820 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a HDD, or a SSD.
  • the memory 820 stores executable codes, and the processor 810 executes the executable codes to execute the aforementioned multimedia processing system 200 (ie The method is executed by each device in the multimedia processing system 200.
  • the software or program code required to execute the functions of the control device 101, forwarding device 102 and adaptation device 103 in Figure 2 is stored in the memory 820, the interaction between the forwarding device 102 and other devices is realized through the communication interface 830, and the processor is used to execute the instructions in the memory 820 to implement the method executed by the multimedia processing system 200.
  • FIG9 shows a schematic diagram of the structure of a computing device cluster.
  • the computing device cluster 90 shown in FIG9 includes multiple computing devices, and the multimedia processing system 200 can be distributedly deployed on multiple computing devices in the computing device cluster 90.
  • the computing device cluster 90 includes multiple computing devices 900, each computing device 900 includes a memory 920, a processor 910, a communication interface 930, and a bus 940, wherein the memory 920, the processor 910, and the communication interface 930 are connected to each other through the bus 940.
  • the processor 910 may be a CPU, a GPU, an ASIC, or one or more integrated circuits.
  • the processor 910 may also be an integrated circuit chip with signal processing capabilities. In the implementation process, some functions of the multimedia processing system 200 may be completed by the hardware integrated logic circuit or software instructions in the processor 910.
  • the processor 910 may also be a DSP, an FPGA, a general-purpose processor, other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and may implement or execute some methods, steps, and logic block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc., and the steps of the method disclosed in the embodiments of the present application may be directly embodied as a hardware decoding processor for execution, or may be executed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the memory 920.
  • the processor 910 reads the information in the memory 920, and in combination with its hardware, some functions of the multimedia processing system 200 may be completed.
  • the memory 920 may include ROM, RAM, static storage device, dynamic storage device, hard disk (such as SSD, HDD), etc.
  • the memory 920 may store program codes, for example, part or all of the program codes for implementing the control device 101, part or all of the program codes for implementing the forwarding device 102, part or all of the program codes for implementing the adaptation device 103, etc.
  • the processor 910 executes part of the method executed by the multimedia processing system 200 based on the communication interface 930, such as a part of the computing device 900 can be used to execute the method executed by the above-mentioned control device 101, a part of the computing device 900 can be used to execute the method executed by the above-mentioned forwarding device 102, and a part of the computing device 900 is used to execute the method executed by the above-mentioned adaptation device 103.
  • the memory 920 may also store data, for example: intermediate data or result data generated by the processor 910 during the execution process, for example, the above-mentioned second video stream, screen display mode, etc.
  • the communication interface 903 in each computing device 900 is used for external communication, such as interacting with other computing devices 900 .
  • the bus 940 may be a peripheral component interconnect standard bus or an extended industry standard architecture bus, etc.
  • the bus 940 in each computing device 900 in FIG9 is represented by only one thick line, but this does not mean that there is only one bus or one type of bus.
  • the plurality of computing devices 900 establish communication paths through a communication network to implement the functions of the multimedia processing system 200.
  • Any computing device may be a computing device (eg, a server) in a cloud environment, or a computing device in an edge environment.
  • an embodiment of the present application also provides a computer-readable storage medium, which stores instructions.
  • the computer-readable storage medium When the computer-readable storage medium is run on one or more computing devices, the one or more computing devices execute the methods executed by the various devices of the multimedia processing system 200 of the above embodiment.
  • the embodiment of the present application further provides a computer program product, and when the computer program product is executed by one or more computing devices, the one or more computing devices execute any of the aforementioned multimedia processing methods.
  • the computer program product may be a software installation package, and when any of the aforementioned multimedia processing methods is required, the computer program product may be downloaded and executed on a computer.
  • connection relationship between the devices indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
  • the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.
  • a computer device which can be a personal computer, a training device, or a network device, etc.
  • all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof.
  • all or part of the embodiments may be implemented in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center.
  • the computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations.
  • the available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
  • a magnetic medium e.g., a floppy disk, a hard disk, a tape
  • an optical medium e.g., a DVD
  • a semiconductor medium e.g., a solid-state drive (SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种多媒体处理系统,其与多个终端设备进行通信,多媒体处理系统包括转发装置以及适配装置;转发装置,用于接收来自第一终端设备的第一分辨率的第一视频流;适配装置,用于根据第一视频流生成第二分辨率的第二视频流,该第二分辨率大于第一分辨率;转发装置,还用于向第二终端设备发送第二视频流,该第一终端设备与第二终端设备均接入同一视频应用。如此,即使第一终端设备的算力较低,第二终端设备也能通过多媒体处理系统对于视频流的分辨率转换,获得分辨率较大的第二视频流,从而可以摆脱第一终端设备的算力限制导致第二终端设备所接收到的视频流的分辨率较低的问题。此外,本申请还提供了对应的多媒体处理方法及相关设备。

Description

一种多媒体处理系统、多媒体处理方法及相关设备
本申请要求于2022年12月05日提交中国专利局、申请号为202211550563.9、发明名称为“媒体流处理方法、云服务器及相关设备”的中国专利申请的优先权,并要求于2023年02月08日提交中国专利局、申请号为202310084296.9、发明名称为“一种多媒体处理系统、多媒体处理方法及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及多媒体技术领域,尤其涉及一种多媒体处理系统、多媒体处理方法及相关设备。
背景技术
目前,不同用户之间通常可以利用终端设备进行视频云会议或者视频直播。具体地,在用户的终端设备上,通常可以部署诸如视频云会议、视频直播等视频软件,从而用户可以利用终端设备上的视频软件生成视频,并将视频发送给其他用户的终端设备上,以此实现与其他用户进行视频云会议、或者观看其他用户的直播视频内容。
但是,实际应用场景中多数用户所持有的终端设备的算力通常较低,并且,该终端设备上运行的其它软件也会消耗终端设备的算力,这使得终端设备分配给视频软件的算力通常较少,从而影响不同用户之间的视频交互体验。比如,用户A与用户B之间在通过终端设备a和终端设备b进行视频云会议时,由于终端设备a的算力较低,这使得用户A在终端设备a上所查看到的会议视频的分辨率最高仅能达到360P(progressive),视频画面的清晰度较低,从而导致用户A与用户B进行视频云会议时的用户体验较差。
发明内容
有鉴于此,本申请实施例提供了一种多媒体处理系统,用以提高不同用户通过终端设备进行视频交互的用户体验。本申请还提供了对应的多媒体处理方法、计算设备集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供了一种多媒体处理系统,该多媒体处理系统与多个终端设备进行通信,其中,该多个终端设备中包括第一终端设备以及第二终端设备,并且,该第一终端设备与第二终端设备均接入同一视频应用,以便不同终端设备之间可以基于该视频应用交互视频流,实现视频直播或者视频会议等功能。多媒体处理系统包括转发装置以及适配装置,实际应用时,多媒体处理系统还可以包括更多功能的装置,如控制装置等。其中,转发装置,用于接收来自第一终端设备的第一视频流,该第一视频流的分辨率为第一分辨率;适配装置,用于根据第一视频流生成第二视频流,该第二视频流的分辨率为第二分辨率,该第二分辨率大于第一分辨率,如第二分辨率为1080P,而第一分辨率为720P分辨率等;转发装置,还用于基于第二终端设备针对视频流的请求,向第二终端设备发送第二视频流,以使得在视频内容一致的情况下,第二终端设备能够获得分辨率更高的视频流。
如此,由于不同终端设备之间在进行视频交互时,多媒体处理系统能够根据第一终端设备发送的第一视频流,生成分辨率更大的第二视频流,并将其发送至第二终端设备,这使得在第一终端设备的算力较低的情况下,第二终端设备也能获得分辨率较大的第二视频流,从而可以摆脱第一终端设备的算力限制导致第二终端设备所接收到的视频流的分辨率较低的问题,进而可以提高多个用户之间通过终端设备进行视频交互的用户体验。
在一种可能的实施方式中,多个终端设备还包括第三终端设备以及第四终端设备,并且,转发装置还用于接收来自该第三终端设备的第三视频流,该第三视频流的分辨率可以与第一视频流的分辨率相同或者不同;适配装置,还用于根据第一视频流以及所述第三视频流进行视频合成,得到合成视频流;转发装置,还用于向第四终端发送该合成视频流。如此,多媒体处理系统可以为第四终端设备合成多个其它终端设备的视频流,以此可以摆脱第四终端设备的算力限制或者网络传输条件限制对于实现在该第四 终端设备上呈现多画面产生不良影响。
在一种可能的实施方式中,适配装置在生成第二视频流时,具体是根据第一终端设备的第一视频流生成多个视频流,该多个视频流中包括第二视频流,并且,该多个视频流中的不同视频流之间的分辨率存在差异。比如,适配装置可以根据180P分辨率的第一视频流,生成360P、720P、1080P等多个不同分辨率的视频流。如此,多媒体处理系统可以基于该多个不同分辨率的视频流,满足不同终端设备对于第一终端设备的不同分辨率的视频流的需求。
在一种可能的实施方式中,多媒体处理系统还包括控制装置,并且,该控制装置用于接收第二终端设备发送的针对第一终端设备的选看请求,该选看请求包括针对分辨率标识,该分辨率标识用于指示第二终端设备选看的视频流的分辨率为第二分辨率;这样,适配装置在生成第二视频流时,具体是获取该分辨率标识,例如可以是由控制装置将该分辨率标识发送给适配装置等,并且,当该第一分辨率与分辨率标识不匹配时,适配装置根据该第一视频流,生成第二视频流。如此,多媒体处理系统可以基于第二终端设备对于视频流的分辨率的要求,自适应性的生成第二分辨率的视频流,以此实现满足第二终端设备对于视频流的需求。
在一种可能的实施方式中,第一终端设备与第二终端设备所接入的视频应用为视频会议应用或视频直播应用。如此,不同用户可以通过该第一终端设备以及第二终端设备上的视频应用实现视频会议或者视频直播等功能。
在一种可能的实施方式中,多媒体处理系统还包括控制装置,该控制装置用于接收第四终端发送的第一视频流合成请求,该第一视频流合成请求中包括目标画面显示模式的标识、参与合成的多个视频流的数量,该目标画面显示模式用于指示该多个视频流在视频画面上的显示区域;则,适配装置在合成视频流时,具体为接收控制装置的第一控制指令,该第一控制指令包括参与合成的多个视频流的数量、该画面显示模式以及合成操作的指示信息,从而根据该第一控制指令,对第一视频流以及第三视频流进行视频合成,得到合成视频流。如此,适配装置可以在控制装置的控制下,实现对多个视频流的视频合成,以便第四终端获取其所需的合成视频流,摆脱第四终端设备的算力限制或者网络传输条件限制对于实现在该第四终端设备上呈现多画面产生不良影响。
在一种可能的实施方式中,控制装置还用于在接收第一视频流合成请求之前,获取多种画面显示模式,如通过读取配置文件获取该多种画面显示模式等,该多种画面显示模式包括目标画面显示模式。如此,可以增加用户对于画面显示模式进行选择的自由度,从而提高用户体验。或者,控制装置在接收第一视频流合成请求之前,获取针对目标画面显示模式的自定义信息,如可以由用户将该自定义信息提供给多媒体处理系统等,该自定义信息用于指示用户定义的多个视频流在视频画面上的显示区域。如此,可以实现用户对目标画面显示模式的自定义。
在一种可能的实施方式中,所述多媒体处理系统还包括控制装置,该控制装置用于接收第四终端发送的第二视频流合成请求,该第二视频流合成请求中包括合成操作的指示信息、以及参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;则,适配装置在合成视频流时,具体为接收控制装置的第二控制指令,该第二控制指令包括参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度,从而适配装置根据该第二控制指令,对第一视频流以及第三视频流进行视频合成,得到合成视频流。如此,适配装置可以在控制装置的控制下,实现对多个视频流的视频合成,以便第四终端获取其所需的合成视频流,摆脱第四终端设备的算力限制或者网络传输条件限制对于实现在该第四终端设备上呈现多画面产生不良影响。
在一种可能的实施方式中,多媒体处理系统还包括控制装置,该控制装置用于确定多媒体处理系统支持的多个分辨率,该多个分辨率包括上述第一分辨率以及第二分辨率,从而控制装置向第二终端设备发送多个分辨率。如此,第二终端可以获知其获取视频流所支持的多个分辨率,以便后续从该多个分辨率中指定一种或者多种分辨率,以获取该分辨率的视频流。
第二方面,本申请提供一种多媒体处理系统,该多媒体处理系统包括转发装置以及适配装置,该多媒体处理系统与第二终端以及多个终端设备进行通信;其中,转发装置,用于接收多个视频流,该多个视频流来自多个第一终端设备;适配装置,用于对该多个视频流进行合成,得到合成视频流;转发装置,还用于基于第二终端设备针对合成视频流的请求,向第二终端发送该合成视频流。如此,多媒体处理系 统可以为第二终端设备合成多个其它终端设备的视频流,以此可以摆脱第二终端设备的算力限制或者网络传输条件限制对于实现在该第二终端设备上呈现多画面产生不良影响。
第三方面,本申请提供一种多媒体处理方法,该方法应用于多媒体处理系统,该多媒体处理系统与多个终端设备进行通信,该多个终端设备包括第一终端设备和第二终端设备,方法包括:多媒体处理系统接收来自第一终端设备的第一视频流,第一视频流的分辨率为第一分辨率;多媒体处理系统根据第一视频流,生成第二视频流,第二视频流的分辨率为第二分辨率,第二分辨率大于第一分辨率;多媒体处理系统基于第二终端设备针对视频流的请求,向第二终端设备发送第二视频流,第一终端设备和第二终端设备均接入同一视频应用。
在一种可能的实施方式中,多个终端设备还包括第三终端设备以及第四终端设备,方法还包括:多媒体处理系统接收来自第三终端设备的第三视频流;多媒体处理系统根据第一视频流以及第三视频流进行视频合成,得到合成视频流;多媒体处理系统向第四终端发送合成视频流。
在一种可能的实施方式中,多媒体处理系统根据第一视频流,生成第二视频流,包括:多媒体处理系统根据第一视频流,生成多个视频流,多个视频流包括第二视频流,多个视频流中的不同视频流之间的分辨率存在差异。
在一种可能的实施方式中,方法还包括:多媒体处理系统接收第二终端设备发送的针对第一终端设备的选看请求,选看请求包括针对分辨率标识,分辨率标识用于指示第二终端设备选看的视频流的分辨率为第二分辨率;多媒体处理系统根据第一视频流,生成第二视频流,包括:多媒体处理系统获取分辨率标识,并且,当第一分辨率与分辨率标识不匹配时,根据第一视频流,生成第二视频流。
在一种可能的实施方式中,视频应用为视频会议应用或视频直播应用。
在一种可能的实施方式中,方法还包括:多媒体处理系统接收第四终端发送的第一视频流合成请求,第一视频流合成请求中包括目标画面显示模式的标识、参与合成的多个视频流的数量,目标画面显示模式用于指示多个视频流在视频画面上的显示区域;多媒体处理系统根据第一视频流以及第三视频流进行视频合成,得到合成视频流,包括:多媒体处理系统获取第一控制指令,第一控制指令包括参与合成的多个视频流的数量、画面显示模式以及合成操作的指示信息;多媒体处理系统根据第一控制指令,对第一视频流以及第三视频流进行视频合成,得到合成视频流。
在一种可能的实施方式中,方法还包括:多媒体处理系统在接收第一视频流合成请求之前,获取多种画面显示模式,多种画面显示模式包括目标画面显示模式;或者,多媒体处理系统在接收第一视频流合成请求之前,获取针对目标画面显示模式的自定义信息,自定义信息用于指示用户定义的多个视频流在视频画面上的显示区域。
在一种可能的实施方式中,方法还包括:多媒体处理系统接收第四终端发送的第二视频流合成请求,第二视频流合成请求中包括合成操作的指示信息、以及参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;多媒体处理系统根据第一视频流以及第三视频流进行视频合成,得到合成视频流,包括:多媒体处理系统获取第二控制指令,第二控制指令包括参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;多媒体处理系统根据第二控制指令,对第一视频流以及第三视频流进行视频合成,得到合成视频流。
在一种可能的实施方式中,方法还包括:多媒体处理系统确定多媒体处理系统支持的多个分辨率,多个分辨率包括第一分辨率以及第二分辨率;多媒体处理系统向第二终端设备发送多个分辨率。
值得注意的是,第三方面提供的多媒体处理方法,对应于第一方面提供的多媒体处理系统,故第三方面以及第三方面中任一实施方式所具有的技术效果,可参见第一方面或者第一方面的相应实施方式所具有的技术效果。
第四方面,本申请提供一种多媒体处理方法,该方法应用于多媒体处理系统,该多媒体处理系统与第二终端以及多个终端设备进行通信;该方法包括:多媒体处理系统接收多个视频流,该多个视频流来自多个第一终端设备;多媒体处理系统对该多个视频流进行合成,得到合成视频流;多媒体处理系统基于第二终端设备针对合成视频流的请求,向第二终端发送该合成视频流。
值得注意的是,第四方面提供的多媒体处理方法,对应于第二方面提供的多媒体处理系统,故第四方面的实施方式所具有的技术效果,可参见第二方面的相应实施方式所具有的技术效果。
第五方面,本申请提供一种计算设备集群,所述计算设备包括至少一个计算设备,所述至少一个计算设备包括至少一个处理器和至少一个存储器;所述至少一个存储器用于存储指令,所述至少一个处理器执行所述至少一个存储器存储的该指令,以使所述计算设备集群执行上述第三方面或第三方面任一种可能实现方式中的数据处理方法,或者执行上述第四方面或第四方面任一种可能实现方式中的数据处理方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。所述至少一个计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第三方面或第三方面的任一种实现方式所述的方法,或者执行上述第四方面或第四方面任一种可能实现方式中的数据处理方法。
第七方面,本申请提供了一种包含指令的计算机程序产品,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第三方面或第三方面的任一种实现方式所述的方法,或者执行上述第四方面或第四方面任一种可能实现方式中的数据处理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为一种多媒体处理系统的结构示意图;
图2为本申请提供的一示例性多媒体处理系统的结构示意图;
图3为本申请提供的一种多媒体处理方法的流程示意图;
图4为本申请提供的一示例性交互界面的示意图;
图5为基于3个视频流所生成的合成画面的示意图;
图6为本申请提供的另一种多媒体处理方法的流程示意图;
图7a为本申请提供的针对2个视频流的一示例性画面显示模式的示意图;
图7b为本申请提供的针对4个视频流的一示例性画面显示模式的示意图;
图8为本申请提供的一种计算设备的结构示意图;
图9为本申请提供的一种计算设备集群的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
参见图1,为一示例性多媒体处理系统的结构示意图。如图1所示,多媒体处理系统100包括控制装置101、转发装置102,其中,控制装置101与转发装置102之间可以通过有线或者无线网络进行通信连接。
多媒体处理系统100可以连接多个终端设备,图1中以连接终端设备1、终端设备2、终端设备3以及终端设备4为例进行说明,实际应用场景中,接入多媒体处理系统100的终端设备的数量可以是任意数量,对此不做限定。
在视频云会议或者视频直播等场景中,终端设备2、终端设备3以及终端设备4可能存在获取终端设备1所生成的视频的需求(以便将终端设备1的视频内容呈现给相应用户),并且,不同终端设备可能要求获取终端设备1生成的不同分辨率的视频,如图1所示。此时,终端设备1至终端4均可以接入同一视频应用,如均接入视频会议应用或者视频直播应用等,并且,接入同一视频应用的不同终端设备之间可以交互视频流。终端设备2向控制装置101请求1080P分辨率的视频流1、终端设备3向控制装 置101请求720P分辨率的视频流2、终端设备4向控制装置101请求360P分辨率的视频流3。若终端设备1的算力足够,则终端设备1会将实时生成的视频流1、视频流2以及视频流3发送至多媒体处理系统100,并由多媒体处理系统100中的转发装置102可以在控制装置101的控制下,将视频流1、视频流2以及视频流3分别转发至相应的终端设备2、终端设备3以及终端设备4。
但是,实际应用场景中,终端设备1的算力通常有限,并且终端设备1上运行的其它软件也会消耗终端设备1的算力,这使得终端设备1难以同时生成多个具有不同分辨率的视频流。比如,终端设备1当前的算力仅能支持同时生成720P分辨率的视频流2以及360P分辨率的视频流3,而无法同时生成1080P分辨率的视频流1,这使得终端设备2难以获得1080P分辨率的视频流1,或者,终端设备2最多仅能从转发装置102获得720P分辨率的视频流2,其无法满足终端设备2对于1080P分辨率视频流的需求。另外,终端设备1与多媒体处理系统100之间建立通信连接时所分配到的带宽通常有限,或者网络传输过程中容易出现丢包、高时延、抖动增大等问题,这也会导致终端设备1难以同时向多媒体处理系统100发送1080P分辨率的视频流1、720P分辨率的视频流2、360P分辨率的视频流3。
如此,当多个用户通过终端设备进行视频交互时,会因为终端设备上的算力限制,或者终端设备与多媒体处理系统100之间的网络传输限制,导致部分用户无法观看到视频,或者所观看到的视频的分辨率较低(也即视频画面的清晰度较低),从而影响不同用户之间的视频交互体验。
基于此,本申请提供了一种新的多媒体处理系统,如图2所示。在图1所示的多媒体处理系统100的基础上,图2所示的多媒体处理系统200中新增有适配装置103,并且,控制装置101、转发装置102以及适配装置103之间可以通过有线或者无线网络进行通信连接。
仍以终端设备1向其它终端提供视频流为例,终端设备1可以基于自身的算力或者其与多媒体处理系统200之间的网络传输条件,生成并向多媒体处理系统200发送720P分辨率的原始视频流。
多媒体处理装置200中的转发装置102在接收到该原始视频流后,可以将其提供给适配装置103。并且,控制装置101可以基于终端设备2至终端设备4对于视频流的分辨率要求,向适配装置103下发对原始视频流进行转码的控制指令。这样,适配装置103在控制装置101的控制下,根据720P分辨率的原始视频流,生成1080P分辨率的视频流1、以及生成360P分辨率的视频流3,并将原始视频流作为视频流2,然后将该视频流1以及视频流3提供给转发装置102。在适配装置103生成多个视频流后,控制装置101可以控制转发装置102转发多个视频流,从而转发装置102在控制装置101的控制下,将视频流1转发给终端设备2、将视频流2转发给终端设备3、将视频流3转发给终端设备4,以使得终端设备2至终端设备4分别获得各自所需的视频流。
由于在不同终端设备之间在进行视频交互的过程中,多媒体处理系统200能够根据终端设备1发送的原始视频流,生成其它分辨率的视频流,包括分辨率更大的视频流1以及分辨率更小的视频流2,并将其分别发送至相应的终端设备,这使得在终端设备1的算力较低的情况下,其它终端设备也能获得其它分辨率大小的视频流,从而可以提高多个用户之间通过终端设备进行视频交互的用户体验。例如,多媒体处理系统200通过转换视频流的分辨率,可以摆脱终端设备的算力限制导致其它终端设备所接收到的视频流的分辨率较低的问题,以此可以使得其他用户能够观看到清晰度更高的视频。即使终端设备2要求4K(是指视频画面中水平方向每行像素值达到或者接近4096个)或者更高的分辨率的视频流,多媒体处理系统200也能通过视频转码满足终端设备2的需求。
另外,即使终端设备1与多媒体处理系统200之间的网络传输条件受限,由于多媒体处理系统200可以根据接收到的视频流的分辨率转换得到一条或者多条其它分辨率的视频流,这使得终端设备1可以仅传输较少数量并且分辨率较低的视频流(如一条分辨率为360P的视频流等),也能实现为其他一个或者多个终端设备提供其所需的视频流,从而可以尽可能避免终端设备1与多媒体处理系统200之间的网络传输条件限制对多个用户之间进行视频交互的用户体验产生不良影响。
作为一种示例,上述多媒体处理系统200可以被部署于云端,用于为多个不同的终端数设备提供处理视频流的云服务。此时,多媒体处理系统200中的控制装置101、转发装置102以及适配装置103,分别可以由云端的计算设备或者计算设备集群实现;控制装置101、转发装置102以及适配装置103也可以部署于同一计算设备,或者部署于同一计算设备集群中。
作为另一种示例,上述多媒体处理系统200可以被部署于本地,从而可以为多个不同的终端数设备 提供处理视频流的本地服务。
实际应用时,上述多媒体处理系统200中的控制装置101、转发装置102以及适配装置103分别可以通过软件实现,或者可以通过硬件实现。
以适配装置103为例,适配装置103作为软件功能单元的一种举例,可以包括运行在计算实例上的代码。其中,计算实例可以包括主机、虚拟机、容器、线程、进程中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,适配装置103可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
适配装置103作为硬件功能单元的一种举例,适配装置103可以包括至少一个计算设备,如云服务器等。或者,适配装置103也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)、数据处理单元(Data processing unit,DPU)或其任意组合实现。
当适配装置103可以包括多个计算设备时,该多个计算设备可以分布在相同的region中,也可以分布在不同的region中。适配装置103包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,适配装置103包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
与适配装置103类似,当通过软件实现时,转发装置102以及计算装置101,均可以是运行在计算实例上的代码;当通过硬件实现时,转发装置102以及计算装置101,均可以包括一个或者多个计算设备。
值得注意的是,上述图2所示的多媒体处理系统200仅作为一种示例性说明,实际应用时,多媒体处理系统200也可以具有其它实现方式。比如,多媒体处理系统200中可以包括更多的功能模块,以支持多媒体处理系统200具有其它功能;或者,控制装置101与转发装置102可以集成为一个装置,即所集成的装置同时具备控制功能以及转发视频流的功能,或者控制装置101与适配装置103可以即成为一个装置等,对此并不进行限定。
为便于理解,接下来对多媒体处理系统200中处理以及转发视频流的各种非限定性的具体实施方式进行详细描述。
参阅图3,为本申请实施例中一种多媒体处理方法的流程示意图。该方法可以应用于上述图2所示的多媒体处理系统200中,或者也可以是应用于其它可适用的应用场景中。下面以应用于图2所示的多媒体处理系统200为例,介绍将终端设备1发送的视频流转换为终端设备2所需的视频流的过程。
图3所示的多媒体处理方法具体可以包括:
S301:转发装置102接收来自终端设备1的第一视频流,该第一视频流的分辨率为第一分辨率。
本实施例中,终端设备1与终端设备2可以预先接入同一视频应用,如视频会议应用或者视频直播应用等,以便这两个终端设备之间基于该视频应用交互视频流。实际应用时,在视频云会议、视频直播等场景中,终端设备1可以生成第一视频流,如可以基于视频应用生成第一视频流等,该第一视频流可以是视频云会议场景中针对(终端设备1所属的)用户1进行实时拍摄所得到的会议视频流,或者可以是视频直播场景中针对直播用户或者直播场景进行实时拍摄所得到的现场直播视频流。
作为一种实现示例,在用户1使用该终端设备1进行视频云会议或者视频直播时,终端设备1可以对用户1进行拍摄,例如可以利用摄像头等拍摄装置进行拍摄等,以此生成第一视频流。其中,终端设备1可以根据当前所具有的可用算力、或者根据终端设备1当前所具有的可用的带宽,选择符合该可用算力或者可用带宽的第一分辨率,如选择720P分辨率等,并生成分辨率为该第一分辨率的第一视频流。然后,终端设备1可以将该第一视频流发送给多媒体处理系统200,以便多媒体处理系统200后续基于该第一视频流向其它终端设备提供其所需的视频流。其中,终端设备1在向多媒体处理系统200发送第一视频流时,还可以发送终端设备1的唯一标识(即源设备的标识)以及该第一视频流的相关信息。其中,第一视频流的相关信息,例如可以是第一视频流对应的有效载荷(payload type,PT)、同步源(synchronous source,SSRC)标识、第一视频流的标识等信息。
当终端设备1要向多媒体处理系统200发送视频流时,转发装置102中可以创建接收节点,该接收节点可以通过线程、进程等方式实现,从而转发装置102可以通过该接收节点接收终端设备1发送的第一视频流(以及终端设备1的唯一标识、第一视频流的相关信息),并在转发装置102中保存第一视频流。
示例性地,转发装置102上可以配置有接口1,并且,控制装置101可以预先调用该接口1,在转发装置102中创建用于接收终端设备1的第一视频流的接收节点。其中,控制装置101调用接口1的接口参数可以包括源设备标识,即终端设备1的标识(其可以在终端设备1进入云会议时由控制装置101分配)。并且,接口参数还可以包括转发装置102接收第一视频流的本地互联网协议(Internet Protocol,IP)地址、端口(port)号、所采用的网络传输协议以及视频流的相关信息。其中,所采用的网络传输协议,例如可以是用户数据报协议(User Datagram Protocol,UDP)、传输控制协议(Transmission Control Protocol,TCP)等。
S302:转发装置102向适配装置103提供该第一视频流。
其中,转发装置102可以基于其与适配装置103之间的有线连接或者无线连接,将第一视频流提供给适配装置103。
S303:控制装置101向适配装置103发送控制指令,该控制指令用于指示适配装置103对终端设备1发送的第一视频流进行转换。
S304:适配装置103基于该控制指令,根据第一视频流,生成第二视频流,该第二视频流的分辨率为第二分辨率,该第二分辨率大于第一分辨率。
本实施例中,终端设备2所需的视频流的分辨率较大(即为第二分辨率),而终端设备1的算力或者网络传输条件有限,难以提供高分辨率的视频流。因此,适配装置103可以在控制装置101的控制下,基于分辨率较低的第一视频流,生成分辨率较高的第二视频流。
具体实现时,适配装置103在获取到承载第一视频流的多个数据包后,可以对该多个数据包进行解码前处理,如对第一视频流进行完整性检测、对多个数据包中携带的视频流片段进行排序并组装等。然后,适配装置103可以对经过解码前处理所得到的数据进行解码,可以得到YUV格式(一种颜色编码格式)或者其它格式的数据流。接着,适配装置103可以按照第二分辨率,对解码得到的数据流进行相应的缩放,从而适配装置103通过对缩放得到的数据流进行编码,即可得到第二分辨率的第二视频流。
本实施例中,控制装置101可以基于以下两种实现方式控制适配装置103生成第二视频流。
在第一种实现方式中,控制装置101可以基于其它终端设备对于视频流的需求,控制适配装置103转换视频流的分辨率。具体地,终端设备2可以向控制装置101发送针对终端设备1的选看请求,以向控制装置101请求属于终端设备1的视频流。其中,选看请求中可以携带有分辨率标识,该分辨率标识用于指示终端设备2所选看的视频流的分辨率大小,例如可以是指示终端设备2所选看的视频流的分辨率为上述第二分辨率等。进一步地,选看请求中还可以携带有终端设备1的标识,用于指示请求获取属于终端设备1的视频流。当转发装置102接收到第一视频流时,控制装置101可以确定第一视频流的分辨率,并判断第一视频流的分辨率是否与选看请求中的分辨率标识相匹配,具体可以判断第一视频流的分辨率大小与分辨率标识所指示的分辨率大小是否一致。若一致,则第一视频流的分辨率与选看请求中的分辨率标识相匹配;否则,不匹配。
当确定不匹配时,控制装置101可以生成包括该分辨率标识的控制指令,并将该控制指令发送给适 配装置103,以控制适配装置103基于该控制指令生成第二分辨率的第二视频流。示例性地,适配装置103上可以配置有接口I,并且,控制装置101可以通过调用接口I向适配装置103发送控制指令,以在适配装置103中创建视频流缩放任务(也即生成另一种分辨率的视频流的任务)。其中,调用接口I的调用参数可以包括第一视频流的标识、编码协议、分辨率,以及第二视频流的标识、编码协议以及分辨率。
而当确定匹配时,表明终端设备1提供的第一视频流的分辨率满足终端设备2的需求,则控制装置101可以直接控制转发装置102将该第一视频流发送给终端设备2。
在第二种实现方式中,控制装置101主动控制适配装置103生成多个具有不同分辨率的视频流。具体地,当转发装置102接收到第一视频流时,控制装置101可以确定第一视频流的分辨率,并根据该第一视频流的分辨率生成控制指令,该控制指令中包括多种分辨率的标识,并且,该多种分辨率的标识均不用于指示第一分辨率;然后,控制装置101可以将该控制指令发送给适配装置103。适配装置103根据控制指令中所携带的各个分辨率的标识,生成相应分辨率的视频流,以此可以得到多个具有不同分辨率的视频流(包括上述第二分辨率的视频流)。如此,当终端设备2请求任意分辨率的视频流时,多媒体处理系统200可以从多个视频流中找到相应分辨率的视频流,并将其提供给终端设备2。
举例来说,假设终端设备1发送的第一视频流的分辨率为720P,则控制装置101可以控制适配装置103根据该第一视频流分别生成1080P分辨率、360P分辨率、180P分辨率、90P分辨率的视频流,以使得多媒体处理系统200同时具备分辨率为1080P、720P、360P、180P、90P的多个视频流。这样,当终端设备2请求1080P分辨率的视频流时,多媒体处理系统200可以将多个视频流中分辨率为1080P的视频流提供给终端设备2;而当终端设备2请求180P分辨率的视频流时,多媒体处理系统200可以将多个视频流中分辨率为180P的视频流提供给终端设备2。
实际应用时,控制装置101可以确定向终端设备2提供所支持的多个分辨率,如上述1080P、720P、360P、180P、90P等分辨率,从而控制装置101可以向终端设备2发送多个分辨率,以供用户2对该多个分辨率进行选择。例如,控制装置101可以通过终端设备2向用户2呈现如图4所示的交互界面,该交互界面上可以呈现该多个分辨率的候选项,如图4中的1080P、720P、360P、180P、90P,从而用户2可以在该交互界面上选择其中一种分辨率,如选择1080P分辨率等,以便多媒体处理系统200向终端设备2提供该分辨率的视频流。如此,可以提高用户对于视频流的分辨率的可选性,以此可以进一步提高用户观看视频的用户体验。
进一步地,终端设备1在与终端设备2进行视频交互之前,终端设备1还可以基于本身的算力或者网络传输条件,向控制装置101上报其所支持生成视频流的一个或者多个分辨率,从而控制装置101在确定终端设备2选择终端设备1不支持的分辨率时,控制装置101可以确定根据终端设备1发送的第一视频流生成满足终端设备2所需分辨率的第二视频流。比如,终端设备1可以向控制装置101上报其支持生成360P、180P以及90P分辨率的视频流,当控制装置101确定终端设备2请求1080P分辨率的视频流时,控制装置101可以指示终端设备1上传360P分辨率的第一视频流,并控制适配装置103根据该360P分辨率的第一视频流转换得到1080P分辨率的第二视频流,以便后续将第二视频流发送给终端设备2。由于终端设备1在运行过程中可能发生算力或者网络传输条件的动态变化,因此,终端设备1可以根据本身的算力或者网络传输条件,动态调整向控制装置101上报其所支持生成的视频流的分辨率。
示例性地,控制装置101上可以配置有接口A,并且,终端设备1可以通过该接口A向控制装置101上报其所具有的编码能力信息,该编码能力信息具体包括编码协议、所支持编码的一个或者多个分辨率、每种分辨率对应的网络带宽。比如,终端设备1通过接口A上报的编码能力信息包括:
H.264协议(编码协议,一种高度压缩数字视频编解码器标准);
1080P、3~4兆比特每秒(Mbps);
720P、1.2~3Mbps
360P、320~1200kbps。
上述两种实现方式仅作为一些示例性说明,实际应用场景中,控制装置101也可以基于其它方式控制适配装置103生成不同分辨率的视频流,对此并不进行限定。
S305:适配装置103将第二视频流提供给转发装置102。
S306:控制装置101向转发装置102下发针对第二视频流的转发指令。
其中,控制装置101可以基于终端设备2发送的针对获取终端设备1的视频流的请求,生成该转发指令。
S307:转发装置102基于该转发指令,向终端设备2转发第二视频流,终端设备2与终端设备1均接入同一视频应用。
转发装置102在发送第二视频流之前,可以创建发送节点,该发送节点可以通过线程、进程等方式实现,从而转发装置102可以通过该发送节点向终端设备2发送数据。具体地,发送节点先对第二视频流进行编码后处理,得到多个数据包。例如,转发装置102可以先将第二视频流切割成多个视频流片段,并基于每个视频流片段生成一个数据包,以此可以得到承载该第二视频流的多个数据包。然后,发送节点可以基于该转发指令中所携带的下游信息,如终端设备2的IP地址等,将第二视频流对应的多个数据包发送给终端设备2,以满足终端设备2对于获取第二分辨率的视频流的需求。
由于多媒体处理系统200能够根据终端设备1发送的第一视频流,生成分辨率更高的第二视频流,并将其发送至终端设备2,这使得即使终端设备1算力较低或者网络传输条件受限,终端设备2也能因为多媒体处理系统200对于视频流的转码,获得分辨率更高的视频流,以此可以提高用户2在终端设备2上所观看到视频的清晰度,也即可以提高用户1与用户2之间通过终端设备进行视频交互的用户体验。
其中,转发装置102上可以配置有接口2,并且,控制装置101可以预先调用该接口2,在转发装置102中创建用于向终端设备2发送第二视频流的发送节点。控制装置101调用接口2的接口参数可以包括目的设备标识,即终端设备2的标识(其可以在终端设备2进入云会议时由控制装置101分配)。并且,接口参数还可以包括转发装置102发送第二视频流的本地IP地址、端口号、所采用的网络传输协议以及视频流的相关信息。
实际应用时,转发装置102还可以根据视频流在接收节点与发送节点之间的流动,为接收节点以及发送节点建立路由关系。具体地,在接收节点接收第一视频流后,转发装置102可以记录该第一视频流的源流标识,例如可以是终端设备1的IP地址、媒体访问控制(media access control,MAC)地址等,该源流标识用于标识视频流的源端。在发送节点发送第二视频流后,转发装置102可以记录该第二视频流的目的流标识,例如可以是终端设备2的IP地址或者MAC地址等,用于标识视频流的目的端。然后,转发装置102可以基于该源流标识以及目的流标识,为接收节点以及发送节点建立路由关系并保存路由关系。这样,转发装置102可以利用该接收节点接收具有同一源流标识的新的视频流,并且,转发装置102可以根据基于该视频流所生成的新视频流(分辨率发生变化)所具有的目的流标识,通过查找该路由关系,选择相应的发送节点对外发送视频流。并且,转发装置102可以创建多个不同的接收节点,以分别接收不同的终端设备发送的视频流;转发装置102可以创建多个不同的发送节点,以分别向不同的终端设备发送视频流。其中,不同接收节点与不同发送节点之间可以基于视频流在转换分辨率前后所具有的源流标识以及目的流标识建立路由关系,该路由关系可以通过图(map)、链表、数组等数据结构表示,并在转发装置102中保存该路由关系。
示例性地,转发装置102上可以配置有接口3,并且,在转发装置102利用接收节点以及发送节点完成视频流的收发后,控制装置101可以调用该接口3,在转发装置102中为接收节点以及发送节点建立路由关系。其中,控制装置101调用接口3的接口参数可以包括源流标识、目的流标识。进一步地,该接口参数还可以包括源设备标识以及目的设备标识。
进一步地,控制装置101还可以解除转发装置102中已建立的路由关系。例如,转发装置102上可以配置有接口4,并且,当终端设备2停止请求终端设备1的视频流时,控制装置101可以调用该接口4,解除接收第一视频流的接收节点与发送第二视频流的发送节点之间的路由关系。其中,调用接口4的接口参数可以包括目的流标识。可选地,调用接口4的接口参数还可以包括源流标识。
另外,控制装置101还可以删除转发装置102中的接收节点以及发送节点。比如,转发装置102上可以配置有接口5,并且,当终端设备1或者终端设备2断开与多媒体处理系统200之间的连接时,如终端设备1或者终端设备2退出云会议等,控制装置101可以调用该接口5,删除接收终端设备1的第一视频流的接收节点,或者删除向终端设备2发送第二视频流的发送节点。其中,调用接口5的接口参数可以包括源流标识、目的流标识,或者包括源设备标识、目的设备标识等。相应地,基于该接收节点 以及发送节点所建立的路由关系可以一并删除。
需要说明的是,上述接口1至接口5,可以是5个独立的接口;或者,接口1至接口5中的部分接口或者全部接口可以合并,如接口3与接口4可以合并为一个接口等(本申请所提及的多个接口均可以合并或者相互独立),对此并不进行限定。
在一种应用场景中,终端设备2可以向多媒体处理系统200仅请求一个终端设备(即终端设备1)的视频流,并基于该视频流呈现相应的视频内容。而在另一种应用场景中,终端设备2也可以向多媒体处理系统200同时请求多个终端设备的视频流(包括终端设备1的第一视频流),如同时请求终端设备1、终端设备3以及终端设备4的视频流等,所请求的每个终端设备的视频流的分辨率可以相同(如均为第二分辨率),也可以不同。则,多媒体处理系统200可以基于上述类似方式将多个终端设备发送的各个视频流转换为分辨率满足终端设备2需求的视频流。此时,终端设备2在接收到属于多个终端设备的视频流后,可以基于多画面合成技术,对多个视频流进行视频合成,得到合成视频流,并在终端设备2上基于该合成视频流显示合成画面。比如,终端设备2基于属于终端设备1、终端设备3以及终端设备4的多个视频流,可以生成如图5所示的合成画面。其中,属于不同终端设备的视频流在视频画面上的显示区域不同,以此可以实现在同一视频画面上同时呈现多个视频流中的内容。
值得注意的是,本实施例中,主要是以多媒体处理系统200将终端设备1发送的第一分辨率的视频流转换为终端设备2所需的第二分辨率的视频流为例进行说明。当终端设备3或者终端设备4向多媒体处理系统200请求属于终端设备1的视频流时,多媒体处理系统200可以基于上述类似方式,将第一分辨率的视频流转换为分辨率满足终端设备3或者终端设备4所需的视频流。并且,当终端设备1向多媒体处理系统200请求终端设备2的视频流时,多媒体处理系统200也可以基于上述类似方式,将终端设备2向终端设备1提供的视频流转码成分辨率满足终端设备1需求的视频流。关于多媒体处理系统200处理不同终端设备之间交互的视频流的具体实现方式,可参见上述实施例的相关之处描述,在此不做赘述。
另外,当多个终端设备同时向多媒体处理系统200请求终端设备1的不同分辨率的视频流时,多媒体处理系统200可以根据终端设备1提供的第一视频流分别生成不同分辨率的视频流,并将所生成多个视频流分别提供给不同的终端设备。
或者,当多个终端设备同时向多媒体处理系统200请求终端设备1的不同分辨率的视频流时,若部分终端设备所请求的视频流的分辨率较低,比如,多个终端设备中的终端设备a请求180P分辨率的视频流、终端设备b请求360P分辨率的视频流,而多个终端设备中的终端设备c请求1080P分辨率的视频流。则,终端设备1可以基于本身的算力或者网络传输条件,生成多种较小分辨率的视频流,如生成180P分辨率的视频流以及360P分辨率的视频流,并向多媒体处理系统200提供该多种较小分辨率的视频流。此时,由于多媒体处理系统200中已经存在终端设备a以及终端设备b所请求的视频流,则多媒体处理系统200可以将180P分辨率的视频流转发给终端设备a,将360P分辨率的视频流转发给终端设备b。因为终端设备1未提供1080P分辨率的视频流,因此,多媒体处理系统200可以基于上述类似实现方式,根据180P分辨率的视频流或者基于360P分辨率的视频流,为终端设备c生成1080P分辨率的视频流,并将该1080P分辨率的视频流发送给终端设备c。
进一步地,若还存在终端设备d向多媒体处理系统200请求终端设备1的90P分辨率的视频流,则多媒体处理系统200可以优先选择180P分辨率的视频流来生成90P分辨率的视频流,以此可以尽可能减少多媒体处理系统200生成90P分辨率的视频流所需消耗的资源。
上述图3所示的实施例中,主要介绍了终端设备2向多媒体处理系统200请求一个终端设备(也即终端设备1)的视频流的过程,实际应用场景中,可能存在部分终端设备向多媒体处理系统200请求多个其它终端设备的视频流,但是,由于接收视频流的该部分终端设备上的算力也有限,或者该部分终端设备接收视频流时的网络传输条件受限,因此,在另一种可能的方式中,可以将部分终端设备针对多个视频流的合成过程迁移至多媒体处理系统200,以此摆脱该部分终端设备的算力或者网络传输条件限制对于实现在该终端设备上呈现多画面产生不良影响。下面,以多媒体处理系统200为终端设备4合成终端设备1以及终端设备3的视频流为例,结合图6介绍本申请实施例提供的另一种多媒体处理方法,如 图6所示,该方法具体可以是包括:
S601:转发装置102接收来自终端设备1的第一视频流以及来自终端设备3的第三视频流,其中,第一视频流的分辨率为第一分辨率,第三视频流的分辨率为第二分辨率。
在一种应用场景中,多个终端设备之间在进行视频交互之前,可以预先由终端设备4(或者其它终端设备)创建虚拟房间,该虚拟房间是指基于对真实房间的模拟而创建的虚拟网络空间,该虚拟网络空间可以同时允许多个帐号在线,每个帐号可以在虚拟网络空间中进行创建,并对应于一个终端设备。然后,终端设备1、终端设备3以及终端设备4均加入所创建的虚拟房间。并且,在加入虚拟房间后,终端设备1以及终端设备3分别向多媒体处理系统200发送其自身生成的视频流。
在另一种应用场景中,终端设备4可以向控制装置101发送选看请求,该选看请求包括多个终端设备的视频流,以请求控制装置101获取该选看请求所指定的多个终端设备的视频流。控制装置101响应该选看请求,指示终端设备1以及终端设备3提供视频流。
示例性地,控制装置101上可以配置有接口B,并且,终端设备4可以通过该接口B向控制装置101指定多个终端设备的视频流。其中,接口B的接口参数可以包括提供视频流的多个终端设备分别对应的标识、多个视频流分别对应的标识。进一步地,该接口参数还可以包括编码协议、每个视频流的分辨率等。比如,终端设备4通过接口B向控制装置101提供的信息可以包括:
终端设备1标识、源流标识1、H.264协议、720P分辨率;
终端设备3标识、源流标识2、H.264协议、1080P分辨率。
本实施例中,假设终端设备1发送的视频流的分辨率为第一分辨率(如720P),终端设备3发送的视频流的分辨率为第二分辨率(如1080P),该第二分辨率可以大于第一分辨率。在其它实施例中,终端设备1以及终端设备3发送的视频流的分辨率也可以相同,或者终端设备1发送的视频流的分辨率大于终端设备3发送的视频流的分辨率,对此并不进行限定。其中,各个终端设备发送的视频流的分辨率可以由终端设备4所属的用户4进行确定。
作为一种实现示例,终端设备1以及终端设备3在加入虚拟房间后,可以向控制装置101上报其所支持编码的分辨率,如终端设备1上报其支持编码的分辨率包括:1080P、720P、360P、180P以及90P,终端设备3上报其支持编码的分辨率包括360P、180P以及90P等。然后,控制装置101可以将终端设备1以及终端设备3分别支持编码的分辨率提供给终端设备4,以便由终端设备4将其呈现给用户。接着,终端设备4可以基于用户对各个终端设备2提供视频流的分辨率所执行的选择操作,向控制装置101反馈终端设备1提供第一分辨率的视频流、终端设备3反馈第二分辨率的视频流。这样,控制装置101可以指示终端设备1以及终端设备3分别发送上述第一视频流以及第三视频流。
S602:转发装置102将第一视频流以及第三视频流提供给适配装置103。
S603:控制装置101接收终端设备4发送的视频流合成请求,该视频流合成请求用于请求多媒体处理系统200为终端设备4执行合成视频流的过程。
示例性地,控制装置101在接收到终端设备4发送的视频流合成请求后,可以确定对加入虚拟房间的其它多个终端设备的视频流进行视频合成。
或者,该视频流合成请求中可以携带多个终端设备的标识,从而控制装置101可以确定对该标识所指示的多个终端设备的视频流进行视频合成。
实际应用场景中,基于硬件条件限制,部分终端设备的算力或者网络传输性能较低,或者,部分算力以及网络传输性能较高的终端设备在运行过程中,也会发生算力或者网络传输性能的波动,从而难以及时完成对针对多路视频流的视频合成过程。因此,终端设备4在检测到算力不足或者网络传输性能较低的情况下,可以向控制装置101发送视频流合成请求,以请求多媒体处理系统200为终端设备4执行针对多路视频流的合成过程。另外,当终端设备4的算力充足并且网络传输性能较高的情况下,终端设备4也可以请求多媒体处理系统200为终端设备4执行针对多路视频流的合成过程。或者,终端设备4可以根据所要合成的视频流的数量,决定是否向多媒体处理系统200发送视频流合成请求。比如,当所要合成的视频流的数量大于阈值时,终端设备4可以向多媒体处理系统200发送视频流合成请求;而当所要合成的视频流的数量不大于该阈值时,终端设备4可以自行合成多媒体处理系统200转发的多条视频流。其中,该阈值可以根据终端设备4的硬件条件进行确定,或者该阈值可以根据终端设备4实时的 算力或者网络传输性能进行确定。如此,可以支持终端设备4根据实际的资源情况,在多媒体处理系统200进行视频合成与终端设备4进行视频合成这两种模式之间进行动态切换,有利于在实现获取合成视频流的情况下,充分利用终端设备4上的资源。
S604:控制装置101向适配装置103发送控制指令,该控制指令用于指示适配装置103执行视频合成操作。
S605:适配装置103基于该控制指令,根据第一视频流以及第三视频流进行视频合成,得到合成视频流。
示例性地,本实施例中,提供了以下两种控制适配装置103进行视频合成的实现方式。
在第一种实现方式中,控制装置101所接收到的视频流合成请求中可以包括目标画面显示模式的标识以及参与合成的多个视频流的数量。其中,画面显示模式,用于指示参与视频合成的多个视频流在视频画面上的显示区域。比如,当基于终端设备1以及终端设备3提供的两个视频流进行视频合成时,该画面显示模式可以指示这两个视频流在视频画面上的显示区域如图7a上方所示,或者如图7a下方所示。又比如,当基于4个视频流进行视频合成时,该画面显示模式可以指示这4个视频流在视频画面上的显示区域如图7b上方所示,或者如图7b下方所示。为便于与后文区分,本实施例中将视频流合成请求中所标识的画面显示模式描述为目标画面显示模式。
实际应用时,可以利用视频流合成请求中携带的编号指示目标画面显示模式的标识以及参与合成的多个视频流的数量。比如,视频流合成请求中可以包括“2-1”,其中,“2”表征利用两个视频流进行视频合成,也即指示合成的视频画面中存在2个小画面,“1”为目标画面显示模式的标识,其所标识的目标画面显示模式例如可以指示如图7a所示的显示区域分布。又比如,视频流合成请求中可以包括“4-5”,其中,“4”表征利用4个视频流进行视频合成,“5”为目标画面显示模式的标识,其所标识的目标画面显示模式例如可以指示如图7b上方所示的显示区域分布(或者可以指示如图7b下方所示的显示区域分布,具体指示何种显示区域分布可以基于预先配置的不同编号与相应画面显示模式之间的映射关系进行确定)。
然后,控制装置101可以根据视频流合成请求中的标识,确定目标画面显示模式,并以此生成控制指令1,该控制指令1包括目标画面显示模式、参与合成的多个视频流的数量、合成操作的指示信息,然后将该控制指令1下发给适配装置103。这样,适配装置103在该控制指令1的控制下,根据目标画面显示模式,确定各个视频流在视频画面上的显示区域的具体位置,并以此对第一视频流以及第三视频流进行视频合成,得到合成视频流,例如可以是基于像素域合成或者压缩域合成等合成技术,生成合成视频流。其中,所生成的合成视频流的分辨率,可以是第一分辨率,或者可以是第二分辨率,或者可以是其它大小的分辨率,对此并不进行限定。
示例性地,适配装置103在接收到第一视频流以及第三视频流后,可以先对这两个视频流进行解码前处理,如对视频流进行完整性检测等,并对经过解码前处理的两个视频流进行解码,得到这两个视频流分别对应的YUV格式的数据流。接着,由于这两个YUV格式的数据流对应于不同的分辨率,因此,适配装置103可以对部分或者全部数据流进行缩放,经过缩放后,这两个YUV格式的数据流对应于同一分辨率,如均对应于第二分辨率等。然后,适配装置103再根据目标画面显示模式所指示不同视频流对应的显示区域,对这两个YUV格式的数据流进行视频合成,得到一条新的数据流。最后,适配装置103可以对该新的数据流进行编码,即可得到合成视频流,该合成视频流的分辨率可以为第二分辨率(如1080P)。在其它实现示例中,适配装置103在得到新的数据流后,可以通过对该数据流进行缩放,得到其它分辨率(如4K分辨率)的数据流,这样,通过对经过缩放后的数据流进行编码后,所得到的合成视频流的分辨率可以是其它大小的分辨率,如4K分辨率等。
其中,控制装置101中可以预先配置多种画面显示模式,如可以由技术人员预先配置于控制装置101中。这样,控制装置101在接收到视频流合成请求后,可以读取配置文件,确定多种画面显示模式,并根据该视频流合成请求中针对目标画面显示模式的标识,从多种画面显示模式中确定出目标画面显示模式。或者,控制装置101可以预先配置有用户针对该目标画面显示模式的自定义信息。具体地,控制装置101可以预先通过终端设备4向用户呈现自定义界面,从而用户可以在该自定义界面上(根据需求或者喜好)定义多个小画面在整个视频画面上的排布,也即定义多个视频流中的各个视频流在视频画面上 的显示区域,以此实现用户对目标画面显示模式的自定义,并生成用于指示该目标画面显示模式的信息。这样,控制装置101在接收到视频流合成请求后,可以根据该视频流合成请求中的标识,确定用户所定义的目标画面显示模式。
示例性地,控制装置101上可以配置有接口C,并且,终端设备4可以通过该接口B向控制装置101发送视频流合成请求。其中,接口C的接口参数可以包括视频流的数量、目标画面显示模式、合成视频流的标识、合成视频流的编码协议、分辨率以及网络带宽等。进一步地,该接口参数还可以包括参与合成的各个视频流的标识、各个视频流所属终端设备的标识、每个视频流的编码协议、分辨率、每个视频流在视频画面上的显示区域的位置坐标等。
在第二种实现方式中,控制装置101所接收到的视频流合成请求中可以包括参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度。其中,显示区域所对应的关键点,例如可以是显示区域的左上角、中心点等预先指定的位置点;关键点坐标,例如可以是该关键点所对应的像素点坐标。举例来说,视频流合成请求中可以包括视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度的指示信息,如图7a下方所示,(x,y)指示显示区域对应的关键点坐标,L指示显示区域对应的长度,W指示显示区域对应的宽度。
然后,控制装置101可以基于视频流合成请求生成控制指令2,该控制指令2可以包括合成操作的指示信息、以及参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度,并将其发送给适配装置103。这样,适配装置103可以在该控制指令2的控制下,确定各个视频流在视频画面上的显示区域的具体位置,并以此对第一视频流以及第三视频流进行视频合成,得到合成视频流。
实际应用时,适配装置103上可以配置有接口II,并且,控制装置101可以调用接口II向适配装置103发送控制指令(如上述控制指令1或者控制指令2),以在适配装置103中创建视频流合成任务(也即对多个视频流进行合成的任务)。其中,调用接口II的调用参数可以包括多个视频流中的每个视频流的标识、编码协议、分辨率、目标画面显示模式(或者是每个视频流对应的显示区域的关键点坐标、长度、宽度),以及合成视频流的标识、合成视频流的编码协议和分辨率。
S606:适配装置103将合成视频流提供给转发装置102。
S607:控制装置101向转发装置102下发针对合成视频流的转发指令。
S608:转发装置102基于该转发指令,向终端设备4转发合成视频流。
转发装置102在发送合成视频流之前,可以先对合成视频流进行编码后处理,得到多个数据包。例如,转发装置102可以先将合成视频流切割成多个视频流片段,并基于每个视频流片段生成一个数据包,以此可以得到承载该合成视频流的多个数据包。然后,转发装置102可以基于该转发指令中所携带的终端设备4的IP地址等信息,将合成视频流对应的多个数据包发送给终端设备4。
由于多媒体处理系统200能够根据多个终端设备发送的视频流进行视频合成,并将得到的合成视频流发送至终端设备4,这使得即使终端设备4算力较低或者网络传输条件受限,终端设备4也能获得经过合成后的视频流,以此可以实现用户在终端设备4上观看多个视频流对应的多画面,从而提高不同用户之间通过终端设备进行视频交互的用户体验。
进一步地,图6所示的实施例还可以包括:
S609:转发装置102向终端设备4发送合成视频流对应的用户信息,该用户信息用于指示参与合成的各个视频流分别所属的用户。
示例性地,在参与合成的各个视频流在视频画面上的显示区域已经确定的情况下,转发装置102可以是以用户标识列表的形式,将用户信息发送至终端设备4。相应地,终端设备4可以按照一定的顺序,将用户标识列表中的各个用户标识(如用户名称等)添加至相应显示区域中进行显示。
在一种可能的实施方式中,终端设备4向控制装置101发送的视频流合成请求中,还可以包括用户信息,该用户信息包括多个用户标识,从而控制装置101可以根据该用户信息,确定多媒体处理系统200是否具有属于该用户信息所指示的多个用户的所有视频流。若缺失属于部分用户的视频流,则控制装置101可以指示该用户所持有的终端设备提供视频流。在确定已获得属于该用户信息所指示的多个用户的所有视频流后,控制装置101可以控制适配装置103对多条视频流进行合成,并将得到的合成视频流以及视频画面中每个显示区域对应的用户标识一并发送给终端设备4,每个显示区域对应的用户标识用于 指示在该显示区域内呈现的视频内容属于该用户标识所指示的用户。
如此,终端设备4在呈现该合成视频流对应的视频画面时,在每个视频流对应的显示区域内,不仅可以呈现视频内容,还呈现该视频内容所属的用户,以便于用户获知各个视频内容的属主,提高用户的视频交互体验。
需要说明的是:
1、本实施例中,是以直接合成终端设备1以及终端设备3发送的视频流为例进行说明,在其它可能的实施例中,适配装置103也可以先对终端设备1以及终端设备3发送的视频流进行分辨率转换,如可以是在控制装置101的控制下将终端设备1发送的720P分辨率的视频流以及终端设备3发送的360P分辨率的视频流均转换为1080P分辨率的视频流等,其转换视频流的分辨率具体实现过程可参见上述图3所示实施例的相关之处描述。然后,适配装置103再对经过分辨率转换后所得到的两个视频流进行视频合成,得到合成视频流。
2、在多个用户通过终端设备进行视频交互的过程中,终端设备1以及终端设备4也可以向终端设备3分别提供视频流,并且,多媒体处理系统200可以在对这两个视频流进行视频合成后,将得到的合成视频流提供给终端设备4。类似地,终端设备3以及终端设备4也可以是向终端设备1分别提供视频流,以便终端设备1获得相应的合成视频流。
3、图6所示的各个步骤之间的执行顺序并不用于限定,比如,在其它实施例中,也可以是先执行步骤S603,再执行步骤S601以及其它步骤。
上述图1至图7b所示实施例中,针对多媒体处理系统200中的控制装置101、转发装置102以及适配装置103,可以是配置于计算设备或者计算设备集群上的软件,并且,通过在计算设备或者计算设备集群上运行该软件,可以使得计算设备或者计算设备集群实现上述多媒体处理系统200所具有的功能。下面,基于硬件设备实现的角度,对多媒体处理系统200进行详细介绍。
图8示出了一种计算设备的结构示意图,上述多媒体处理系统200可以部署在该计算设备上,该计算设备可以是云环境中的计算设备(如服务器),或边缘环境中的计算设备,或终端设备等具体可以用于实现上述图1所示实施例中控制装置101、转发装置102以及适配装置103的功能。
如图8所示,计算设备800包括处理器810、存储器820、通信接口830和总线840。处理器810、存储器820和通信接口830之间通过总线840通信。总线840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口830用于与外部通信,例如获取第一视频流,发送第二视频流等。
其中,处理器810可以为中央处理器(central processing unit,CPU)、专用集成电路(application specific integrated circuit,ASIC)、图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。处理器810还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,多媒体处理系统200中各个装置的功能可以通过处理器810中的硬件的集成逻辑电路或者软件形式的指令完成。处理器810还可以是通用处理器、数据信号处理器(digital signal process,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,分立硬件组件,可以实现或者执行本申请实施例中公开的方法、步骤及逻辑框图。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器820,处理器810读取存储器820中的信息,结合其硬件完成多媒体处理系统200中的部分或全部功能。
存储器820可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器820还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器820中存储有可执行代码,处理器810执行该可执行代码以执行前述多媒体处理系统200(即 多媒体处理系统200中的各个装置)所执行的方法。
具体地,在实现图2所示实施例的情况下,且图2所示实施例中所描述的控制装置101、转发装置102以及适配装置103为通过软件实现的情况下,执行图2中的控制装置101、转发装置102以及适配装置103的功能所需的软件或程序代码存储在存储器820中,转发装置102与其它设备的交互通过通信接口830实现,处理器用于执行存储器820中的指令,实现多媒体处理系统200所执行的方法。
图9示出的一种计算设备集群的结构示意图。其中,图9所示的计算设备集群90包括多个计算设备,上述多媒体处理系统200可以分布式地部署在该计算设备集群90中的多个计算设备上。如图9所示,计算设备集群90包括多个计算设备900,每个计算设备900包括存储器920、处理器910、通信接口930以及总线940,其中,存储器920、处理器910、通信接口930通过总线940实现彼此之间的通信连接。
处理器910可以采用CPU、GPU、ASIC或者一个或多个集成电路。处理器910还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,多媒体处理系统200的部分功能可用通过处理器910中的硬件的集成逻辑电路或者软件形式的指令完成。处理器910还可以是DSP、FPGA、通用处理器、其他可编程逻辑器件,分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的部分方法、步骤及逻辑框图。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器920,在每个计算设备900中,处理器910读取存储器920中的信息,结合其硬件可以完成多媒体处理系统200的部分功能。
存储器920可以包括ROM、RAM、静态存储设备、动态存储设备、硬盘(例如SSD、HDD)等。存储器920可以存储程序代码,例如,用于实现控制装置101的部分或者全部程序代码、用于实现转发装置102的部分或者全部程序代码、用于实现适配装置103的部分或者全部程序代码等。针对每个计算设备900,当存储器920中存储的程序代码被处理器910执行时,处理器910基于通信接口930执行多媒体处理系统200所执行的部分方法,如其中一部分计算设备900可以用于执行上述控制装置101所执行的方法,一部分计算设备900可以用于执行上述转发装置102所执行的方法、一部分计算设备900用于执行上述适配装置103所执行的方法。存储器920还可以存储数据,例如:处理器910在执行过程中产生的中间数据或结果数据,例如,上述第二视频流、画面显示模式等。
每个计算设备900中的通信接口903用于与外部通信,例如与其它计算设备900进行交互等。
总线940可以是外设部件互连标准总线或扩展工业标准结构总线等。为便于表示,图9中每个计算设备900内的总线940仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述多个计算设备900之间通过通信网络建立通信通路,以实现多媒体处理系统200的功能。任一计算设备可以是云环境中的计算设备(例如,服务器),或边缘环境中的计算设备。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在一个或者多个计算设备上运行时,使得该一个或者多个计算设备执行上述实施例多媒体处理系统200的各个装置所执行的方法。
此外,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被一个或者多个计算设备执行时,所述一个或者多个计算设备执行前述多媒体处理方法中的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述多媒体处理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
另外需说明的是,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的装置可以是或者也可以不是物理上分开的,作为装置显示的部件可以是或者也可以不是物理装置,即可以位于一个地方,或者也可以分布到多个网络装置上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的系统实施例附图中,装置之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (21)

  1. 一种多媒体处理系统,其特征在于,所述多媒体处理系统与多个终端设备进行通信,所述多个终端设备包括第一终端设备和第二终端设备,所述多媒体处理系统包括转发装置以及适配装置;
    所述转发装置,用于接收来自所述第一终端设备的第一视频流,所述第一视频流的分辨率为第一分辨率;
    所述适配装置,用于根据所述第一视频流,生成第二视频流,所述第二视频流的分辨率为第二分辨率,所述第二分辨率大于所述第一分辨率;
    所述转发装置,还用于基于所述第二终端设备针对视频流的请求,向所述第二终端设备发送所述第二视频流,所述第一终端设备和所述第二终端设备均接入同一视频应用。
  2. 根据权利要求1所述的多媒体处理系统,其特征在于,所述多个终端设备还包括第三终端设备以及第四终端设备;
    所述转发装置,还用于接收来自所述第三终端设备的第三视频流;
    所述适配装置,还用于根据所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流;
    所述转发装置,还用于向所述第四终端发送所述合成视频流。
  3. 根据权利要求1或2所述的多媒体处理系统,其特征在于,所述适配装置,具体用于根据所述第一视频流,生成多个视频流,所述多个视频流包括所述第二视频流,所述多个视频流中的不同视频流之间的分辨率存在差异。
  4. 根据权利要求1或2所述的多媒体处理系统,其特征在于,所述多媒体处理系统还包括控制装置,所述控制装置用于接收所述第二终端设备发送的针对所述第一终端设备的选看请求,所述选看请求包括针对分辨率标识,所述分辨率标识用于指示所述第二终端设备选看的视频流的分辨率为所述第二分辨率;
    所述适配装置,用于获取所述分辨率标识,并且,当所述第一分辨率与所述分辨率标识不匹配时,根据所述第一视频流,生成第二视频流。
  5. 根据权利要求1至4任一项所述的多媒体处理系统,其特征在于,所述视频应用为视频会议应用或视频直播应用。
  6. 根据权利要求2所述的多媒体处理系统,其特征在于,所述多媒体处理系统还包括控制装置,所述控制装置,用于接收所述第四终端发送的第一视频流合成请求,所述第一视频流合成请求中包括目标画面显示模式的标识、参与合成的多个视频流的数量,所述目标画面显示模式用于指示所述多个视频流在视频画面上的显示区域;
    所述适配装置,具体用于:
    接收所述控制装置的第一控制指令,所述第一控制指令包括参与合成的多个视频流的数量、所述画面显示模式以及合成操作的指示信息;
    根据所述第一控制指令,对所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流。
  7. 根据权利要求6所述的多媒体处理系统,其特征在于,所述控制装置,还用于:
    在接收所述第一视频流合成请求之前,获取多种画面显示模式,所述多种画面显示模式包括所述目标画面显示模式;
    或者,在接收所述第一视频流合成请求之前,获取针对所述目标画面显示模式的自定义信息,所述自定义信息用于指示用户定义的所述多个视频流在视频画面上的显示区域。
  8. 根据权利要求2所述的多媒体处理系统,其特征在于,所述多媒体处理系统还包括控制装置,所述控制装置,用于接收所述第四终端发送的第二视频流合成请求,所述第二视频流合成请求中包括合成操作的指示信息、以及参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;
    所述适配装置,具体用于:
    接收所述控制装置的第二控制指令,所述第二控制指令包括参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;
    根据所述第二控制指令,对所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流。
  9. 根据权利要求1至8任一项所述的多媒体处理系统,其特征在于,所述多媒体处理系统还包括控制装置,所述控制装置,用于:
    确定所述多媒体处理系统支持的多个分辨率,所述多个分辨率包括所述第一分辨率以及所述第二分辨率;
    向所述第二终端设备发送所述多个分辨率。
  10. 一种多媒体处理方法,其特征在于,所述方法应用于多媒体处理系统,所述多媒体处理系统与多个终端设备进行通信,所述多个终端设备包括第一终端设备和第二终端设备,所述方法包括:
    所述多媒体处理系统接收来自所述第一终端设备的第一视频流,所述第一视频流的分辨率为第一分辨率;
    所述多媒体处理系统根据所述第一视频流,生成第二视频流,所述第二视频流的分辨率为第二分辨率,所述第二分辨率大于所述第一分辨率;
    所述多媒体处理系统基于所述第二终端设备针对视频流的请求,向所述第二终端设备发送所述第二视频流,所述第一终端设备和所述第二终端设备均接入同一视频应用。
  11. 根据权利要求10所述的方法,其特征在于,所述多个终端设备还包括第三终端设备以及第四终端设备,所述方法还包括:
    所述多媒体处理系统接收来自所述第三终端设备的第三视频流;
    所述多媒体处理系统根据所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流;
    所述多媒体处理系统向所述第四终端发送所述合成视频流。
  12. 根据权利要求10或11所述的方法,其特征在于,所述多媒体处理系统根据所述第一视频流,生成第二视频流,包括:
    所述多媒体处理系统根据所述第一视频流,生成多个视频流,所述多个视频流包括所述第二视频流,所述多个视频流中的不同视频流之间的分辨率存在差异。
  13. 根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
    所述多媒体处理系统接收所述第二终端设备发送的针对所述第一终端设备的选看请求,所述选看请求包括针对分辨率标识,所述分辨率标识用于指示所述第二终端设备选看的视频流的分辨率为所述第二分辨率;
    所述多媒体处理系统根据所述第一视频流,生成第二视频流,包括:
    所述多媒体处理系统获取所述分辨率标识,并且,当所述第一分辨率与所述分辨率标识不匹配时,根据所述第一视频流,生成第二视频流。
  14. 根据权利要求10至13任一项所述的方法,其特征在于,所述视频应用为视频会议应用或视频直播应用。
  15. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    所述多媒体处理系统接收所述第四终端发送的第一视频流合成请求,所述第一视频流合成请求中包括目标画面显示模式的标识、参与合成的多个视频流的数量,所述目标画面显示模式用于指示所述多个视频流在视频画面上的显示区域;
    所述多媒体处理系统根据所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流,包括:
    所述多媒体处理系统获取第一控制指令,所述第一控制指令包括参与合成的多个视频流的数量、所述画面显示模式以及合成操作的指示信息;
    所述多媒体处理系统根据所述第一控制指令,对所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流。
  16. 根据权利要求15所述的方法,其特征在于,所述方法还包括:
    所述多媒体处理系统在接收所述第一视频流合成请求之前,获取多种画面显示模式,所述多种画面显示模式包括所述目标画面显示模式;
    或者,所述多媒体处理系统在接收所述第一视频流合成请求之前,获取针对所述目标画面显示模式的自定义信息,所述自定义信息用于指示用户定义的所述多个视频流在视频画面上的显示区域。
  17. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    所述多媒体处理系统接收所述第四终端发送的第二视频流合成请求,所述第二视频流合成请求中包括合成操作的指示信息、以及参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;
    所述多媒体处理系统根据所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流,包括:
    所述多媒体处理系统获取第二控制指令,所述第二控制指令包括参与合成的各个视频流在视频画面上的显示区域所对应的关键点坐标、长度、宽度;
    所述多媒体处理系统根据所述第二控制指令,对所述第一视频流以及所述第三视频流进行视频合成,得到所述合成视频流。
  18. 根据权利要求10至17任一项所述的方法,其特征在于,所述方法还包括:
    所述多媒体处理系统确定所述多媒体处理系统支持的多个分辨率,所述多个分辨率包括所述第一分辨率以及所述第二分辨率;
    所述多媒体处理系统向所述第二终端设备发送所述多个分辨率。
  19. 一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
    所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备集群执行权利要求10至18中任一项所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行如权利要求10至18中任一项所述的方法。
  21. 一种包含指令的计算机程序产品,其特征在于,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行如权利要求10至18中任一项所述的方法。
PCT/CN2023/124244 2022-12-05 2023-10-12 一种多媒体处理系统、多媒体处理方法及相关设备 WO2024120009A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202211550563.9 2022-12-05
CN202211550563 2022-12-05
CN202310084296.9A CN118200625A (zh) 2022-12-05 2023-02-08 一种多媒体处理系统、多媒体处理方法及相关设备
CN202310084296.9 2023-02-08

Publications (1)

Publication Number Publication Date
WO2024120009A1 true WO2024120009A1 (zh) 2024-06-13

Family

ID=91378523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/124244 WO2024120009A1 (zh) 2022-12-05 2023-10-12 一种多媒体处理系统、多媒体处理方法及相关设备

Country Status (1)

Country Link
WO (1) WO2024120009A1 (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424624A (zh) * 2013-08-28 2015-03-18 中兴通讯股份有限公司 一种图像合成的优化方法及装置
CN107105315A (zh) * 2017-05-11 2017-08-29 广州华多网络科技有限公司 直播方法、主播客户端的直播方法、主播客户端及设备
CN109788314A (zh) * 2018-12-18 2019-05-21 视联动力信息技术股份有限公司 一种视频流数据传输的方法和装置
CN111385515A (zh) * 2018-12-27 2020-07-07 北京紫荆视通科技有限公司 视频会议数据的传输方法和视频会议数据的传输系统
CN111447389A (zh) * 2020-04-22 2020-07-24 广州酷狗计算机科技有限公司 视频生成方法、装置、终端及存储介质
US10999344B1 (en) * 2020-06-15 2021-05-04 Google Llc Dynamic video resolution and quality for improved video conferencing
CN112788276A (zh) * 2019-11-11 2021-05-11 中兴通讯股份有限公司 视频流显示方法、发送方法、装置、终端、服务器及介质
CN113163214A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种视频处理方法及其装置
CN113315991A (zh) * 2021-06-01 2021-08-27 南京海比信息技术有限公司 一种自动调整网络视频传输码率和清晰度的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424624A (zh) * 2013-08-28 2015-03-18 中兴通讯股份有限公司 一种图像合成的优化方法及装置
CN107105315A (zh) * 2017-05-11 2017-08-29 广州华多网络科技有限公司 直播方法、主播客户端的直播方法、主播客户端及设备
CN109788314A (zh) * 2018-12-18 2019-05-21 视联动力信息技术股份有限公司 一种视频流数据传输的方法和装置
CN111385515A (zh) * 2018-12-27 2020-07-07 北京紫荆视通科技有限公司 视频会议数据的传输方法和视频会议数据的传输系统
CN112788276A (zh) * 2019-11-11 2021-05-11 中兴通讯股份有限公司 视频流显示方法、发送方法、装置、终端、服务器及介质
CN113163214A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种视频处理方法及其装置
CN111447389A (zh) * 2020-04-22 2020-07-24 广州酷狗计算机科技有限公司 视频生成方法、装置、终端及存储介质
US10999344B1 (en) * 2020-06-15 2021-05-04 Google Llc Dynamic video resolution and quality for improved video conferencing
CN113315991A (zh) * 2021-06-01 2021-08-27 南京海比信息技术有限公司 一种自动调整网络视频传输码率和清晰度的方法

Similar Documents

Publication Publication Date Title
US8581959B2 (en) Video conferencing system which allows endpoints to perform continuous presence layout selection
US9288441B2 (en) Distributed transcoding of a video based on insufficient computing resources
US9781385B2 (en) User interfaces for presentation of audio/video streams
US8139100B2 (en) Virtual multiway scaler compensation
US8601097B2 (en) Method and system for data communications in cloud computing architecture
JP5216303B2 (ja) 合成映像配信装置ならびにその方法およびプログラム
TWI513318B (zh) 資源共享方法
US8643695B2 (en) Videoconferencing endpoint extension
JP2018098795A (ja) 伝送端末、伝送方法、及び伝送用プログラム
US20070024705A1 (en) Systems and methods for video stream selection
US9398257B2 (en) Methods and systems for sharing a plurality of encoders between a plurality of endpoints
CN114600468B (zh) 将复合视频流中的视频流与元数据组合的组合器系统、接收器设备、计算机实现的方法和计算机可读介质
TWI495345B (zh) 視訊會議系統及其使用方法
WO2021093882A1 (zh) 一种视频会议方法、会议终端、服务器及存储介质
CN113141352A (zh) 多媒体数据的传输方法、装置、计算机设备和存储介质
WO2024120009A1 (zh) 一种多媒体处理系统、多媒体处理方法及相关设备
CN118200625A (zh) 一种多媒体处理系统、多媒体处理方法及相关设备
KR20120065944A (ko) 오디오, 비디오, 및 컴퓨터 그래픽 콘텐츠 중 적어도 하나를 렌더링하기 위한 방법 및 입출력 장치, 및 사전 렌더링된 오디오, 사전 렌더링된 비디오 및 사전 렌더링된 컴퓨터 그래픽 콘텐츠 중 적어도 하나를 전달하기 위한 서비싱 장치
WO2023274094A1 (zh) 一种处理视频会议中媒体流的方法及相关产品
KR20190103775A (ko) 개인 맞춤형 멀티스크린 서비스를 제공하는 방법, 서버 및 사용자 단말
WO2023142714A1 (zh) 视频处理协同方法、装置、设备及存储介质
US20220303596A1 (en) System and method for dynamic bitrate switching of media streams in a media broadcast production
CN115567671A (zh) 一种处理视频会议中媒体流的方法及相关产品
CN112584084A (zh) 一种视频播放方法、装置、计算机设备和存储介质
CN118259820A (zh) 一种启用白板绘制的方法及相关装置