A data communication method, device, storage medium and equipment

By deploying data integration plug-ins in the interface rendering component, communication between the video processing engine and the interface rendering component is realized, solving the problems of high development costs, complex processes and low communication efficiency in the existing technology, and is suitable for hardware platforms of different operating systems.

CN115114046BActive Publication Date: 2025-05-20SHENZHEN TENCENT COMP SYST CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210600984.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-30
Publication Date
2025-05-20
Estimated Expiration
2042-05-30

AI Technical Summary

Technical Problem

When building the UI interface of the video processing engine, it is necessary to develop adapted platform rendering components based on the platform operating system of the terminal device, resulting in high development costs, complex processes and low communication efficiency.

Method used

By deploying a data integration plug-in in the interface rendering component, the data integration plug-in includes communication information that communicates with the video processing engine, realizing communication between the interface rendering component and the video processing engine.

Benefits of technology

It reduces development costs, avoids errors during development, improves communication efficiency between the video processing engine and interface rendering components, and is suitable for hardware platforms of different operating systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115114046B_ABST
    Figure CN115114046B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose a data communication method, apparatus, storage medium and device. The method includes: obtaining a processing request for a video rendering service through an interface rendering component, and determining a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request; determining a video processing engine associated with the interface rendering component, and querying the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plug-in of the interface rendering component; forwarding the processing request to the video processing engine through the target forwarding object based on the target communication information, and calling the video processing engine to process the video rendering service according to the service attribute information carried in the processing request. Through the present application, the communication between the interface rendering component and the video processing engine can be realized, and the communication efficiency with the video processing engine can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a data communication method, apparatus, storage medium, and device. Background Art

[0002] A video processing engine refers to some pre-written editable computer systems or core components of some interactive real-time image applications. The video processing engine can provide various tools required for video designers to produce videos. The purpose is to enable video designers to easily and quickly create video programs without starting from scratch. Most video processing engines support multiple platform operating systems, such as Linux and Windows.

[0003] Currently, when building the UI interface of a video processing engine in a terminal device, it is necessary to develop a platform rendering component that adapts to the operating rules of the corresponding platform operating system according to the platform operating system of the terminal device. Through this platform rendering component, relevant functions in the video processing engine are called, and at the same time, the roles developed in the video processing engine are visualized. In order to enable the platform rendering components corresponding to different platform operating systems to call the relevant functions of the video processing engine and communicate with the video processing engine, it is necessary to adaptively modify the relevant configuration information in the platform rendering components, resulting in a high development cost. At the same time, the development process is complex and error-prone, resulting in low communication efficiency with the video processing engine. Summary of the Invention

[0004] Embodiments of this application provide a data communication method, apparatus, storage medium, and device, which can implement communication between an interface rendering component and a video processing engine and improve the communication efficiency with the video processing engine.

[0005] On the one hand, an embodiment of this application provides a data communication method, including:

[0006] Obtain a processing request for video rendering services through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0007] Determine the video processing engine associated with the interface rendering component, and query the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plugin of the interface rendering component; the data integration plugin includes communication information for at least two forwarding objects to communicate with the video processing engine respectively; the at least two forwarding objects include the target forwarding object;

[0008] Forward the processing request to the video processing engine through the target forwarding object based on the target communication information, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0009] On the one hand, an embodiment of the present application provides a data communication device, including:

[0010] A determination module, configured to obtain a processing request for a video rendering service through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0011] A query module, configured to determine a video processing engine associated with the interface rendering component, and query target communication information for the target forwarding object to communicate with the video processing engine from a data integration plugin of the interface rendering component; the data integration plugin includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object;

[0012] A service processing module, configured to forward the processing request to the video processing engine through the target forwarding object based on the target communication information, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0013] On the one hand, an embodiment of the present application provides a computer device, including a memory and a processor. When the processor executes a computer program stored in the memory, the following steps are performed:

[0014] Obtain a processing request for a video rendering service through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0015] Determine a video processing engine associated with the interface rendering component, and query target communication information for the target forwarding object to communicate with the video processing engine from a data integration plugin of the interface rendering component; the data integration plugin includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object;

[0016] Forward the processing request to the video processing engine through the target forwarding object based on the target communication information, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0017] On the one hand, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0018] Obtain a processing request for a video rendering service through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0019] Determine the video processing engine associated with the interface rendering component, and query the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plugin of the interface rendering component; the data integration plugin includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object.

[0020] Forward the processing request to the video processing engine based on the target communication information through the target forwarding object, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0021] An embodiment of the present application provides a computer program product on the one hand. When the computer program is executed by a processor, the following steps are implemented:

[0022] Obtain a processing request for a video rendering service generated through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request.

[0023] Determine the video processing engine associated with the interface rendering component, and query the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plugin of the interface rendering component; the data integration plugin includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object.

[0024] Forward the processing request to the video processing engine based on the target communication information through the target forwarding object, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0025] In the present application, by deploying a data integration plugin in the interface rendering component, the data integration plugin includes communication information for multiple forwarding objects to communicate with the video processing engine. Here, the forwarding object is an object used for data forwarding between the interface rendering component and the video processing engine, such as it can include multiple operating systems and shared memory. Based on the communication information in the data integration plugin, communication between the interface rendering component and the video processing engine can be achieved. In other words, through this data integration plugin, a communication channel can be provided for the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plugin can be applied to hardware platforms with different operating systems, improving the applicable range of the data integration plugin. In addition, during the communication process between the interface rendering component and the video processing engine, it is not necessary to adaptively modify the interface rendering component, reducing the development cost, while avoiding errors in the development process and improving the communication efficiency between the interface rendering component and the video processing engine. Brief Description of the Drawings

[0026] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0027] Figure 1 It is a schematic structural diagram of a data communication system provided by an embodiment of the present application;

[0028] Figure 2 It is a schematic diagram of an application scenario of data communication provided by an embodiment of the present application;

[0029] Figure 3 It is a schematic flowchart of a data communication method provided by an embodiment of the present application;

[0030] Figure 4 It is a schematic diagram of generating a data integration plug-in provided by an embodiment of the present application;

[0031] Figure 5 It is a schematic diagram of forwarding a processing request through a target operating system provided by an embodiment of the present application;

[0032] Figure 6 It is a schematic flowchart of a data communication method provided by an embodiment of the present application;

[0033] Figure 7 It is a schematic structural diagram of a data communication device provided by an embodiment of the present application;

[0034] Figure 8 It is a schematic structural diagram of a data communication device provided by an embodiment of the present application;

[0035] Figure 9 It is a schematic structural diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners

[0036] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.

[0037] Please refer to Figure 1 , Figure 1 It is a schematic structural diagram of a data communication system provided by an embodiment of the present application. As Figure 1As shown, the data communication system may include a server 10 and a cluster of terminal devices. The cluster of terminal devices may include one or more terminal devices, and the number of terminal devices will not be limited here. As Figure 1 shown, it may specifically include terminal device 100a, terminal device 100b, terminal device 100c, …, terminal device 100n. As Figure 1 shown, terminal device 100a, terminal device 100b, terminal device 100c, …, terminal device 100n may be respectively connected to the above-mentioned server 10 through a network, so that each terminal device can perform data interaction with the server 10 through this network connection.

[0038] Among them, each terminal device in the cluster of terminal devices may include: intelligent terminals with data communication functions such as smart phones, tablet computers, laptop computers, desktop computers, wearable devices, smart homes, head-mounted devices, vehicle-mounted terminals, etc. It should be understood that as Figure 1 shown, each terminal device in the cluster of terminal devices may be installed with an application client. When the application client runs on each terminal device, it can perform data interaction with the above-mentioned Figure 1 shown server 10 respectively. The application client here may include application programs capable of data communication, such as interface rendering applets, web pages or application programs that can perform data communication, etc.

[0039] Among them, as Figure 1 shown, the server 10 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms.

[0040] For ease of understanding, an embodiment of the present application may select one terminal device as the target terminal device among the Figure 1 shown multiple terminal devices. For example, for ease of understanding, an embodiment of the present application may use Figure 1The terminal device 100a shown is used as the target terminal device. The terminal device 100a can obtain a processing request for a video rendering service through an interface rendering component that runs in the terminal device 100a. The interface rendering component can refer to a user interface (UI) toolkit built using a modern reactive framework, which is used to display the display status of a video processing engine associated with the interface rendering component. When the status of the video processing engine changes, the interface rendering component compares the difference between the current display status and the upcoming display status to determine the minimum changes required for the underlying rendering tree to transition from the current display status to the upcoming display status. Among them, the interface rendering component can refer to a Flutter component. The Flutter component is an open-source user interface (UI) toolkit that helps developers efficiently build beautiful multi-platform applications through a set of code libraries and supports mobile, terminal, desktop, and embedded platforms, etc. For example, the target user can trigger the creation operation of a target virtual character in the video processing engine in the user interface provided by the interface rendering component. The interface rendering component can respond to the creation operation of the target virtual character by the target user and generate a processing request for the video rendering service of the target virtual character. This video rendering service is used to instruct the video processing engine to load and render the target virtual character so as to display the target virtual character to the target user in the user interface. The terminal device 100a can send the processing request for the video rendering service to the server 10, and the server 10 determines the target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request. The service attribute information of this video rendering service can include rendering parameters (that is, what parameters of the target virtual character need to be rendered, such as rendering position, rendering size, and rendering style, etc.). Among them, the target forwarding object can refer to the operating system of the terminal device 100a or the memory in the terminal device.

[0041] Further, the server 10 may return the target forwarding object to the terminal device 100a. The terminal device 100a may determine a video processing engine associated with the interface rendering component. The video processing engine refers to the receiving object for processing requests regarding video rendering services, that is, the interface rendering component needs to send processing requests regarding video rendering services to the video processing engine. Among them, the interface rendering component may provide a UI interface display for the video processing engine, that is, visualize the video processing engine. The video processing engine may refer to an engine used for processing video services. For example, the video processing engine may refer to Unity (i.e., a development tool), which is a real-time 3D interactive content creation and operation platform and can be used to create, operate, and monetize any real-time interactive 2D and 3D content. The supported platforms include mobile phones, tablets, PCs, game consoles, augmented reality, and virtual reality devices. The terminal device 100a may query, from the data integration plugin of the interface rendering component, the target communication information for communication between the target forwarding object and the video processing engine. The data integration plugin includes communication information for communication between at least two forwarding objects and the video processing engine respectively, and the at least two forwarding objects include the target forwarding object. Among them, the data integration plugin of the interface rendering component includes at least two data files that respectively meet the running formats of at least two forwarding objects, and one forwarding object corresponds to one data file. It can be understood that the running formats of the data files corresponding to each forwarding object are all different. The data file corresponding to each forwarding object includes the target communication information between the corresponding forwarding object and the video processing engine and the running data packet of the video processing engine. For example, the running format of Android (Android operating system) may be the AAR (a packaging format for the Android operating system) format, and the running format of IOS (Apple operating system) is Framework (a packaging format for the Apple operating system). For example, if the target forwarding object is the target operating system of the terminal device 100a and the running format of the target operating system of the terminal device 100a is running format A, then the video processing engine may be exported according to running format A, and the video processing engine is exported as a target data file that meets running format A. The target data file is the data file corresponding to the target operating system of the terminal device 100a. The target data file includes the running data packet of the video processing engine and the target communication information between the target operating system of the terminal device 100a and the video processing engine.

[0042] Furthermore, the terminal device 100a can send a processing request regarding the video rendering service to the target forwarding object. Through the target forwarding object, the processing request is forwarded to the video processing engine based on the target communication information, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request. In this way, by forwarding the processing request generated by the interface rendering component to the video processing engine through the target forwarding object, the communication between the interface rendering component (Flutter) and the video processing engine (Unity) is realized. At the same time, the data integration plugin of the interface rendering component includes the target communication information corresponding to different forwarding objects, and the display state in the video processing engine can be rendered and displayed by calling the interface rendering component in different operating systems, without developing corresponding platform rendering projects and function call interfaces for calling the video processing engine in different operating systems to render and display the display state in the video processing engine, smoothing out the differences between different hardware platforms. Using a set of function call interfaces corresponding to the interface rendering component can perform function calls with the video processing engine, which can reduce development costs, simplify the interface rendering and display process of the video processing engine, and also reduce the maintenance cost of communicating with the video processing engine.

[0043] For ease of understanding, further, please refer to Figure 2 , Figure 2 which is a schematic diagram of an application scenario of data communication provided by an embodiment of the present application. Among them, as Figure 2 shown, the target terminal device 20a can be any one of the terminal device clusters shown above Figure 1 . For example, the target terminal device 20a can be the above-mentioned terminal device 100b. After installing the interface rendering component on the target terminal device 20a, since the data integration plugin of the interface rendering component includes data files exported by the video processing engine that can run on various operating systems and communicate with various communication systems. As Figure 2 shown, the user interface 20b corresponding to the video processing engine can be opened in the interface rendering component, and the user interface 20b can visualize the video development process of the video processing engine. The target user can select the creation button of the virtual character to be created in the user interface 20b and create the corresponding virtual character in the user interface 20b. As Figure 2 shown, the target user can select the selection buttons corresponding to Role 1 and Role 2 respectively in the object creation view panel 20c of the user interface 20b and click the "Create Button" to trigger the creation operations for Role 1 and Role 2. The interface rendering component 20d can obtain the creation operations of the target user for Role 1 and Role 2 and generate a processing request for the rendering tasks of Role 1 and Role 2.

[0044] Further, the target terminal device 20a can obtain a processing request generated by the interface rendering component 20d for the rendering tasks of character 1 and character 2, and determine a target forwarding object 20e for forwarding the processing request according to the service attribute information about the rendering tasks of character 1 and character 2 carried in the processing request. Since the video processing engine and the interface rendering component 20d are a built framework and cannot communicate directly, a target forwarding object 20e for forwarding the processing request of the interface rendering component 20d can be determined. Among them, the target forwarding object 20e can refer to the operating system in the target terminal device 20a, and can also refer to the memory in the target terminal device 20a. Among them, the service attribute information can refer to the rendering parameters of character 1 and character 2, etc., such as the rendering positions, rendering sizes, and rendering styles of character 1 and character 2.

[0045] Specifically, the target terminal device 20a can determine the video processing engine 20f associated with the interface rendering component 20d, that is, determine the video processing engine 20f that receives the processing request generated by the interface rendering component 20d, and query the target communication information for communication between the target forwarding object 20e and the video processing engine 20f from the data integration plugin of the interface rendering component 20d. Through the target forwarding object 20e, based on the target communication information between the target forwarding object 20e and the video processing engine 20f, the processing request is forwarded to the video processing engine 20f. In this way, the communication between the interface rendering component 20d and the video processing engine 20f is realized. Further, after receiving the processing request for the rendering tasks of character 1 and character 2, the video processing engine 20f can create a rendering for character 1 and character 2 according to the service attribute information carried in the processing request. As Figure 2 shown, after the video processing engine 20f finishes creating the rendering for character 1 and character 2, the target user can see character 1 and character 2 in the user interface 20g of the interface rendering component, and the target user can perform operations such as editing and adjusting character 1 and character 2 in the user interface 20g of the interface rendering component. Through this solution, communication with the video processing engine and visualization of the video processing engine can be directly achieved through a set of unified interfaces of the interface rendering component in different operating systems, without creating platform rendering projects corresponding to different operating systems and creating interfaces for different platform rendering projects to communicate with the video processing engine, which can reduce the development cost, reduce the maintenance cost of communicating with the video processing engine, and simplify the process of visualizing the video processing engine.

[0046] Further, please refer to Figure 3 , which is a schematic flowchart of a data communication method provided by an embodiment of the present application. As Figure 3 shown, this method can be executed by the Figure 1 in the terminal device, or can also be executed byFigure 1 executed by the server in Figure 1 or jointly executed by the terminal device and the server in

[0047] In this application, the devices used to execute this method can be collectively referred to as computer devices. The data communication method may include, but is not limited to, the following steps S101 to S103:

[0048] In this application, when the video processing engine is applied to the terminal device, a user interface corresponding to the video processing engine needs to be built in the terminal device to interact with the target user. This application can build a user interface corresponding to the video processing engine through the interface rendering component, and send the rendering task triggered by the target user in the user interface to the video processing engine, so that the video processing engine executes the rendering task triggered by the target user. Among them, the interface rendering component in this application is developed across platforms and has interfaces for communicating with multiple platform operating systems, so it can run in different platform operating systems. The interface rendering component may refer to a Flutter component. The Flutter component is a toolkit for building user interfaces (UIs), which helps developers efficiently build beautiful multi-platform applications through a set of code libraries and supports mobile, terminal, desktop, and embedded platforms, etc. The Flutter component is built using a modern reactive framework and is used to display the display state of the associated component associated with the interface rendering component. When the state of the associated component changes, the interface rendering component will compare the difference between the current display state and the upcoming display state to determine the minimum change required for the underlying rendering tree to transition from the current display state to the upcoming display state. The video rendering service may refer to loading and rendering the character form of a character in a video, such as creating a rendering character in the video, or rendering video content such as the limb movements and facial expressions of a character in the video. The character may refer to a person, an animal, an item, etc., and the type of the character may be a cartoon, an anime, or a real person, etc. The video here may refer to a general video, an animated video, or a game video, etc.; a general video refers to a video obtained by shooting a real scene, such as a film and television work, a short video, a video promotional film, etc., such as a general video includes real people. The animated video includes videos of animated characters, such as the animated characters include one or more of the above-mentioned cartoon-type characters and anime-type characters; the game video refers to a video obtained by rendering a game scene, and the game video includes videos of game characters, game equipment, etc., such as the game characters may include one or more of the above-mentioned cartoon-type game characters and anime-type game characters.

[0049] Specifically, the target user can trigger a creation and rendering operation for the target virtual character in the video processing engine in the user interface corresponding to the video processing engine to build a video. For example, the target user can click the creation and rendering button of virtual character A in the user interface corresponding to the video processing engine to trigger the creation and rendering operation for virtual character A. Here, virtual character A can refer to a game character in a game video, or virtual character A can refer to an animated character in an animated video. The interface rendering component can receive the creation and rendering operation of the target user for virtual character A in the video processing engine, generate a video rendering service for virtual character A in the video processing engine, and this video rendering service is used to indicate creating and rendering virtual character A in the video processing engine. The interface rendering component can obtain the service attribute information required to execute the video rendering service, and this service attribute information can refer to the rendering parameters (such as rendering color, rendering size, rendering position, and rendering style, etc.) when creating and rendering the target virtual character. The interface rendering component can encapsulate the service attribute information of this video rendering service according to the communication protocol between the interface rendering component and the video processing engine to obtain a processing request for the video rendering service. The computer device can obtain the processing request for the video rendering service generated by the interface rendering component, and determine the target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request. Among them, since both the video processing engine and the interface rendering component are development frameworks and cannot communicate, the target forwarding object for forwarding the processing request can be determined, and the processing request for the video rendering service generated by the interface rendering component can be sent to the video processing engine. Among them, the target forwarding object can refer to the platform operating system in the terminal device, such as the Android operating system (an open-source operating system mainly used in mobile devices), the iOS operating system (a mobile operating system developed by Apple Inc.), etc., and the target forwarding object can also refer to the memory in the terminal device.

[0050] Optionally, the specific content for the computer device to obtain the processing request for the video rendering service through the interface rendering component may include: through the interface rendering component, obtain the service type of the video rendering service and the data transmission format for data transmission between the interface rendering component and the video processing engine. According to the service type of the video rendering service, encapsulate the service attribute information of the video rendering service to obtain a service processing message carrying the service attribute information. According to the data transmission format, perform format conversion processing on the service processing message carrying the service attribute information to obtain the processing request for the video rendering service generated by the interface rendering component.

[0051] Specifically, the computer device can obtain the service type of the video rendering service through the interface rendering component, as well as the data transmission format for data transmission between the interface rendering component and the video processing engine. Among them, the service type of the video rendering service can include a callback service type and a non-callback service type. The callback service type means that when the video processing engine finishes processing the video rendering service, the video processing engine needs to return the processing result; the non-callback service type means that when the video processing engine finishes processing the video rendering service, the video processing engine does not need to return the processing result. Among them, the data transmission format for data transmission between the interface rendering component and the video processing engine can be the Json string format. Using the Json string format for data transmission, the Json string format is a lightweight data exchange format, which uses a text format completely independent of programming languages to store and represent data, is easy for users to read and write, and is also easy for machines to parse and generate, effectively improving the network data transmission efficiency. Of course, the data transmission format for data transmission between the interface rendering component and the video processing engine can be other formats such as XML (Xtensible Markup Language, which is an extensible markup language and a markup language used to mark electronic files to make them structured), YAML (Yet Another Markup Language, an intuitive data serialization format that can be recognized by a computer), etc., and can be customized by both the interface rendering component and the video processing engine according to the different services to be processed. The embodiments of the present application do not limit this here.

[0052] Further, the computer device can encapsulate the service attribute information of the video rendering service through the interface rendering component according to the service type of the video rendering service, and obtain a service processing message carrying the service attribute information. Among them, both the interface rendering component and the video processing engine can pre-agree on the protocol content of the communication protocol, such as agreeing on the communication parameters required for communication between the interface rendering component and the video processing engine and the packaging format of the communication message, etc. The interface rendering component can encapsulate the service attribute information of the video rendering service according to the service type of the video rendering service and the communication protocol for communicating with the video processing engine.

[0053] Among them, the communication protocol for the interface rendering component to communicate with the video processing engine may include a sequence number (seq), an acknowledgment number (ack), a target object, a target method, a target call method, a message body, and a callback declaration. The sequence number is the unique identifier of the message (i.e., the processing request), and it can also be the target service identifier of the video rendering service, used to distinguish different messages. When sending the first message to the video processing engine, a random number can be used as the sequence number. In subsequent messages, the sequence number is the sequence number of the previous message plus one. The acknowledgment number is the sequence number of the message (i.e., the processing request) sent by the other party that needs to be replied to currently, used to reply to the message. If the message is a request message or a notification message, the value of the acknowledgment number is set to -1, indicating that this is a request / notification; if the message is a reply message, the value of the acknowledgment number is set to the sequence number of the message (i.e., the processing request) sent by the other party that needs to be replied to currently. For example, when the current video processing engine receives the message a1 sent by the interface rendering component and needs to generate a reply message a2 to be sent back to the interface rendering component, the acknowledgment number of the reply message a2 is the sequence number of the message a1. If the sequence number of the message a1 is 001, then the acknowledgment number of the message a2 is 001. The target object refers to the object in the video processing engine that receives the processing request sent by the interface rendering component, and the target method refers to the method in the video processing engine that receives the processing request sent by the interface rendering component. The target call method refers to the method in the video processing engine that the interface rendering component wants to call. The method parameters of the target call method are the message body. The message body is the data that the interface rendering component wants to transmit to the video processing engine (i.e., the service attribute information of the video rendering service), and its data format is in Json string format. It is defined by the interface rendering component and the video processing engine party according to different services. The callback declaration is used to indicate that after the interface rendering component sends a processing request regarding the video rendering service to the video processing engine, the video processing engine returns the processing result of the video rendering service.

[0054] Specifically, the interface rendering component can obtain the sequence number, reply number, target object, target method, target call method, message body, and callback declaration of the video rendering service according to the communication protocol, and encapsulate them to obtain a service processing message carrying service attribute information. Further, the interface rendering component performs format conversion processing on the service processing message carrying service attribute information according to the data transmission format to obtain a processing request for the video rendering service generated by the interface rendering component. For example, if the data transmission format is the Json string format, the format of the service processing message carrying service attribute information is converted into the Json string format, and the service processing message with the Json string format is determined as the processing request for the video rendering service generated by the interface rendering component. In this way, through the communication protocol between the interface rendering component and the video processing engine, it can be realized that in addition to being able to transmit ordinary string data between the interface rendering component and the video processing engine, it also supports method call and callback notification functions.

[0055] Optionally, the specific manner in which the computer device encapsulates the service attribute information of the video rendering service through the interface rendering component may include: if the service type of the video rendering service is a callback service type, the interface rendering component obtains the callback declaration associated with the video rendering service, encapsulates the service attribute information of the video rendering service in the message body, and encapsulates the callback declaration in the message header to obtain a service processing message carrying service attribute information; the callback declaration is used to instruct the video processing engine to return the processing result of the video rendering service to the interface rendering component. If the service type of the video rendering service is a non-callback service type, the interface rendering component encapsulates the service attribute information of the video rendering service in the message body to obtain a service processing message carrying service attribute information.

[0056] Specifically, if the business type of the video rendering service is a callback business type, that is, when the video processing engine finishes processing the video rendering service, it needs to return the processing result to the interface rendering component. Then, the interface rendering component obtains the callback declaration associated with the video rendering service, and this callback declaration is used to instruct the video processing engine to return the processing result of the video rendering service to the interface rendering component. The interface rendering component can encapsulate the business attribute information of the video rendering service into the message body, encapsulate the callback declaration in the message header, and also encapsulate the serial number, reply number, target object, target method, and target call method of the video rendering service into the message header to obtain a business processing message carrying the business attribute information. If the business type of the video rendering service is a non-callback business type, that is, when the video processing engine finishes processing the video rendering service, it does not need to return the processing result to the interface rendering component. Then, the interface rendering component encapsulates the business attribute information of the video rendering service in the message body and also encapsulates the serial number, reply number, target object, target method, and target call method of the video rendering service into the message header to obtain a business processing message carrying the business attribute information. In this way, by judging whether to encapsulate the callback declaration associated with the video rendering service according to the business type of the video rendering service, the callback notification function between the interface rendering component and the video processing engine can be realized.

[0057] Among them, the computer device can preset a method set and a function set associated with the interface rendering component. The method set associated with the interface rendering component can be used to store methods that will be called by the video processing engine, and the function set associated with the interface rendering component is used to store callback functions in the processing requests sent by the interface rendering component. Similarly, the computer device can set a method set and a function set associated with the video processing engine. The method set associated with the video processing engine can be used to store methods that will be called by the interface rendering component, and the function set associated with the video processing engine is used to store callback functions in the processing requests sent by the video processing engine. Among them, both the method set and the function set can be HashMap (a kind of hash table). The content stored in the HashMap is a key-value mapping. Data is stored according to the key-value pair, and it has a very fast access speed, and the required data can be queried relatively quickly. Among them, the key (i.e., key) in the method set is the identifier of the target call method in the processing request, and the key-value (i.e., value) in the method set is the corresponding method (i.e., the specific processing logic). When the interface rendering component or the video processing engine is initialized, or when a method will be called by the other side, the method to be called in advance is added to the method set and will not be released (i.e., deleted) after being called by the other side, and it needs to be manually released by the management staff. The key (i.e., key) in the function set is the serial number of the processing request (i.e., the serial number of the video rendering service), and the key-value (i.e., value) in the function set is the corresponding callback function. After the callback function in the function set is called, it will be automatically released (i.e., deleted).

[0058] Optionally, when the service type of the video rendering service is a callback service type, the computer device may obtain the target service identifier of the video rendering service and the first callback function associated with the video rendering service. The target service identifier of the video rendering service may be the sequence number of the processing request. The first callback function refers to the callback function that needs to be called when the interface rendering component receives the processing result of the video rendering service returned by the video processing engine, and is used to perform subsequent processing of the video rendering service. Further, the computer device may establish an association relationship between the target service identifier and the first callback function, and store the first callback function in the function set associated with the interface rendering component according to the association relationship. The association relationship between the target service identifier and the first callback function is used to instruct the interface rendering component to find the first callback function from the function set associated with the interface rendering component according to the processing result of the video rendering service returned by the video processing engine, and call the first callback function to perform subsequent processing of the video rendering service. It can be understood that the computer device may use the target service identifier of the video rendering service as the key "key" of the key-value pair, and use the first callback function as the value "value" corresponding to the key "target service identifier", that is, "target service identifier = first callback function", establish an association relationship between the target service identifier and the first callback function, and store the association relationship between the target service identifier and the first callback function in the function set corresponding to the interface rendering component.

[0059] In this way, when the service type of the video rendering service is a callback service type, the first callback function corresponding to the video rendering service is stored in the function set associated with the interface rendering component, and a callback declaration is encapsulated in the processing request to instruct the video processing engine to return the processing result of the video rendering service. In this way, when the interface rendering component receives the processing result of the video rendering service returned by the video processing engine, it can obtain the first callback function corresponding to the target service identifier from the function set associated with the interface rendering component according to the target service identifier of the video rendering service, and call the first callback function to process the subsequent processing of the video rendering service. In this way, the interface rendering component and the video processing engine can not only transfer ordinary string data, but also support the callback notification function.

[0060] Optionally, the specific method for the computer device to determine the target forwarding object for forwarding service attribute information may include: obtaining the information data volume of the service attribute information of the video rendering service carried in the processing request. If the information data volume of the service attribute information is greater than or equal to the target data volume, the target shared memory in the terminal device running the interface rendering component is used as the target forwarding object. If the information data volume of the service attribute information is less than the target data volume, the target operating system of the terminal device running the interface rendering component is used as the target forwarding object.

[0061] Specifically, the computer device can obtain the amount of information data of the service attribute information carried in the processing request, and detect whether the amount of information data of the service attribute information is less than the target data amount. In other words, the service attribute information of the video rendering service can refer to the rendering parameters (such as rendering position parameters, rendering size parameters, rendering style parameters, etc.) used to create and render the target virtual character, and the amount of information data of the service attribute information can refer to the parameter data amount of the rendering parameters. If the amount of information data of the service attribute information is greater than or equal to the target data amount, the target shared memory in the terminal device running the interface rendering component can be used as the target forwarding object. The interface rendering component can store the processing request in the target shared memory, and the video processing engine can obtain the processing request of the interface rendering component from the target shared memory, so as to realize the forwarding of the processing request of the interface rendering component to the video processing engine by the target shared memory.

[0062] Among them, the computer device can call the memory allocation function to allocate an area in the memory of the terminal device running the interface rendering component as the target shared memory, and generate a call interface for the target shared memory area, and send the call interface to the interface rendering component and the video processing engine for the interface rendering component and the video processing engine to write data or read data into the target shared memory, and store the communication data between the interface rendering component and the video processing engine. In this way, when transmitting a large amount of service attribute information data, the data transmission time can be reduced, and at the same time, the number of data copies can be reduced, improving the data transmission efficiency.

[0063] Specifically, if the amount of information data of the service attribute information is less than the target data amount, the target operating system of the terminal device running the interface rendering component is used as the target forwarding object. In this way, when the amount of information data of the service attribute information is less than the target data amount, forwarding the processing request of the interface rendering component to the video processing engine through the target operating system of the terminal device can ensure that too much hardware resources of the terminal device will not be occupied, and while causing a large operating load on the terminal device, the security of data transmission between the interface rendering component and the video processing engine can be guaranteed. When the amount of information data of the service attribute information is greater than or equal to the target data amount, forwarding through the target operating system of the terminal device will occupy a certain amount of hardware resources in the terminal device and cause a large operating load on the terminal device at the same time. Therefore, the communication information between the interface rendering component and the video processing engine can be forwarded through the target shared memory forwarding method, which can improve the data transmission efficiency.

[0064] S102. Determine the video processing engine associated with the interface rendering component, and query the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plug-in of the interface rendering component.

[0065] Specifically, the computer device can determine the video processing engine associated with the interface rendering component. In other words, after the computer device receives the processing request of the interface rendering component, it can determine the video processing engine that receives the processing request of the interface rendering component. Further, the computer device can query the target communication information for communication between the target forwarding object and the video processing engine from the data integration plugin of the interface rendering component. The data integration plugin of the interface rendering component is a program written according to a certain specification of the application programming interface and can only run on the system platforms specified by the program (multiple platforms can be supported simultaneously). The communication information for communication between two types of forwarding objects and the video processing engine respectively, as well as the running data packets for the video processing engine to run under one or more operating systems, are added to the data integration plugin. At least two types of forwarding objects include the target forwarding object.

[0066] In this way, when the interface rendering component runs in the target operating system of the terminal device, the video processing engine can run in the target operating system of the terminal device through the running data packet corresponding to the target operating system in the data integration plugin. Through the data integration plugin in the interface rendering component, the running processes of the interface rendering component and the video processing engine can be decoupled, enabling the independent development of the interface rendering component and the video processing engine without mutual influence. At the same time, the communication mechanism between the interface rendering component and the video processing engine can be applied under different operating systems, eliminating the differences in communication between the video processing engine and different hardware platform operating systems. In other words, through the data integration plugin in the interface rendering component, the interface rendering component and the video processing engine can be developed and run independently of each other without mutual influence, reducing the dependence between the video processing engine and the interface rendering component. For example, after the interface rendering component sends a processing request to the video processing engine, it can continue with other business processes without waiting for the processing result of the video processing engine.

[0067] Optionally, the specific way for the computer device to generate the data integration plugin in the interface rendering component may include: The computer device can obtain data files corresponding to at least two forwarding objects respectively, and the data files of each forwarding object include the target communication information between the corresponding forwarding object and the video processing engine. Further, add the data files corresponding to at least two forwarding objects to the data integration plugin respectively, and add the data integration plugin to the project engineering of the interface rendering component, then the data integration plugin of the interface rendering component is obtained. Specifically, when the computer device integrates the data file corresponding to the operating system of the terminal device in the data integration plugin, such as operating systems like Android operating system, iOS operating system, etc., it can call the automated build script in the data integration plugin to export the video processing engine into at least two data files, and the database formats corresponding to the at least two data files are all different, and the database format corresponding to each data file matches the operation rules of an operating system. Among them, each data file includes the target communication information between the corresponding operating system and the video processing engine and the video processing engine operation data packet that adapts to the operation rules of the corresponding forwarding object.

[0068] It can be understood that the data integration plugin includes at least two data files that adapt to the operation rules corresponding to one or more operating systems respectively. The at least two data files can be AAR data files that adapt to the operation rules of the Android operating system, Framework data files that adapt to the operation rules of the iOS operating system, DLL (a library format that contains code and data that can be used by multiple programs simultaneously) data files that adapt to the windows operating system, etc. The computer device can pre-export the video processing engine into at least two data files that meet database formats such as AAR, Framework, and DLL, and integrate the at least two data files into the data integration plugin. Specifically, when the computer device integrates the data file corresponding to the target shared memory of the terminal device in the data integration plugin, it can export the c / c++ code associated with the target shared content into a data file in a common database format, and the common database format refers to a format supported by both the interface rendering component and the video processing engine. The data file in the common database format includes the communication information between the target shared memory, the video processing engine, and the interface rendering component, and add the data file in the common database format to the data integration plugin.

[0069] Such as Figure 4 shown, Figure 4 is a schematic diagram of generating a data integration plugin provided by an embodiment of the present application. Such as Figure 4As shown, when the forwarding object is the operating system in the terminal device, when the computer device integrates the data files of different operating system objects in the data integration plugin, the computer device can export the video processing engine as a first data file in the first database format, and the first database format can refer to the AAR format adapted to the operating rules of the Android operating system, and the first data file can refer to the AAR data file adapted to the operating rules of the Android operating system. The first data file is generated depending on the project engineering of the Android operating system. In other words, the first data file is generated in the directory of the project engineering of the Android operating system. Similarly, the computer device can export the video processing engine as a second data file in the second database format, and the second database format can refer to the Framework format adapted to the operating rules of the iOS operating system, and the second data file can refer to the Framework file adapted to the operating rules of the iOS operating system. The second data file is generated depending on the project engineering of the iOS operating system. In other words, the second data file is generated in the directory of the project engineering of the iOS operating system. Further, the computer device can integrate the first data file and the second data file into the data integration plugin and add the data integration plugin to the interface rendering component. In this way, it is possible to provide a communication channel between the interface rendering component and the video processing engine through the data integration plugin, and at the same time, it is also possible to use the interface rendering component on the hardware platforms of different operating systems, smoothing out the differences in the hardware platforms of different operating systems, and a set of unified interfaces for using the interface rendering component can be used to complete the two-way communication with the video processing engine.

[0070] Optionally, the target forwarding object can be the target operating system. The generation method of the target communication information between the target operating system and the video processing engine can include: obtaining the second external communication interface of the video processing engine and the target database format matching the target operating system. According to the target database format, perform conversion processing on the second external communication interface to obtain a communication interface file. Add the communication interface file to the data integration plugin of the interface rendering component, and determine the communication interface file as the target communication information for the target operating system to communicate with the video processing engine.

[0071] Specifically, the computer device can use the second external communication interface of the video processing engine. This second external communication interface refers to the communication interface (communication API) provided by the video processing engine, through which communication with the video processing engine can be carried out. The computer device can obtain the target database format of the target operating system. For example, the database format of the Android operating system is AAR, and the data format of the iOS operating system is Framework. Further, the computer device can perform conversion processing on the second external communication interface according to the target database format of the target operating system to obtain a communication interface file. It can be understood that the computer device can convert the second external interface of the video processing engine into the target database format corresponding to the target operating system to obtain a communication interface file. The computer device can add the communication interface file between the target operating system and the video processing engine to the data integration plug-in of the interface rendering component and determine this communication interface file as the target communication information for communication between the target operating system and the video processing engine. It can be understood that the target communication information between different operating systems and the video processing engine is obtained by converting the second external communication interface of the video processing engine, and different communication interface files in different formats are converted for different operating systems.

[0072] S103, through the target forwarding object, forward the processing request to the video processing engine based on the target communication information, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0073] Specifically, the computer device can call the interface rendering component to send the processing request regarding the video rendering service to the target forwarding object. Through the target forwarding object, based on the target communication information between the target forwarding object and the video processing engine, send the processing request regarding the video rendering service to the video processing engine. After the video processing engine receives the processing request regarding the video rendering service, the computer device can call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request. Since the video processing engine only supports communication with the operating system, and both the interface rendering component and the video processing engine are development frameworks and cannot directly communicate, the processing request of the interface rendering component can be sent to the video processing engine through the target forwarding object to achieve communication between the interface rendering component and the video processing engine.

[0074] Optionally, the specific manner in which the computer device invokes the interface rendering component to send a processing request for the video rendering service to the target forwarding object may include: after the computer device obtains the processing request for the video rendering service generated by the interface rendering component, it may send the processing request to the target forwarding object through the target transmission method. Among them, when the target forwarding object is the target operating system of the terminal device, the target forwarding method may be the MethodChannel method. The MethodChannel method is a communication mechanism between the interface rendering component and operating systems such as Android / iOS, which realizes data transmission between the interface rendering component and operating systems such as Android / iOS. Specifically, when using the MethodChannel method to send the processing request to the target forwarding object, the computer device may pre-set a method channel for forwarding the processing request in the interface rendering component and the target operating system, and set the service processing logic corresponding to the method channel in the target operating system. The interface rendering component may send the processing request for the video rendering service to the target operating system in the terminal device through the method channel. After receiving the processing request, the target operating system may obtain the service processing logic corresponding to the method channel (i.e., the processing logic for forwarding the processing request to the video processing engine) and forward the processing request to the video processing engine.

[0075] Optionally, the specific manner in which the computer device invokes the video processing engine to process the video rendering service according to the service attribute information carried in the processing request may include: invoking the video processing engine to process the video rendering service according to the service attribute information to obtain a processing result for the video rendering service. If the processing request also carries a callback declaration associated with the video rendering service, the processing result is sent to the target forwarding object through the video processing engine, and the processing result is returned to the interface rendering component through the target forwarding object.

[0076] Specifically, the computer device can call the video processing engine to process the video rendering service according to the service attribute information, and obtain the processing result of the video rendering service. After the video processing engine finishes processing the video rendering service, it can detect whether the processing request carries a callback statement associated with the video rendering service. If the processing request carries a callback statement associated with the video rendering service, the video processing engine returns the processing result of the video rendering service to the target forwarding object, and the target forwarding object returns the processing result of the video rendering service to the interface rendering component. If the processing request does not carry a callback statement associated with the video rendering service, the video processing engine will not return the processing result of the video rendering service to the interface rendering component. Among them, the callback statement associated with the video rendering service is used to instruct the video processing engine to return the processing result of the video rendering service to the interface rendering component after processing the video rendering service. In this way, the callback notification function between the interface rendering component and the video processing engine can be realized.

[0077] Optionally, the specific manner in which the computer device calls the video processing engine to obtain the processing result of the video rendering service may include: calling the video processing engine to obtain the processing type of the video rendering service. If the processing type of the video rendering service is the method call type, obtain the target method identifier carried in the service attribute information. From the method set corresponding to the video processing engine, obtain the target call method corresponding to the target method identifier, pass the service attribute information to the target call method, and execute the target call method carrying the service attribute information to obtain the processing result of the video rendering service.

[0078] Specifically, the computer device can call the video processing engine to obtain the processing type of the video rendering service. The processing type can include a method call type and a data transfer type. The method call type refers to the need to call the call method in the video processing engine, and the data transfer type refers to transferring data to the video processing engine. Among them, if the processing type of the video rendering service is the method call type, the target method identifier carried in the service attribute information is obtained. The target method identifier refers to the method that the interface rendering component needs to call the video processing engine and is encapsulated into the message header of the service processing message carrying the service attribute information when the interface rendering component generates a processing request. Further, the video processing engine can obtain the target call method corresponding to the target method identifier from the method set corresponding to the video processing engine (that is, the method set associated with the video processing engine). And use the service attribute information in the video rendering service as a method parameter and transfer it to the target call method, and execute the target call method carrying the service attribute information to obtain the processing result of the video rendering service. The processing result of the video rendering service can refer to the completion of the execution of the video rendering service or the failure of the execution of the video rendering service. For example, if the video rendering service is to make the target virtual character 1 walk up 5 steps, the service attribute information of the video rendering service is to walk up 5 steps. After receiving the processing request for the video rendering service, the video processing engine can call the walking method of the target virtual character walking and transfer walking up 5 steps as a method parameter to the walking method of the target virtual character walking and execute walking up 5 steps.

[0079] Optionally, the computer device can call the video processing engine to obtain the processing type of the video rendering service. If the processing type of the video rendering service is the data transfer type, the general service processing logic in the video processing engine is obtained, and the communication service processing logic is executed according to the service attribute information to obtain the processing result of the video rendering service. It can be understood that if the processing type of the video rendering service is the data transfer type, the video rendering service is customarily processed by the video processing engine according to the general service processing logic. For example, if the video rendering service is to modify the color parameters of the target virtual character 1 and there is no corresponding call method for modifying the color parameters of the target virtual character 1, the video processing engine can modify the color parameters of the target virtual character 1 by itself according to the general service processing logic. In this way, by determining the processing method of the video rendering service through the processing type of the video rendering service, the video processing engine can be enabled to identify the call method required in the processing request, and further, not only simple string data transmission can be supported between the video processing engine and the interface rendering component, but also the method call function can be supported.

[0080] Optionally, the specific method of sending the processing result to the target forwarding object through the video processing engine may include: obtaining the local communication interface of the target forwarding object through the video processing engine. Through the local communication interface, call the message receiving function in the target forwarding object for receiving information, and use the processing result as the function parameter of the message receiving function and pass it into the message receiving function.

[0081] Specifically, when the video processing engine sends the processing result of the video rendering service to the target forwarding object, it can obtain the local communication interface of the target forwarding object. Through the local communication interface, call the message receiving function in the target forwarding object for receiving information, and use the processing result as the function parameter of the message receiving function and pass it into the message receiving function, thereby realizing sending the processing result to the target forwarding object. Among them, when the target forwarding object is the Android operating system, the local communication interface of the Android operating system is JNI. JNI is a Java native interface that enables programs in the Java virtual machine of the Android operating system to call programs written in other languages or be called by programs written in other languages. In this way, the video processing engine can communicate with the Android operating system through the JNI interface, call the message receiving function in the Android operating system for receiving the processing result of the video processing engine, and use the processing result as the function parameter and pass it into the message receiving function, thereby completing sending the processing result to the Android operating system. Among them, when the target forwarding object is the iOS operating system, the local communication interface of the iOS operating system is the Unity plugin. The Unity plugin interface includes the interface files and source files of iOS. The computer device can pre-introduce this Unity plugin into the video processing engine. When it is necessary to send the processing result to the iOS operating system, obtain the interface of iOS in the Unity plugin, call the message receiving function in the iOS operating system for receiving the processing result of the video processing engine, and use the processing result as the function parameter and pass it into the message receiving function, thereby completing sending the processing result to the iOS operating system.

[0082] Optionally, after receiving the processing result of the video rendering service sent by the video processing engine, the target forwarding object can forward the processing result of the video rendering service to the interface rendering component through the target forwarding method. Among them, when the target forwarding object is the target operating system of the terminal device, the target forwarding method can be the MethodChannel method. The MethodChannel method is a communication mechanism between the interface rendering component and operating systems such as Android / iOS, which realizes data transmission between the interface rendering component and operating systems such as Android / iOS. The specific content of the target forwarding object forwarding the processing result to the interface rendering component through the MethodChannel method can refer to the above description, and the embodiments of the present application will not elaborate here.

[0083] Optionally, the processing result obtained by the video processing engine after processing the video rendering service may include processing result indication information and the target service identifier of the video rendering service. The processing result indication information is used to indicate that the processing result of the video rendering service with the target service identifier is processing success or processing failure. After receiving the processing result returned by the video processing engine, if the processing result indication information of the video rendering service indicates that the processing result of the video rendering service with the target service identifier is processing success, the interface rendering component is called, and according to the target service identifier in the processing result, the callback function associated with the target service identifier is determined from the function set associated with the interface rendering component as the first callback function, and the first callback function is executed. It can be understood that the first callback function refers to the function called when the interface rendering component determines that the processing result of the video rendering service is processing success. The function set associated with the interface rendering component includes N callback functions, one callback function is associated with one service identifier, and N is a positive integer. For example, N can take values of 1, 2, 3...

[0084] Optionally, the computer device can also preset, in the function set associated with the interface rendering component, a first callback function and a second callback function associated with the target service identifier. The first callback function is a function called when the interface rendering component determines that the processing result of the video rendering service is successful. The third callback function is a function called when the interface rendering component determines that the processing result of the video rendering service is failed. The function set includes N callback functions, and two callback functions are associated with one service identifier. In this way, when the interface rendering component determines that the processing result of the video rendering service is successful, it obtains the first callback function from the function set associated with the interface rendering component according to the target service identifier of the video rendering service, and executes the first callback function. When the interface rendering component determines that the processing result of the video rendering service is failed, it obtains the second callback function from the function set associated with the interface rendering component according to the target service identifier of the video rendering service, and executes the second callback function. For example, the interface rendering component requests the video processing engine to create the target virtual character a1. When the video processing engine successfully creates the target virtual character a1, the interface rendering component can call the first callback function to output a message indicating that the target virtual character 1 is successfully created to the target user. When the video processing engine fails to create the target virtual character a1, the interface rendering component can call the second callback function to output a message indicating that the target virtual character 1 is failed to be created to the target user.

[0085] As Figure 5 shown, Figure 5 is a schematic diagram of forwarding a processing request through a target operating system provided by an embodiment of the present application. As Figure 5As shown, the target forwarding object for forwarding the processing request of the interface rendering component is the target operating system of the terminal device running the interface rendering component, and the target operating system may refer to the Android operating system, the iOS operating system, etc. After the interface rendering component generates a processing request for the video rendering service, it can execute Step 1 to set the sequence number of the processing request to x and the reply number to -1. The reply number of -1 indicates that this is a request. It can be understood that the interface rendering component can use the method channel (i.e., MethodChannel) between it and the target operating system to send the processing request. For the specific process, reference can be made to the communication process between the interface rendering component and the target operating system above, which will not be elaborated in this embodiment of the present application. Further, after receiving the processing request sent by the interface rendering component, the target operating system can execute Step 2 and forward the processing request to the video processing engine through the target communication information (i.e., the communication interface file) between it and the video processing engine. After receiving the processing request sent by the interface rendering component, the video processing engine can execute Step 3 and process the video rendering service based on the service attribute information carried in the processing request to obtain a processing result. Among them, the process of the video processing engine processing the video rendering service can be referred to the specific content of Step S103 above, which will not be elaborated in this embodiment of the present application. Further, when the video processing engine determines that it needs to return the processing result of the target rendering service to the interface rendering component according to the callback declaration carried in the processing request, it can execute Step 4 and send the processing result to the target operating system. The sequence number of the processing result is y, and the reply number is the sequence number of the processing request, which is used to indicate that the processing result is a reply message to the processing request and is used to reply to the processing request. Among them, the process of the video processing engine sending the processing result to the target operating system can be referred to the specific content of Step S103 above, which will not be elaborated in this embodiment of the present application. Further, after receiving the processing result sent by the video processing engine, the target operating system can execute Step 5 and forward the processing result sent by the video processing engine to the interface rendering component. Among them, the process of the target operating system forwarding the processing result sent by the video processing engine to the interface rendering component can be referred to the specific content of Step S103 above, which will not be elaborated in this embodiment of the present application. After receiving the processing result sent by the video processing engine, the interface rendering component can execute Step 6, and according to the reply number in the processing result, obtain the callback function corresponding to the target service identifier (i.e., the reply number) of the video rendering service from the function set associated with the interface rendering component, and execute the callback function corresponding to the target service identifier (i.e., the reply number).In this way, the communication between the interface rendering component and the video processing engine can be realized. The UI interface of the video processing engine can be constructed through the interface rendering component, visualizing the development process of the video processing engine, without building corresponding platform rendering components for different operating systems, which can reduce the development cost and the maintenance cost of communicating with the video processing engine. It can not only support the data transmission of strings, but also support function call functions and callback notification functions.

[0086] Optionally, the interface rendering component can create views corresponding to different operating systems according to different operating systems. The views corresponding to different operating systems are used to carry the video processing engine player, and the video processing engine player is used to play the video in the video processing engine. At the same time, the interface rendering component can create a controller for the video processing engine player. The controller of the video processing engine player includes a communication channel for the video processing engine to communicate with the target forwarding object and a function call interface for calling the video processing engine. The controller of the video processing engine player is used to control the performance of the video processing engine. In this way, the relevant functions in the video processing engine can be called through the interface rendering component to control the performance of the video processing engine.

[0087] Specifically, the user interface corresponding to the video processing engine is used to visualize the video processing engine and for the target user to build a video scene. Therefore, when the user interface corresponding to the video processing engine is closed, the target view panel carrying the video processing engine player and the controller of the video processing engine player will not be destroyed. Only when the video processing engine is closed, the target view panel carrying the video processing engine player and the controller of the video processing engine player will be destroyed. This can improve the reusability of the target view panel of the video processing engine player and the controller of the video processing engine player.

[0088] Similarly, the video processing engine can also generate a target message according to the communication protocol with the interface rendering component. The target message can be a reply message from the video processing engine for the processing request of the video rendering service sent by the interface rendering component. Among them, the communication protocol between the video processing engine and the interface rendering component can also include a sequence number (seq), an acknowledgment number (ack), a message body, a target call method, and a callback function. The specific content can refer to the communication protocol between the interface rendering component and the video processing engine mentioned above. Similarly, the video processing engine can first send the target message to the target forwarding object, and the target forwarding object forwards the target message to the interface rendering component. Similarly, the interface rendering component can process the target message according to the processing type of the target message. Among them, the processing type of the target message can also include a method call type and a data transfer type, and the specific content can refer to the above processing process of the video rendering service. When the target message indicates that the video processing engine needs the interface rendering component to return a processing result, the interface rendering component returns the processing result of the target message to the video processing engine. The communication process from the video processing engine to the interface rendering component can refer to the communication process from the interface rendering component to the video processing engine, which will not be elaborated in this application.

[0089] In the implementation of this application, a processing request for video rendering services is obtained through an interface rendering component. Based on the service attribute information of the video rendering service carried in the processing request, a target forwarding object for forwarding the processing request is determined. A video processing engine associated with the interface rendering component is determined, and target communication information for the target forwarding object to communicate with the video processing engine is queried from the data integration plugin of the interface rendering component. Since the data integration plugin includes target communication information for at least two types of forwarding objects to communicate with the video processing engine respectively, the target forwarding object can communicate with the video processing engine. Through the target forwarding object, the processing request is forwarded to the video processing engine based on the target communication information, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request. In this way, the target forwarding object can forward the processing request generated by the interface rendering component to the video processing engine, realizing the communication and function call between the interface rendering component and the video processing engine. At the same time, only one set of interfaces between the interface rendering component and the video processing engine needs to be developed, so that video rendering service processing can be carried out by calling the video processing engine through the interface rendering component in different operating systems, instead of developing different platform rendering components in different operating system platforms to call the video processing engine for video rendering service processing. Different platform rendering components require different interfaces to communicate and perform function calls with the video processing engine. In this way, the development cost of calling the video processing engine can be reduced, and the maintenance cost of communicating with the video processing engine can be reduced, simplifying the process of calling the video processing engine in different operating system platforms, and thus improving the communication efficiency with the video processing engine. Through this application, by deploying a data integration plugin in the interface rendering component, the data integration plugin includes communication information for multiple forwarding objects to communicate with the video processing engine. Here, the forwarding object is an object used for data forwarding between the interface rendering component and the video processing engine, such as multiple operating systems and shared memory. Based on the communication information in the data integration plugin, communication between the interface rendering component and the video processing engine can be achieved. In other words, through this data integration plugin, a communication channel can be provided to the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plugin can be applied to hardware platforms with different operating systems, improving the applicable range of the data integration plugin. In addition, during the communication process between the interface rendering component and the video processing engine, it is not necessary to adaptively modify the interface rendering component, reducing the development cost, while avoiding errors in the development process and improving the communication efficiency between the interface rendering component and the video processing engine.

[0090] Further, please refer to Figure 6 , which is a schematic flowchart of a data communication method provided by an embodiment of this application. As Figure 6 shown, this method can be executed by a terminal device in Figure 1 , or can also be executed byFigure 3 executed by the server in Figure 1 or jointly executed by the terminal device and the server in Figure 6 . In this application, the devices used to execute this method can be collectively referred to as computer devices. As

[0091] shown, this data communication method may include but is not limited to the following steps S201 - S204:

[0092] Specifically, the specific content of step S201 in the embodiments of this application can refer to the specific content of step S101 in the above Figure 3 .

[0093] S202, if the information data volume of the service attribute information is greater than or equal to the target data volume, then determine the target shared memory in the terminal device running the interface rendering component as the target forwarding object for forwarding the processing request.

[0094] Specifically, since the interface rendering component is a cross - platform development framework and the video processing engine does not support communication with the development framework, the processing request for the video rendering service generated by the interface rendering component can be forwarded to the video processing engine through the target forwarding object, thereby realizing communication between the video processing engine and the interface rendering component. When the computer device determines that the information data volume of the service attribute information is greater than or equal to the target data volume and uses the target operating system of the terminal device running the interface rendering component as the forwarding object, it will bring a large operating load to the terminal device and occupy a certain amount of hardware resources of the terminal device. Therefore, it is possible to determine the target shared memory in the terminal device running the interface rendering component to forward the processing request, which can reduce the operating load of the terminal device. Among them, the computer device can call the memory allocation function to allocate a region in the memory of the terminal device running the interface rendering component as the target shared memory, and generate a call interface for this target shared memory region, and send this call interface to the interface rendering component and the video processing engine for the interface rendering component and the video processing engine to write data or read data into the target shared memory and store the communication data between the interface rendering component and the video processing engine. In this way, when transmitting service attribute information with a large data volume, the data transmission time can be reduced, and at the same time, the number of data copies can be reduced, improving the data transmission efficiency.

[0095] S203, determine the video processing engine associated with the interface rendering component, and query the target communication information for the target shared memory to communicate with the video processing engine from the data integration plugin of the interface rendering component.

[0096] S204. Forward the processing request to the video processing engine based on the target communication information through the target shared memory, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0097] Specifically, the computer device can determine the video processing engine associated with the interface rendering component, that is, determine the video processing engine that receives the processing request. Query the target communication information for communication between the target shared memory and the video processing engine from the data integration plugin of the interface rendering component. The data integration plugin includes the communication information between multiple forwarding objects and the video processing engine. For the specific content of the data integration plugin, refer to the description of step S102 above. This application embodiment will not be elaborated here. The computer device can write the processing request regarding the video rendering service into the target shared memory through the interface rendering component. The video processing engine can obtain the processing request regarding the video rendering service in the target shared memory, and write the processing result of the video rendering service into the target shared memory. The interface rendering component can obtain the processing result of the video rendering service from the target shared memory. In this way, the communication between the video processing engine and the interface rendering component is realized. At the same time, compared with forwarding the processing request of the interface rendering component through the target operating system, when the interface rendering component needs to copy the processing request once and send it to the target operating system, and the target operating system will copy the processing request once again and send it to the video processing engine. Through the target shared memory, only the interface rendering component needs to copy the processing request once to send the processing request to the video processing engine, which can reduce the number of data copies, and thus improve the efficiency of data communication. Figure 3

[0098] Optionally, the target communication information between the target shared memory and the video processing engine can be a dynamic link. The computer device generating the target communication information between the target shared memory and the video processing engine can include: calling the first external communication interface of the target shared memory through the interface rendering component to write the processing request into the target shared memory. Obtaining the storage address information of the target shared memory, and generating a dynamic link according to the storage address information. Adding the dynamic link to the data integration plugin of the interface rendering component, and determining the dynamic link as the target communication information for communication between the target shared memory and the video processing engine.

[0099] ​Specifically, after the interface rendering component generates a processing request for the video rendering service, it can call the data writing method of the target shared memory through the first external communication interface of the target shared memory, and write the processing request for the video rendering service into the target shared memory. Among them, the first external communication interface of the target shared memory can refer to the FFi interface. The FFi interface refers to the external function interface, which is a program written in Dart (a programming language) and can call a program written in another programming language. For example, it can be used to call the C / C++ interface on the terminal local. It can be understood that the interface rendering component can directly call the C / C++ code on the terminal local through the FFi interface and write the processing request for the video rendering service into the target shared memory. Further, the computer device can obtain the storage address information of the target shared memory, and generate a dynamic link according to the storage address information of the target shared memory. Among them, the dynamic link (i.e., the dynamic-link library, DLL for short) is a module containing functions and data, and it can be used by other modules. The computer device can add the dynamic link to the data integration plug-in of the interface rendering component and determine the dynamic link as the target communication information for the target shared memory to communicate with the video processing engine. In this way, the video processing engine can obtain the processing request of the interface rendering component from the shared memory through the dynamic link, and call the data writing method of the target shared memory to write the reply message about the video rendering service into the shared memory. In this way, through the target forwarding object, the dynamic link is provided to the video processing engine, and the video processing engine reads the processing request from the target shared memory according to the dynamic link. Similarly, after the video processing engine obtains the processing request generated by the interface rendering component in the target shared memory through the dynamic link, it can process the video rendering service according to the service attribute information carried in the processing request to obtain the processing result of the video rendering service. Further, the video processing engine can write the processing result of the video rendering service into the target shared memory through the dynamic link. The interface rendering component can directly call the C / C++ code on the terminal local through the FFi interface to read the processing result processing request about the video rendering service in the target shared memory. In this way, two-way communication between the interface rendering component and the video processing engine is realized.

[0100] In the implementation of this application, the computer device can write the processing request for the video rendering service into the target shared memory through the interface rendering component. The video processing engine can obtain the processing request for the video rendering service in the target shared memory and write the processing result of the video rendering service into the target shared memory. The interface rendering component can obtain the processing result of the video rendering service from the target shared memory. In this way, the communication between the video processing engine and the interface rendering component is realized. At the same time, compared with forwarding the processing request of the interface rendering component through the target operating system, when the interface rendering component needs to copy the processing request once and send it to the target operating system, and the target operating system will copy the processing request once again and send it to the video processing engine. Through the target shared memory, only the interface rendering component needs to copy the processing request once to send the processing request to the video processing engine, which can reduce the number of data copies, and thus improve the efficiency of data communication. At the same time, the target shared memory can forward the processing request generated by the interface rendering component to the video processing engine to realize the communication and function call between the interface rendering component and the video processing engine. At the same time, only one set of interfaces between the interface rendering component and the video processing engine needs to be developed to realize the video rendering service processing by calling the video processing engine through the interface rendering component in different operating systems, which can reduce the development cost of calling the video processing engine and the maintenance cost of communicating with the video processing engine, simplify the process of calling the video processing engine in different operating system platforms, and thus improve the communication efficiency with the video processing engine. In other words, through this data integration plug-in, a communication channel can be provided for the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plug-in can be applied to hardware platforms with different operating systems, and improve the applicable range of the data integration plug-in. In addition, during the communication between the interface rendering component and the video processing engine, it is not necessary to adaptively modify the interface rendering component, which reduces the development cost, avoids errors during the development process, and improves the communication efficiency between the interface rendering component and the video processing engine.

[0101] Please refer to Figure 7 , which is a schematic structural diagram of a data communication device provided by an embodiment of this application. The above data communication device can be used to execute the corresponding steps in the method provided by the embodiment of this application. As Figure 7 shown, the data communication device may include: a determination module 60, a query module 70, and a service processing module 80.

[0102] The determination module 60 is configured to obtain a processing request for a video rendering service through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0103] A query module 70 is configured to determine a video processing engine associated with an interface rendering component, and query, from a data integration plugin of the interface rendering component, target communication information for a target forwarding object to communicate with the video processing engine; the data integration plugin includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object.

[0104] A service processing module 80 is configured to forward a processing request to the video processing engine through the target forwarding object based on the target communication information, and call the video processing engine to process a video rendering service according to service attribute information carried in the processing request.

[0105] According to an embodiment of the present application, Figure 3 the steps involved in the data communication method shown can be executed by Figure 7 each module in the data communication device shown. For example, Figure 3 the step S101 shown in Figure 7 can be executed by the determination module 60 in Figure 3 the step S102 shown in Figure 7 can be executed by the query module 70 in Figure 3 the step S103 shown in Figure 7 can be executed by the service processing module 80 in

[0106] According to an embodiment of the present application, Figure 7 each module in the data communication device shown can be separately or wholly combined into one or several units to form, or a certain one (or some) of the units can be further split into at least two smaller sub-units in terms of function, and the same operations can be achieved without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In practical applications, the function of one module can also be realized by at least two units, or the functions of at least two modules can be realized by one unit. In other embodiments of the present application, the data communication device can also include other units. In practical applications, these functions can also be assisted by other units to realize, and can be realized by the cooperation of at least two units.

[0107] According to an embodiment of the present application, it is possible to construct, on a general computer device such as a computer including processing elements and storage elements such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM), a computer program (including program code) that can execute the respective steps involved in the corresponding method shown in Figure 3 to construct as shown in Figure 7The data communication device shown in , and the data communication method for implementing the embodiments of the present application. The above computer program can be recorded on, for example, a computer-readable recording medium, loaded into the above computer device through the computer-readable recording medium, and run therein.

[0108] In the implementation of the present application, a processing request for a video rendering service is obtained through an interface rendering component. According to the service attribute information of the video rendering service carried in the processing request, a target forwarding object for forwarding the processing request is determined. A video processing engine associated with the interface rendering component is determined, and target communication information for the target forwarding object to communicate with the video processing engine is queried from the data integration plugin of the interface rendering component. Since the data integration plugin includes target communication information for at least two types of forwarding objects to communicate with the video processing engine respectively, the target forwarding object can communicate with the video processing engine. Through the target forwarding object, the processing request is forwarded to the video processing engine based on the target communication information, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request. It can be seen that by deploying a data integration plugin in the interface rendering component, the data integration plugin includes communication information for multiple forwarding objects to communicate with the video processing engine. Here, the forwarding object is an object for data forwarding between the interface rendering component and the video processing engine, such as it can include multiple operating systems and shared memory. Based on the communication information in the data integration plugin, communication between the interface rendering component and the video processing engine can be realized. In other words, through this data integration plugin, a communication channel can be provided to the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plugin can be applicable to hardware platforms with different operating systems, improving the applicable range of the data integration plugin. In addition, during the communication process between the interface rendering component and the video processing engine, it is not necessary to adaptively modify the interface rendering component, reducing the development cost, while avoiding errors in the development process and improving the communication efficiency between the interface rendering component and the video processing engine.

[0109] Please refer to Figure 8 , which is a schematic structural diagram of a data communication device provided by an embodiment of the present application. The above data communication device can be used to execute the corresponding steps in the method provided by the embodiment of the present application. As Figure 8 shown, the data communication device may include: a determination module 100a, a query module 200b, and a service processing module 300c.

[0110] It should be noted that Figure 8 the determination module 100a in Figure 7 has all or part of the functions of the determination module 60 in Figure 8 the query module 200b in Figure 7 has all or part of the functions of the query module 70 inFigure 8 The service processing module 300c in Figure 7 has all or part of the functions of the service processing module 80 in

[0111] Optionally, the determination module 100a includes a first acquisition unit 11, a packaging unit 12, and a conversion processing unit 13.

[0112] The first acquisition unit 11 is configured to obtain the service type of the video rendering service and the data transmission format for data transmission between the interface rendering component and the video processing engine through the interface rendering component;

[0113] The packaging unit 12 is configured to package the service attribute information of the video rendering service according to the service type of the video rendering service to obtain a service processing message carrying the service attribute information;

[0114] The conversion processing unit 13 is configured to perform format conversion processing on the service processing message carrying the service attribute information according to the data transmission format to obtain a processing request for the video rendering service.

[0115] Optionally, the packaging unit 12 packages the service attribute information of the video rendering service according to the service type of the video rendering service to obtain a service processing message carrying the service attribute information, including:

[0116] If the service type of the video rendering service is a callback service type, obtain the callback statement associated with the video rendering service through the interface rendering component, package the service attribute information of the video rendering service in the message body, and package the callback statement in the message header to obtain a service processing message carrying the service attribute information; the callback statement is used to instruct the video processing engine to return the processing result of the video rendering service to the interface rendering component;

[0117] If the service type of the video rendering service is a non-callback service type, package the service attribute information of the video rendering service in the message body through the interface rendering component to obtain a service processing message carrying the service attribute information.

[0118] Optionally, when the service type of the video rendering service is a callback service type, the determination module 100a further includes a second acquisition unit 14 and a storage unit 15.

[0119] The second acquisition unit 14 is configured to obtain the target service identifier of the video rendering service and the first callback function associated with the video rendering service;

[0120] The storage unit 15 is used to establish an association relationship between the target service identifier and the first callback function, and store the first callback function into the function set associated with the interface rendering component according to the association relationship; the association relationship is used to instruct the interface rendering component to call the first callback function according to the processing result of the video rendering service returned by the video processing engine.

[0121] Optionally, the determination module 100a further includes a third acquisition unit 16, a first determination unit 17, and a second determination unit 18.

[0122] The third acquisition unit 16 is used to acquire the information data volume of the service attribute information of the video rendering service carried in the processing request.

[0123] The first determination unit 17 is used to use the target shared memory in the terminal device running the interface rendering component as the target forwarding object if the information data volume of the service attribute information is greater than or equal to the target data volume.

[0124] The second determination unit 18 is used to use the target operating system of the terminal device running the interface rendering component as the target forwarding object if the information data volume of the service attribute information is less than the target data volume.

[0125] Optionally, the target forwarding object is the target shared memory.

[0126] The data communication device further includes:

[0127] The writing module 400d is used to call the first external communication interface of the target shared memory through the interface rendering component to write the processing request into the target shared memory.

[0128] The generation module 500e is used to acquire the storage address information of the target shared memory and generate a dynamic link according to the storage address information.

[0129] The third determination module 600f is used to add the dynamic link to the data integration plug-in of the interface rendering component and determine the dynamic link as the target communication information for communication between the target shared memory and the video processing engine.

[0130] The service processing module 300c includes a reading unit 31.

[0131] The reading unit 31 is used to send the dynamic link to the video processing engine through the target forwarding object, and the video processing engine reads the processing request from the target shared memory according to the dynamic link.

[0132] Optionally, the target forwarding object is the target operating system.

[0133] The data communication device further includes:

[0134] An acquisition module 700g is used to acquire a second external communication interface of a video processing engine and a target database format that matches a target operating system;

[0135] A conversion processing module 800h is used to perform conversion processing on the second external communication interface according to the target database format to obtain a communication interface file;

[0136] An addition module 900i is used to add the communication interface file to a data integration plugin of an interface rendering component and determine the communication interface file as target communication information for the target operating system to communicate with the video processing engine.

[0137] Optionally, the service processing module 300c further includes a service processing unit 32, a sending unit 33, and a result returning unit 34.

[0138] The service processing unit 32 is used to call the video processing engine to process the video rendering service according to service attribute information and obtain a processing result regarding the video rendering service;

[0139] The sending unit 33 is used to, if a callback declaration associated with the video rendering service is further carried in the processing request, send the processing result to a target forwarding object through the video processing engine;

[0140] The result returning unit 34 is used to return the processing result to the interface rendering component through the target forwarding object.

[0141] Optionally, the service processing unit 32 calls the video processing engine to process the video rendering service according to service attribute information and obtain a processing result regarding the video rendering service, including:

[0142] Calling the video processing engine to obtain a processing type of the video rendering service;

[0143] If the processing type of the video rendering service is a method call type, obtaining a target method identifier carried in the service attribute information;

[0144] Obtaining a target call method corresponding to the target method identifier from a method set corresponding to the video processing engine, passing the service attribute information into the target call method, and executing the target call method carrying the service attribute information to obtain a processing result regarding the video rendering service.

[0145] Optionally, the service processing unit 32 calls the video processing engine to process the video rendering service according to service attribute information and obtain a processing result regarding the video rendering service, including:

[0146] Calling the video processing engine to obtain a processing type of the video rendering service;

[0147] If the processing type of the video rendering service is the data transfer type, obtain the general service processing logic in the video processing engine, and execute the general service processing logic according to the service attribute information to obtain the processing result of the video rendering service.

[0148] Optionally, the sending unit 33 sends the processing result to the target forwarding object through the video processing engine, including:

[0149] Through the video processing engine, obtain the local communication interface of the target forwarding object;

[0150] Through the local communication interface, the sending unit calls the message receiving function in the target forwarding object for receiving information, and uses the processing result as the function parameter of the message receiving function to pass it into the message receiving function.

[0151] Optionally, the processing result includes processing result indication information and the target service identifier of the video rendering service. The processing result indication information is used to indicate that the processing result of the video rendering service with the target service identifier is successful or failed;

[0152] The data communication device further includes:

[0153] The calling module 110j is used to, if the processing result indication information indicates that the processing result of the video rendering service with the target service identifier is successful, call the interface rendering component, and determine, according to the target service identifier in the processing result, the callback function associated with the target service identifier from the function set associated with the interface rendering component as the first callback function; the function set includes N callback functions, one callback function is associated with one service identifier, and N is a positive integer;

[0154] The execution module 120k is used to execute the first callback function associated with the target service identifier.

[0155] In the embodiment of the present application, a processing request regarding video rendering services is obtained through an interface rendering component. Based on the service attribute information of the video rendering service carried in the processing request, a target forwarding object for forwarding the processing request is determined. A video processing engine associated with the interface rendering component is determined, and from the data integration plugin of the interface rendering component, the target communication information for the target forwarding object to communicate with the video processing engine is queried. Since the data integration plugin includes target communication information for at least two types of forwarding objects to communicate with the video processing engine respectively, the target forwarding object can communicate with the video processing engine. Through the target forwarding object, based on the target communication information, the processing request is forwarded to the video processing engine, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request. In this way, the target forwarding object can forward the processing request generated by the interface rendering component to the video processing engine, realizing the communication and function call between the interface rendering component and the video processing engine. At the same time, only one set of interfaces between the interface rendering component and the video processing engine needs to be developed, and then the video processing engine can be called through the interface rendering component in different operating systems for video rendering service processing, instead of developing different platform rendering components in different operating system platforms to call the video processing engine for video rendering service processing, and different platform rendering components require different interfaces to communicate and perform function calls with the video processing engine. In this way, the development cost of calling the video processing engine can be reduced, as well as the maintenance cost of communicating with the video processing engine, simplifying the process of calling the video processing engine in different operating system platforms, and thus improving the communication efficiency with the video processing engine. Through the present application, by deploying a data integration plugin in the interface rendering component, the data integration plugin includes communication information for multiple forwarding objects to communicate with the video processing engine. Here, the forwarding object is an object used for data forwarding between the interface rendering component and the video processing engine, such as it can include multiple operating systems and shared memory. Based on the communication information in the data integration plugin, the communication between the interface rendering component and the video processing engine can be realized. In other words, through this data integration plugin, a communication channel can be provided to the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plugin can be applicable to hardware platforms with different operating systems, improving the applicable range of the data integration plugin. In addition, during the communication process between the interface rendering component and the video processing engine, there is no need to adaptively modify the interface rendering component, reducing the development cost, while avoiding errors in the development process and improving the communication efficiency between the interface rendering component and the video processing engine. At the same time, the number of data copies can be reduced through the target shared memory, and thus the data communication efficiency can be improved.

[0156] Please refer to Figure 9 , which is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 9As shown, the above computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. In addition, the above computer device 1000 may further include: a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, in some embodiments, the user interface 1003 may include a display screen (Display), a keyboard (Keyboard), and optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as W I -F I interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. Optionally, the memory 1005 may also be at least one storage device far from the aforementioned processor 1001. As Figure 9 shown, the memory 1005, as a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0157] In Figure 9 the computer device 1000 shown, the network interface 1004 can provide network communication functions; while the user interface 1003 is mainly used to provide an input interface; and the processor 1001 can be used to call the device control application program stored in the memory 1005 to achieve:

[0158] Obtain a processing request for the video rendering service through the interface rendering component, and determine the target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request;

[0159] Determine the video processing engine associated with the interface rendering component, and query the target communication information for the target forwarding object to communicate with the video processing engine from the data integration plug-in of the interface rendering component; the data integration plug-in includes communication information for at least two types of forwarding objects to communicate with the video processing engine respectively; the at least two types of forwarding objects include the target forwarding object;

[0160] Forward the processing request to the video processing engine based on the target communication information through the target forwarding object, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

[0161] It should be understood that the computer device 1000 described in the embodiments of the present application can execute the description of the data communication method in the corresponding embodiments before Figure 3 or Figure 6 and can also execute the description before Figure 7 andFigure 8 Description of the data communication device in the corresponding embodiment.

[0162] In the implementation of this application, a processing request for video rendering services is obtained through an interface rendering component. According to the service attribute information of the video rendering service carried in the processing request, a target forwarding object for forwarding the processing request is determined. A video processing engine associated with the interface rendering component is determined, and the target communication information for the target forwarding object to communicate with the video processing engine is queried from the data integration plugin of the interface rendering component. Since the data integration plugin includes target communication information for at least two types of forwarding objects to communicate with the video processing engine respectively, the target forwarding object can communicate with the video processing engine. Through the target forwarding object, the processing request is forwarded to the video processing engine based on the target communication information, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request. In this way, the target forwarding object can forward the processing request generated by the interface rendering component to the video processing engine, realizing the communication and function call between the interface rendering component and the video processing engine. At the same time, only one set of interfaces between the interface rendering component and the video processing engine needs to be developed to enable the interface rendering component to call the video processing engine for video rendering service processing in different operating systems, instead of developing different platform rendering components in different operating system platforms to call the video processing engine for video rendering service processing, and different platform rendering components require different interfaces to communicate and perform function calls with the video processing engine. In this way, the development cost of calling the video processing engine can be reduced, and the maintenance cost of communicating with the video processing engine can be reduced, simplifying the process of calling the video processing engine in different operating system platforms, and thus improving the communication efficiency with the video processing engine. Through this application, by deploying a data integration plugin in the interface rendering component, the data integration plugin includes communication information for multiple forwarding objects to communicate with the video processing engine. Here, the forwarding object is an object used for data forwarding between the interface rendering component and the video processing engine, such as it can include multiple operating systems and shared memory. Based on the communication information in the data integration plugin, the communication between the interface rendering component and the video processing engine can be realized. In other words, through this data integration plugin, a communication channel can be provided to the interface rendering component and the video processing engine, which can smooth out the differences between hardware platforms with different operating systems, that is, this data integration plugin can be applicable to hardware platforms with different operating systems, improving the applicable range of the data integration plugin. In addition, during the communication process between the interface rendering component and the video processing engine, there is no need to adaptively modify the interface rendering component, reducing the development cost, while avoiding errors in the development process and improving the communication efficiency between the interface rendering component and the video processing engine.

[0163] It is understood that if the above embodiments of the present application need to use user information, etc., user permission or consent needs to be obtained, and relevant laws and regulations of relevant countries and regions need to be complied with.

[0164] In addition, it should be noted here that: The embodiments of the present application also provide a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the aforementioned data communication device, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the foregoing Figure 3 and Figure 6 the description of the data communication method in the corresponding embodiments, so the description will not be repeated here.

[0165] In addition, the description of the beneficial effects of adopting the same method will not be repeated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in the present application, please refer to the description of the method embodiments of the present application. As an example, the program instructions can be deployed to be executed on a computer device, or on multiple computing devices located at one place, or, on multiple computing devices distributed at multiple places and interconnected through a communication network. The multiple computing devices distributed at multiple places and interconnected through a communication network can form a blockchain system.

[0166] In addition, it should be noted that: The embodiments of the present application also provide a computer program product, including a computer program, which when executed by a processor implements the foregoing Figure 3 and Figure 6 the description of the data communication method in the corresponding embodiments, so the description will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated either. For the technical details not disclosed in the computer program product or computer program embodiments involved in the present application, please refer to the description of the method embodiments of the present application.

[0167] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present application is not limited by the described action sequence, because according to the present application, some steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.

[0168] The steps in the method embodiments of the present application can be adjusted, combined, and deleted according to actual needs.

[0169] The modules in the device embodiments of the present application can be combined, divided, and deleted according to actual needs.

[0170] Those of ordinary skill in the art can understand all or part of the processes in the methods of the above embodiments.

[0171] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above various methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.

[0172] The above-disclosed are only the preferred embodiments of the present invention. Of course, the scope of the rights of the present invention cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present invention still fall within the scope covered by the present invention.

Claims

1. A data communication method, characterized in that: include: Obtaining a processing request for a video rendering service through an interface rendering component, and determining a target forwarding object for forwarding the processing request according to service attribute information of the video rendering service carried in the processing request; Determine the video processing engine associated with the interface rendering component, and query the target communication information of the target forwarding object communicating with the video processing engine from the data integration plug-in of the interface rendering component; the data integration plug-in includes communication information of at least two forwarding objects respectively communicating with the video processing engine; the at least two forwarding objects include the target forwarding object, and the at least two forwarding objects include multiple operating systems and shared memories; The processing request is forwarded to the video processing engine based on the target communication information through the target forwarding object, and the video processing engine is called to process the video rendering service according to the service attribute information carried in the processing request.

2. The method according to claim 1, characterized in that The obtaining of a processing request for a video rendering service through an interface rendering component includes: Obtaining, through the interface rendering component, the service type of the video rendering service and the data transmission format for data transmission between the interface rendering component and the video processing engine; Encapsulating the service attribute information of the video rendering service according to the service type of the video rendering service to obtain a service processing message carrying the service attribute information; According to the data transmission format, the service processing message carrying the service attribute information is format converted to obtain a processing request for the video rendering service.

3. The method according to claim 2, characterized in that The encapsulating the service attribute information of the video rendering service according to the service type of the video rendering service to obtain a service processing message carrying the service attribute information includes: If the service type of the video rendering service is a callback service type, the callback declaration associated with the video rendering service is obtained through the interface rendering component, the service attribute information of the video rendering service is encapsulated in the message body, and the callback declaration is encapsulated in the message header to obtain a service processing message carrying the service attribute information; the callback declaration is used to instruct the video processing engine to return the processing result of the video rendering service to the interface rendering component; If the service type of the video rendering service is a non-callback service type, the service attribute information of the video rendering service is encapsulated in a message body through the interface rendering component to obtain a service processing message carrying the service attribute information.

4. The method according to claim 3, characterized in that The service type of the video rendering service is a callback service type, and the method further includes: Obtaining a target service identifier of the video rendering service and a first callback function associated with the video rendering service; An association relationship is established between the target service identifier and the first callback function, and based on the association relationship, the first callback function is stored in a function set associated with the interface rendering component; the association relationship is used to instruct the interface rendering component to call the first callback function based on the processing result of the video rendering service returned by the video processing engine.

5. The method according to claim 1, characterized in that The determining, according to the service attribute information of the video rendering service carried in the processing request, a target forwarding object for forwarding the processing request includes: Obtaining the information data volume of the service attribute information of the video rendering service carried in the processing request; If the information data volume of the service attribute information is greater than or equal to the target data volume, the target shared memory in the terminal device running the interface rendering component is used as the target forwarding object; If the information data volume of the business attribute information is smaller than the target data volume, the target operating system of the terminal device running the interface rendering component is taken as the target forwarding object.

6. The method according to claim 5, characterized in that The target forwarding object is the target shared memory; The method further comprises: By means of the interface rendering component, calling the first external communication interface of the target shared memory, and writing the processing request into the target shared memory; Acquire storage address information of the target shared memory, and generate a dynamic link according to the storage address information; Adding the dynamic link to the data integration plug-in of the interface rendering component, and determining the dynamic link as target communication information for the target shared memory to communicate with the video processing engine; The step of forwarding the processing request to the video processing engine based on the target communication information through the target forwarding object includes: The dynamic link is sent to the video processing engine through the target forwarding object, and the video processing engine reads the processing request from the target shared memory according to the dynamic link.

7. The method according to claim 5, characterized in that The target forwarding object is the target operating system; The method further comprises: Acquire a second external communication interface of the video processing engine and a target database format matching the target operating system; According to the target database format, converting the second external communication interface to obtain a communication interface file; The communication interface file is added to the data integration plug-in of the interface rendering component, and the communication interface file is determined as the target communication information for the target operating system to communicate with the video processing engine.

8. The method according to claim 1, characterized in that The calling of the video processing engine to process the video rendering service according to the service attribute information carried in the processing request includes: Calling the video processing engine to process the video rendering service according to the service attribute information to obtain a processing result of the video rendering service; If the processing request also carries a callback statement associated with the video rendering service, the processing result is sent to the target forwarding object through the video processing engine; The processing result is returned to the interface rendering component through the target forwarding object.

9. The method according to claim 8, characterized in that The calling of the video processing engine to process the video rendering service according to the service attribute information to obtain a processing result of the video rendering service includes: Calling the video processing engine to obtain the processing type of the video rendering service; If the processing type of the video rendering service is a method call type, obtaining a target method identifier carried in the service attribute information; From the method set corresponding to the video processing engine, obtain the target calling method corresponding to the target method identifier, pass the business attribute information to the target calling method, execute the target calling method carrying the business attribute information, and obtain the processing result of the video rendering business.

10. The method according to claim 8, characterized in that The calling of the video processing engine to process the video rendering service according to the service attribute information to obtain a processing result of the video rendering service includes: Calling the video processing engine to obtain the processing type of the video rendering service; If the processing type of the video rendering service is a data transfer type, a general service processing logic in the video processing engine is obtained, and the general service processing logic is executed according to the service attribute information to obtain a processing result of the video rendering service.

11. The method according to claim 8, characterized in that The sending the processing result to the target forwarding object by the video processing engine includes: Obtaining, through the video processing engine, a local communication interface of the target forwarding object; The message receiving function for receiving information in the target forwarding object is called through the local communication interface, and the processing result is passed to the message receiving function as a function parameter of the message receiving function.

12. The method according to claim 8, characterized in that The processing result includes processing result indication information and a target service identifier of the video rendering service, wherein the processing result indication information is used to indicate whether the processing result of the video rendering service with the target service identifier is a processing success or a processing failure; The method further comprises: If the processing result indication information indicates that the processing result of the video rendering service with the target service identifier is successful, the interface rendering component is called, and according to the target service identifier in the processing result, a callback function associated with the target service identifier is determined from a function set associated with the interface rendering component as a first callback function; the function set includes N callback functions, one callback function is associated with one service identifier, and N is a positive integer; Execute a first callback function associated with the target service identifier.

13. A data communication device, characterized in that: include: A determination module, used to obtain a processing request for a video rendering service through an interface rendering component, and determine a target forwarding object for forwarding the processing request according to the service attribute information of the video rendering service carried in the processing request; A query module, used to determine the video processing engine associated with the interface rendering component, and query the target communication information of the target forwarding object communicating with the video processing engine from the data integration plug-in of the interface rendering component; the data integration plug-in includes communication information of at least two forwarding objects respectively communicating with the video processing engine; the at least two forwarding objects include the target forwarding object, and the at least two forwarding objects include multiple operating systems and shared memories; The service processing module is used to forward the processing request to the video processing engine based on the target communication information through the target forwarding object, and call the video processing engine to process the video rendering service according to the service attribute information carried in the processing request.

14. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.

15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.

16. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Data processing method and related equipment

    CN111158779A

  • Terminal interface display method and device, electronic equipment and readable storage medium

    CN114237795A