Cross-platform video editing method and device
The cross-platform video editing method and device unify video editing interfaces and functional interfaces across platforms, addressing the inconsistency of editing engines and improving user experience by enabling seamless editing operations.
Patent Information
- Application Number
- CN202411341988.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2024-12-24
AI Technical Summary
Different video editing platforms have distinct editing engines, interfaces, and processing logic, requiring users to adapt to multiple editing interfaces and logic, leading to a poor user experience.
A cross-platform video editing method and device that provides a unified UI interface and functional interface for various platforms, utilizing a cross-platform development framework to enable seamless editing operations across platforms by calling corresponding platform engine functional interfaces.
Enables consistent editing experiences across different platforms, reducing development workload and improving user experience by allowing users to operate within a unified interface without adapting to platform-specific interfaces.
Smart Images

Figure CN119182966A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of video processing technology, and in particular to a cross-platform video editing method and device. Background Art
[0002] Use the platform's application (editing engine) to edit the video. Editing includes adding subtitles, filters, transitions and other editing processes to the video to obtain the processed video. Different platforms provide video editing, such as Android, iOS, Hongmeng, and Web platforms, but different platforms have different editing engines, editing operation interfaces, and editing processing logic. The editing processes of multiple platforms cannot be reused. If users use different platforms to edit videos, they need to master the editing processing logic of the application programs of different platforms and adapt to different editing interfaces, resulting in a poor user experience. Summary of the invention
[0003] In view of the above problems, embodiments of the present application are proposed to provide a cross-platform video editing method and device that overcome the above problems or at least partially solve the above problems.
[0004] According to a first aspect of an embodiment of the present application, a cross-platform video editing method is provided, which includes:
[0005] Display a cross-platform video editing interface for users to edit videos on the video editing interface; the video editing interface is a unified UI interface for each platform;
[0006] In response to any editing operation triggered by the user in the video editing interface, determine the functional interface corresponding to the editing operation, and call the corresponding platform engine functional interface implementation according to the editing engine of the current platform to complete the video editing operation.
[0007] Optionally, displaying the cross-platform video editing interface further includes:
[0008] Based on a cross-platform development framework, a unified UI interface for each platform is constructed according to a unified UI interface description language and / or components, and a cross-platform video editing interface is obtained and displayed.
[0009] Optionally, the video editing interface includes multiple function panels, including a preview panel, a subtitle panel, a music panel, a editing panel, a filter panel, a sticker panel and / or a transition panel.
[0010] Optionally, responding to any editing operation triggered by the user in the video editing interface, determining a function interface corresponding to the editing operation, and calling a corresponding platform engine function interface implementation according to the editing engine of the current platform to complete the video editing operation further includes:
[0011] Respond to any editing operation triggered by the user in the video editing interface, and determine the corresponding function operation according to the function panel of the editing operation;
[0012] The corresponding function interface is determined according to the function operation, and the function interface implementation of the corresponding platform engine is called according to the function interface and the editing engine of the current platform to complete the video editing operation.
[0013] Optionally, determining a corresponding function interface according to the function operation, and calling a function interface implementation of a corresponding platform engine according to the function interface and the editing engine of the current platform to complete the video editing operation further includes:
[0014] A functional interface for pre-building functional operations based on a preset editing engine protocol; the preset editing engine protocol also defines a data format for the functional operations;
[0015] Based on the functional interface and data format, build the functional interface implementation of each platform engine;
[0016] The functional interface implementation of each platform engine is injected into the editing engine adaptation layer of the cross-platform development framework, so as to call the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine of the current platform.
[0017] Optionally, based on the functional interface and the data format, constructing the functional interface implementation of each platform engine; injecting the functional interface implementation of each platform engine into the editing engine adaptation layer of the cross-platform development framework, so as to call the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine of the current platform further includes:
[0018] Based on the functional interface and data format, build corresponding functional interface implementations for each platform engine;
[0019] Inject the functional interface implementation of each platform engine into the editing engine adaptation layer of the cross-platform development framework;
[0020] The editing engine adaptation layer calls the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine type of the currently used platform, performs editing operations on the video, and returns the editing results to be displayed in the cross-platform video editing interface.
[0021] Optionally, the method further comprises:
[0022] The preset platform engine type is injected based on the engine type injection interface, and the functional interface implementation of the corresponding platform engine is called according to the functional interface and the preset platform engine type.
[0023] According to a second aspect of an embodiment of the present application, a cross-platform video editing device is provided, comprising:
[0024] An interface module, suitable for displaying a cross-platform video editing interface, so that users can edit videos in the video editing interface; wherein the video editing interface is a unified UI interface for each platform;
[0025] The editing response module is suitable for responding to any editing operation triggered by the user in the video editing interface, determining the functional interface corresponding to the editing operation, and calling the corresponding platform engine functional interface according to the editing engine of the current platform to complete the video editing operation.
[0026] According to a third aspect of an embodiment of the present application, there is provided a computing device, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;
[0027] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned cross-platform video editing method.
[0028] According to a fourth aspect of an embodiment of the present application, a computer storage medium is provided, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned cross-platform video editing method.
[0029] According to a fifth aspect of an embodiment of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the above-mentioned cross-platform video editing method.
[0030] According to the cross-platform video editing method and device provided by the present application, a unified cross-platform video editing interface is provided, and one video editing interface can be implemented for editing engines of different platforms. The editing operation calls the corresponding functional interface, and the editing engines of different platforms adapt to different functional interfaces to complete the video editing operation, thereby reducing the development workload and facilitating users to operate without having to adapt to different video editing interfaces, thereby improving the user experience.
[0031] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0033] Figure 1 A flowchart of a cross-platform video editing method according to an embodiment of the present application is shown;
[0034] Figure 2 A flowchart of a cross-platform video editing method according to another embodiment of the present application is shown;
[0035] Figure 3 A schematic diagram showing the adaptation of the editing engine adaptation layer and the functional interface of the platform engine;
[0036] Figure 4 Shows a schematic diagram of each layer based on the KMP cross-platform development framework;
[0037] Figure 5 A schematic diagram of the structure of a cross-platform video editing device according to an embodiment of the present application is shown;
[0038] Figure 6 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0039] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.
[0040] First, the terms involved in one or more embodiments of the present application are explained.
[0041] KMP (Kotlin Multiplatform): A cross-platform development framework based on the Kotlin language, which allows you to run on Android, iOS, Web, and Harmony by developing the same set of code.
[0042] UI (User Interface): User interface refers to the overall design of the software’s human-computer interaction, operating logic, and interface aesthetics.
[0043] Figure 1 A flowchart of a cross-platform video editing method according to an embodiment of the present application is shown. Figure 1 As shown, the method comprises the following steps:
[0044] Step S101, displaying a cross-platform video editing interface for the user to perform video editing in the video editing interface.
[0045] When editing videos, you need to use the editing engine (application) of the platform. The platforms include Android, iOS, Web, Harmony, etc. Different platforms use different editing engines. The editing engines used on the same platform are also different. For example, the same platform can use editing engine A or editing engine B. When using different editing engines to edit videos, the interfaces of each editing engine will also be different. The various interfaces make the operation of video editing inconsistent. Different video editing interfaces need to be developed for different editing engines. During development and maintenance, multiple interfaces are involved, and the workload is large. And if users use editing engines on different platforms, they also need to learn to use different editing engine interfaces, which leads to a poor user experience.
[0046] In view of the above problems, the present embodiment constructs a unified UI interface for each platform for different editing engines, and obtains a cross-platform video editing interface. Specifically, a cross-platform development framework such as KMP can be used, and a unified UI interface description language or components in a component library can be used to construct a unified UI interface for each platform to obtain a cross-platform video editing interface. The video editing interface may include multiple editing-related function panels, and the function panels include preview panels, subtitle panels, music panels, editing panels, filter panels, sticker panels, transition panels, etc. Different panels implement different editing operations, and add different effects such as subtitles, audio tracks, filters, stickers, transitions, etc. to the video. Users can perform various operations on the video in the function panel to complete the editing of the video.
[0047] The cross-platform video editing interface is a unified UI interface for each platform. Even if users use different platforms, the same video editing interface will be displayed to users, and the editing operations of users in the video editing interface are the same. For users, they do not need to pay attention to the platform and editing engine. The editing operations are not affected by the differences in platforms and editing engines, which enhances the user experience.
[0048] Step S102, responding to any editing operation triggered by the user in the video editing interface, determining the function interface corresponding to the editing operation, and calling the corresponding platform engine function interface according to the editing engine of the current platform to complete the video editing operation.
[0049] In the video editing interface, users can perform editing operations on videos, such as editing subtitles, adding stickers to videos, setting video transitions, etc. Any editing operation triggered by the user in the video editing interface can be broken down into subdivided functions that can be executed by the basic editing engine, such as subtitles, stickers, transitions, and other atomic functions. Based on the atomic functions broken down by the editing operation, the functional interface required to execute the editing operation can be determined.
[0050] The functional interface is a unified functional interface for each platform. The functional interface can be predefined through, for example, a preset editing protocol, including the method name, parameters, return results, etc. of the predefined functional interface. The functional interface is an abstract interface that only contains method declarations but no specific implementation. Each platform has a unified functional interface to facilitate editing operation calls. The specific implementation of the functional interface is completed by each platform according to its own editing engine. That is, one functional interface can correspond to multiple functional interface implementations of different editing engines of multiple different platforms, such as functional interface a corresponding to functional interface implementation a1 of editing engine 1 of the Android platform, functional interface implementation a2 of editing engine 2 of the Android platform, functional interface implementation a3 of editing engine 3 of the IOS platform, functional interface implementation a4 of editing engine 4 of the Web platform, functional interface implementation a5 of editing engine 5 of the Hongmeng platform, etc.
[0051] After determining the functional interface according to the editing operation, such as functional interface a, and then according to the editing engine of the user's current platform, such as the editing engine 1 of the Android platform, the platform engine functional interface implementation a1 of the editing engine 1 of the Android platform is called accordingly, and the platform engine functional interface implementation a1 is executed to complete the video editing operation, and the video after the editing operation can be displayed in the video editing interface. Further, when calling the current platform's editing engine to call the corresponding platform engine functional interface implementation, the editing operation can be completed by, for example, adapting the current platform's editing engine to determine that the current platform's editing engine calls the corresponding platform engine functional interface implementation, and then calling the current platform's editing engine to call the corresponding platform engine functional interface implementation.
[0052] According to the cross-platform video editing method provided by the present application, a unified cross-platform video editing interface is provided, and one video editing interface can be implemented for editing engines of different platforms. The editing operation calls the corresponding functional interface, and the editing engines of different platforms adapt to different functional interface implementations to complete the video editing operation, thereby reducing the development workload and facilitating users to operate without having to adapt to different video editing interfaces, thereby improving the user experience.
[0053] Figure 2 A flowchart of a cross-platform video editing method according to an embodiment of the present application is shown. Figure 2 As shown, the method comprises the following steps:
[0054] Step S201, based on a cross-platform development framework and in accordance with a unified UI interface description language and / or components, a unified UI interface for each platform is constructed to obtain and display a cross-platform video editing interface.
[0055] This embodiment adopts the KMP cross-platform development framework to build a unified UI interface for cross-platform video editing, thereby achieving the unification of the cross-platform video editing interface, making it convenient for video editors on different platforms to use the same UI interface for editing operations. Users do not need to pay attention to the differences between platforms, and use the same UI interface for editing operations when editing videos, providing a better user experience.
[0056] When building a video editing interface based on the KMP cross-platform development framework, a unified UI interface description language, such as kotlin, can be used. The same set of kotlin code can run on different platforms such as Android, iOS, Web, Harmony, etc., so that the same UI interface built by kotlin can be applied to different platforms. Alternatively, the component library provided by the KMP cross-platform development framework can be used. The KMP cross-platform development framework can be applied to multiple different platforms. Components in the component library are selected to build the UI interface. The resulting video editing interface can be applied to different platforms, making it convenient for each platform to use a unified UI interface for video editing operations. For users, users can ignore different platforms and do not need to pay attention to the platform. Video editing uses the same editing process for different platforms.
[0057] Furthermore, the video editing interface includes multiple function panels, including a preview panel, a subtitle panel, a music panel, an editing panel, a filter panel, a sticker panel, a transition panel, etc. The preview panel is used to display the video to be edited or to display the preview effect of the edited video; the subtitle panel is used to insert or edit subtitle information; the music panel is used to add audio information to the video, add background sound, etc.; the editing panel is used to adjust the timeline of the video; the filter panel is used to add filter effects and other rendering effects to the video; the sticker panel is used to add stickers and other effects to the video frame; and the transition is used to edit the transition effect of the video frame. The above function panels are for example explanations, and are set according to the specific implementation situation, and are not limited here.
[0058] In the video editing interface, the user operates the function panels, such as triggering the editing operation by clicking the corresponding button in the function panel, clicking the "Add" button in the music panel to add music to the video, etc., and the video can be edited by operating each function panel.
[0059] Step S202, pre-constructing a functional interface of functional operations based on a preset editing engine protocol, and constructing a functional interface implementation of each platform engine based on the functional interface and data format.
[0060] In order to realize cross-platform video editing, in addition to building a unified UI interface for each platform based on the KMP cross-platform development framework to obtain a cross-platform video editing interface, it is also necessary to implement specific editing operations based on the different editing engines of each platform. The editing operation can be further refined, and the editing operation can be split into basic atomic functions, such as subtitles, stickers, transitions, music and other atomic functions. The atomic functions can refine the editing operation, and then complete the specific implementation of the atomic functions based on the engines of each platform to ensure the normal call of the editing operation.
[0061] Specifically, based on the KMP cross-platform development framework, the editing engine protocol can be preset, and the functional interface of the functional operation can be pre-built in the editing engine protocol. The functional interface is a method with only the characteristics but no method implementation. The functional interface can be in the form of an interface or in the form of a protocol, etc., which is not limited here. The preset editing engine protocol also defines the data format of the functional operation, such as parameters, return results, etc., to ensure the cross-platform use of the functional interface, and each platform uses a unified data format to implement the function call. Take the functional interface as an example to illustrate, such as constructing a functional interface a according to the preset editing engine protocol, defining its parameters including z1 and z2, and returning z3, and implementing the video atomic function of background music addition. Functional interface a is applicable to background music addition on each platform. When the user triggers the background music addition function of the video, the functional interface a is directly called, and the engines of each platform are subsequently adapted to execute the corresponding functional interface implementation. For users, there is no need to pay attention to the specific interface implementation of each platform. When implementing the editing function, just call the functional interface a.
[0062] After constructing the functional interface of the functional operation, the functional interface only defines the method characteristics, data structure, etc. The specific interface implementation is constructed by each platform engine according to the functional interface and data format. Figure 3As shown, the editing engine adaptation KMPEditorEngine includes multiple processes, such as creatTimeline(), which returns a Timeline type, corresponding to the construction of the video timeline process, stop, stop playback, etc. For the timeline, it also includes appendVideoTrack() for adding video track information, with a return type of VideoTrack; appendAudioTrack() for adding audio track information, with a return type of AudioTrack; appendCaptionTrack() for adding subtitle information, with a return type of CaptionTrack, etc. The above are the functional interfaces adapted by the editing engine. Taking the timeline as an example, the functional interfaces appendVideoTrack(), appendAudioTrack(), and appendCaptionTrack() all correspond to the platform engines, and the functional interface implementation of the platform engine is constructed. For example, the Android platform AndroidTimeline includes appendVideoTrack() for adding video track information, with a return type of VideoTrack; appendAudioTrack() for adding audio track information, with a return type of CaptionTrack, etc. The type is AudioTrack; add subtitle information appendCaptionTrack(), the return type is CaptionTrack, etc. The IOS platform IOSTimeline includes adding video track information appendVideoTrack(), the return type is VideoTrack; adding audio track information appendAudioTrack(), the return type is AudioTrack; adding subtitle information appendCaptionTrack(), the return type is CaptionTrack, etc. The Hongmeng platform HarmonyTimeline includes adding video track information appendVideoTrack(), the return type is VideoTrack; adding audio track information appendAudioTrack(), the return type is AudioTrack; adding subtitle information appendCaptionTrack(), the return type is CaptionTrack, etc. The above platforms complete the functional interface implementation of their respective functional interfaces according to the corresponding editing engines. Furthermore, if a platform has multiple editing engines, it is necessary to build the functional interface implementation of each editing engine for multiple editing engines. The above is an example. The specific functional interface and functional interface implementation are set according to the implementation situation and are not limited here.
[0063] Step S203: injecting the functional interface implementation of each platform engine into the editing engine adaptation layer of the cross-platform development framework.
[0064] After building the functional interface implementation of each platform engine, the functional interface implementation of each platform engine can be injected into the editing engine adaptation layer of the cross-platform development framework through engine type injection. The editing engine adaptation layer can associate the injected platform engine interface implementation with the platform engine type. Based on the editing engine adaptation layer, when calling the functional interface, the functional interface implementation of the platform engine corresponding to the platform engine type can be adapted to realize cross-platform video editing operations. One functional interface can correspond to multiple functional interface implementations, and users do not need to pay attention to the platform engine used.
[0065] Specific as Figure 4 As shown, based on the KMP cross-platform development framework, a clip UI layer (cross-platform video clip interface) is constructed. Figure 4 As shown, the component Compose is used to build the editing UI layer, which includes a preview panel, a subtitle panel, a music panel, an editing panel, a filter panel, a sticker panel, and a transition panel. Other panels can also be set according to the implementation situation. The editing atomic capability is obtained by splitting the editing operation, including various functional interfaces, such as playback, subtitles, picture-in-picture, editing, filters, stickers, transitions, and other functional interfaces can be set according to the implementation situation. The editing engine adaptation layer includes a preset engine protocol, which facilitates the construction of functional interface methods and data structures based on the engine protocol. The engine type injection implementation injects the functional interface implementation of the platform engine into the editing engine adaptation layer of the cross-platform development framework. The editing engine adaptation layer also includes engine type adaptation, which adapts the functional interface to the corresponding platform engine functional interface implementation according to the platform engine type. The above three layers are all based on the KMP cross-platform development framework. In addition to the above three layers, it also includes the platform engine protocol implementation layer, including the functional interface implementation AndroidImp of the engine on the Android platform, the functional interface implementation IOSImp of the engine on the IOS platform, the functional interface implementation HarmonyImp of the engine on the Hongmeng platform, the functional interface implementation WebImp of the engine on the Web platform, etc. The engines of different platforms build their own functional interface implementations based on the functional interface. After the engine type is injected, the engine type adapter adapts the functional interface to the corresponding functional interface implementation, so as to call the functional interface implementation to complete the editing operation. The above is an example, which is set according to the implementation situation and is not limited here.
[0066] Step S204, responding to any editing operation triggered by the user in the video editing interface, determining a corresponding function operation according to the function panel of the editing operation.
[0067] When the user performs editing operations in the video editing interface, in response to any editing operation triggered by the user, the functional operation corresponding to the editing operation can be determined according to the function panel of the editing operation. The functional operation corresponds to the atomic functional operation obtained by splitting. That is, the user operates the editing UI layer, decomposes the editing operation into atomic capabilities, and can pass it to the editing engine adaptation layer through the editing engine protocol to perform compatibility adaptation of the platform engine and execute the corresponding functional interface implementation.
[0068] Step S205, the editing engine adaptation layer calls the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine type, performs editing operations on the video, and returns the editing results to be displayed on the cross-platform video editing interface.
[0069] The function interface to be called can be determined according to the function operation, and the editing engine adaptation layer can determine the corresponding platform engine's function interface implementation according to the function interface and the editing engine type adaptation. The editing engine adaptation layer calls the corresponding platform engine's function interface implementation to complete the video editing operation. The editing result can be returned by the editing engine adaptation layer to the cross-platform video editing interface, and the editing result is displayed on the cross-platform video editing interface.
[0070] Furthermore, when the editing engine adaptation layer is adapted based on the editing engine type, it can use the editing engine type of the platform currently used by the user for adaptation, or it can inject a preset platform engine type based on the engine type injection interface, such as a pre-specified platform engine type, a third-party platform engine type, etc. The editing engine adaptation layer adapts according to the functional interface and the preset platform engine type, determines the functional interface implementation of the corresponding platform engine, and then calls the functional interface implementation of the platform engine, and returns the editing result to the cross-platform video editing interface for display. The preset platform engine type can be applicable to various situations such as testing, AB diversion, etc., which is convenient for calling the functional interface implementation of the platform engine of the preset platform engine type, and is not limited here.
[0071] According to the cross-platform video editing method provided by the present application, a unified cross-platform video editing interface suitable for each platform is constructed based on a cross-platform development framework, so that users can operate in the cross-platform video editing interface regardless of the editing engine of any platform, without having to be familiar with different editing interfaces, and the operation is more convenient. The functional interface of the functional operation is pre-built according to the preset editing engine protocol, and each platform can use the same functional interface, and a set of code can be used on multiple platforms to reduce costs. Each platform implements the corresponding functional interface according to its own engine construction, and injects it into the editing engine adaptation layer of the cross-platform development framework. The editing engine adaptation layer calls the functional interface of the corresponding platform engine according to the functional interface and the editing engine type to complete the video editing operation, thereby reducing the development workload and facilitating users to adapt to different video editing interface operations, thereby improving the user experience.
[0072] Figure 5 FIG. 2 shows a schematic diagram of the structure of a cross-platform video editing device provided by an embodiment of the present application. Figure 5 As shown, the device comprises:
[0073] The interface module 510 is adapted to display a cross-platform video editing interface, so that the user can perform video editing in the video editing interface; wherein the video editing interface is a unified UI interface for each platform;
[0074] The editing response module 520 is suitable for responding to any editing operation triggered by the user in the video editing interface, determining the functional interface corresponding to the editing operation, and calling the corresponding platform engine functional interface according to the editing engine of the current platform to complete the video editing operation.
[0075] Optionally, the interface module 510 is further adapted to:
[0076] Based on a cross-platform development framework, a unified UI interface for each platform is constructed according to a unified UI interface description language and / or components, and a cross-platform video editing interface is obtained and displayed.
[0077] Optionally, the video editing interface includes multiple function panels, including a preview panel, a subtitle panel, a music panel, a editing panel, a filter panel, a sticker panel and / or a transition panel.
[0078] Optionally, the clip response module 520 is further adapted to:
[0079] Respond to any editing operation triggered by the user in the video editing interface, and determine the corresponding function operation according to the function panel of the editing operation;
[0080] The corresponding function interface is determined according to the function operation, and the function interface implementation of the corresponding platform engine is called according to the function interface and the editing engine of the current platform to complete the video editing operation.
[0081] Optionally, the clip response module 520 is further adapted to:
[0082] A functional interface for pre-building functional operations based on a preset editing engine protocol; the preset editing engine protocol also defines a data format for the functional operations;
[0083] Based on the functional interface and data format, build the functional interface implementation of each platform engine;
[0084] The functional interface implementation of each platform engine is injected into the editing engine adaptation layer of the cross-platform development framework, so as to call the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine of the current platform.
[0085] Optionally, the clip response module 520 is further adapted to:
[0086] Based on the functional interface and data format, build corresponding functional interface implementations for each platform engine;
[0087] Inject the functional interface implementation of each platform engine into the editing engine adaptation layer of the cross-platform development framework;
[0088] The editing engine adaptation layer calls the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine type of the currently used platform, performs editing operations on the video, and returns the editing results to be displayed in the cross-platform video editing interface.
[0089] Optionally, the device further includes: an injection module 530, adapted to inject a preset platform engine type based on an engine type injection interface, and call a functional interface implementation of a corresponding platform engine according to a functional interface and the preset platform engine type.
[0090] The description of each module above refers to the corresponding description in the method embodiment and will not be repeated here.
[0091] According to the cross-platform video editing device provided by the present application, a unified cross-platform video editing interface is provided, and one video editing interface can be implemented for editing engines of different platforms. The editing operation calls the corresponding functional interface, and the editing engines of different platforms adapt to different functional interface implementations to complete the video editing operation, thereby reducing the development workload and facilitating users to operate without having to adapt to different video editing interfaces, thereby improving the user experience.
[0092] The present application also provides a non-volatile computer storage medium, which stores at least one executable instruction, and the executable instruction can execute operations corresponding to the cross-platform video editing method in any of the above method embodiments.
[0093] The present application also provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the cross-platform video editing method in any of the above method embodiments.
[0094] Figure 6 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. The specific embodiment of the present application does not limit the specific implementation of the computing device.
[0095] like Figure 6 As shown, the computing device may include: a processor (processor) 602 , a communications interface (Communications Interface) 604 , a memory (memory) 606 , and a communication bus 608 .
[0096] in:
[0097] The processor 602 , the communication interface 604 , and the memory 606 communicate with each other via a communication bus 608 .
[0098] The communication interface 604 is used to communicate with other devices such as clients or other servers.
[0099] The processor 602 is used to execute the program 610, and specifically can execute the relevant steps in the above cross-platform video editing method embodiment.
[0100] Specifically, the program 610 may include program codes, which include computer operation instructions.
[0101] The processor 602 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0102] The memory 606 is used to store the program 610. The memory 606 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0103] The program 610 can be specifically used to enable the processor 602 to execute the cross-platform video editing method in any of the above-mentioned method embodiments. The specific implementation of each step in the program 610 can refer to the corresponding descriptions in the corresponding steps and units in the above-mentioned cross-platform video editing embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, which will not be repeated here.
[0104] The algorithm or display provided here is not inherently related to any specific computer, virtual system or other device. Various general systems can also be used together with the teaching based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the application is not directed to any specific programming language either. It should be understood that various programming languages can be utilized to realize the content of the application described here, and the above description of specific languages is to disclose the preferred embodiment of the application.
[0105] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0106] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed application requires more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.
[0107] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0108] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.
[0109] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components of the present application. The present application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing a part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0110] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be understood as limitations on the order of execution.
Claims
1. A cross-platform video editing method, comprising: Displaying a cross-platform video editing interface for users to perform video editing on the video editing interface; wherein the video editing interface is a unified UI interface for each platform; In response to any editing operation triggered by the user in the video editing interface, the functional interface corresponding to the editing operation is determined, and the corresponding platform engine functional interface is called according to the editing engine of the current platform to complete the video editing operation.
2. The method according to claim 1, wherein: The cross-platform video editing interface further includes: Based on a cross-platform development framework, a unified UI interface for each platform is constructed according to a unified UI interface description language and / or components, and a cross-platform video editing interface is obtained and displayed.
3. The method according to claim 1 or 2, wherein: The video editing interface includes multiple function panels, including a preview panel, a subtitle panel, a music panel, a editing panel, a filter panel, a sticker panel and / or a transition panel.
4. The method according to claim 1, wherein: The responding to any editing operation triggered by the user in the video editing interface, determining the function interface corresponding to the editing operation, and calling the corresponding platform engine function interface according to the editing engine of the current platform to complete the video editing operation further includes: In response to any editing operation triggered by the user on the video editing interface, a corresponding function operation is determined according to a function panel of the editing operation; The corresponding functional interface is determined according to the functional operation, and the functional interface of the corresponding platform engine is called according to the functional interface and the editing engine of the current platform to complete the video editing operation.
5. The method according to claim 4, wherein: The step of determining a corresponding functional interface according to the functional operation, and calling a functional interface of a corresponding platform engine according to the functional interface and the editing engine of the current platform to complete the video editing operation further includes: Pre-constructing a functional interface of the functional operation based on a preset editing engine protocol; the preset editing engine protocol also defines a data format of the functional operation; Based on the functional interface and the data format, construct the functional interface implementation of each platform engine; The functional interface implementations of the platform engines are injected into the editing engine adaptation layer of the cross-platform development framework, so as to call the functional interface implementations of the corresponding platform engines according to the functional interfaces and the editing engine of the current platform.
6. The method according to claim 5, wherein: The step of constructing the functional interface implementation of each platform engine based on the functional interface and the data format; injecting the functional interface implementation of each platform engine into the editing engine adaptation layer of the cross-platform development framework to call the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine of the current platform further includes: Based on the functional interface and the data format, construct corresponding functional interface implementations for each platform engine respectively; Injecting the functional interface implementations of the platform engines into the editing engine adaptation layer of the cross-platform development framework; The editing engine adaptation layer calls the functional interface implementation of the corresponding platform engine according to the functional interface and the editing engine type of the currently used platform, performs editing operations on the video, and returns the editing results to be displayed on the cross-platform video editing interface.
7. The method according to any one of claims 1 to 6, wherein: The method further comprises: The preset platform engine type is injected based on the engine type injection interface, and the functional interface implementation of the corresponding platform engine is called according to the functional interface and the preset platform engine type.
8. A cross-platform video editing device, comprising: An interface module, adapted to display a cross-platform video editing interface, so that users can perform video editing on the video editing interface; wherein the video editing interface is a unified UI interface for each platform; The editing response module is suitable for responding to any editing operation triggered by the user in the video editing interface, determining the functional interface corresponding to the editing operation, and calling the corresponding platform engine functional interface according to the editing engine of the current platform to complete the video editing operation.
9. A computing device comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the cross-platform video editing method according to any one of claims 1-7.
10. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and wherein the executable instruction enables a processor to execute operations corresponding to the cross-platform video editing method according to any one of claims 1 to 7.
11. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to execute operations corresponding to the cross-platform video editing method according to any one of claims 1 to 7.
