Video editing methods, apparatus, equipment, and media
The video editing method provides flexible and efficient video editing by incorporating pre-configured and custom scripts, addressing the limitations of fixed functions in conventional software to meet diverse user needs and simplify batch processing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2023-11-15
- Publication Date
- 2026-04-20
AI Technical Summary
Conventional video editing software lacks flexibility and versatility, limiting users to fixed editing functions, making it difficult to meet diverse video editing needs and complicating batch processing of similar edits.
A video editing method that allows users to employ pre-configured scripts and custom scripting to edit video elements, enabling flexible editing through a video editing interface with script editing tools and libraries, and a preview player to visualize editing effects.
Enhances user flexibility and efficiency in video editing by allowing personalized scripting and batch processing, overcoming limitations of fixed functions and reducing the complexity of repetitive edits.
Smart Images

Figure 2026512697000001_ABST
Abstract
Description
Technical Field
[0003] ,
[0005] , , , , ,
[0004] , , , , , , ,
[0001] [Cross - Reference to Related Applications] This application claims priority based on an application with a Chinese patent application number of 202211435280.X and a filing date of November 16, 2022, and the disclosure content of this Chinese application is hereby incorporated into this application in its entirety.
[0002] This disclosure relates to the field of video processing technology, and particularly to video editing methods, apparatuses, devices, and media.
Background Art
[0003] Conventional video editing software all provides various functions that allow users to edit videos.
Summary of the Invention
Problems to be Solved by the Invention
[0004] This disclosure provides a video editing method, apparatus, device, and media.
Means for Solving the Problems
[0005] Some embodiments of the present disclosure provide a video editing method which includes presenting editing objects and editing tools for triggering editing operations on the editing objects to a video editing interface; performing editing on a first editing object by executing a pre-configured script corresponding to the first editing tool in response to the first editing object being triggered on a first editing object among the editing tools, thereby obtaining a second editing object; performing editing on a third editing object by presenting a script editing interface for a third editing object, obtaining a target script entered into the script editing interface, and executing the target script, thereby obtaining a fourth editing object; and generating a target video based on the second editing object and / or the fourth editing object.
[0006] In some embodiments, the video editing interface presents a video editing track, and the editing object includes elements on the video editing track and / or attributes of the target video.
[0007] In some embodiments, the script editing interface presents a script editing window in which script code can be entered, and the step of obtaining a target script entered into the script editing interface includes the steps of obtaining the script code entered by the user via the script editing window and obtaining a target script based on the script code entered by the user.
[0008] In some embodiments, the script editing interface presents a script retrieval link, and the step of retrieving a target script entered into the script editing interface includes, in response to the script retrieval link being triggered, jumping to a script library including a personal script library and / or a public script library, retrieving a script selected by the user from the script library, and obtaining a target script based on the script selected by the user.
[0009] In some embodiments, the step of obtaining a target script based on the script selected by the user includes the step of making the edited script the target script if the user makes edits to the script selected by the user.
[0010] In some embodiments, the number of third editing objects is multiple, and the step of performing an editing operation on the third editing object by executing the target script includes the steps of sorting the target scripts corresponding to the multiple third editing objects in ascending chronological order based on the start time indicated in the target script corresponding to each of the multiple third editing objects; for the first-ranked third editing object, the step of performing an editing operation on this third editing object by executing the target script corresponding to this third editing object when the current time reaches the start time corresponding to this third editing object; and for a third editing object that is not first-ranked, the step of performing an editing operation on this third editing object by executing the target script corresponding to this third editing object when the target script corresponding to the third editing object preceding this third editing object has already been executed and the current time reaches the start time corresponding to this third editing object.
[0011] In some embodiments, the method further includes rearranging the target scripts corresponding to a plurality of third edit objects in ascending chronological order if there is a target script corresponding to the third edit object that indicates that the start time corresponding to the third edit object has been modified.
[0012] In some embodiments, the method further includes constructing a tree diagram based on the hierarchical relationships between a plurality of the third editing objects, determining the initialization order of the scripts of the plurality of the third editing objects according to the tree diagram and a pre-configured traverse algorithm, and performing initialization operations on the target scripts of the plurality of the third editing objects based on the initialization order of the scripts.
[0013] In some embodiments, the video clip interface further presents a preview player, and the method further includes presenting the preview player with editing effects corresponding to the target script.
[0014] In some embodiments, the method further includes, when it is monitored that a user has performed an edit operation on the fourth edit object using the first edit tool, modifying a target script for generating the fourth edit object based on an editing operation scheme corresponding to the first edit tool.
[0015] In some embodiments, the method further includes providing instructions for using the editing tools at a predetermined location in the video editing interface, the instructions for use including a scripting language description and a description of the scripting functions corresponding to the editing objects.
[0016] Some embodiments of the present disclosure further provide a video editing apparatus which includes a presentation module for presenting editing objects and editing tools for triggering editing operations on the editing objects to a video editing interface; a first editing module for obtaining a second editing object by executing a pre-configured script corresponding to the first editing tool in response to the first editing tool being triggered on a first editing object among the editing objects; a second editing module for obtaining a fourth editing object by presenting a script editing interface for the third editing object, obtaining a target script entered into the script editing interface, and executing the target script in response to the second editing tool being triggered on a third editing object among the editing objects; and a video generation module for generating a target video based on the second and / or fourth editing objects.
[0017] Some embodiments of the present disclosure further provide electronic devices, the electronic devices comprising a processor and a memory for storing executable instructions of the processor, the processor being used to read the executable instructions from the memory and execute the instructions to implement a video editing method according to an embodiment of the present disclosure.
[0018] Some embodiments of the present disclosure further provide a computer-readable storage medium storing a computer program used to perform a video editing method according to an embodiment of the present disclosure.
[0019] Some embodiments of the present disclosure further provide a computer program product, which includes a computer program that realizes the video editing method described in any one of the items when executed by a processor.
Advantages of the Invention
[0020] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be easily understood from the following description.
Brief Description of the Drawings
[0021] The drawings herein are incorporated into the description and form a part of this description, showing embodiments consistent with the present disclosure and used to interpret the principles of the present disclosure together with the description.
[0022] To more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following briefly introduces the drawings that need to be used in the description of the embodiments or the prior art. Obviously, for those skilled in the art, without creative efforts, other drawings can also be obtained based on these drawings. [Figure 1] It is a flowchart of a video editing method according to an embodiment of the present disclosure. [Figure 2] It is a schematic diagram of a video editing interface according to an embodiment of the present disclosure. [Figure 3] It is a schematic diagram of a video editing interface according to an embodiment of the present disclosure. [Figure 4] It is a schematic diagram of a video editing interface according to an embodiment of the present disclosure. [Figure 5] It is a schematic diagram of an element hierarchy relationship tree according to an embodiment of the present disclosure. [Figure 6] It is a schematic diagram of script initialization rearrangement according to an embodiment of the present disclosure. [Figure 7] It is a schematic diagram of the start and end times of an editing object according to an embodiment of the present disclosure. [Figure 8] It is a schematic diagram of the execution flow of a script according to an embodiment of the present disclosure. [Figure 9] It is a schematic diagram of the structure of a video editing device according to an embodiment of the present disclosure. [Figure 10] It is a schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure.
Embodiments for Carrying Out the Invention
[0023] In order to more clearly understand the above objects, features and advantages of the present disclosure, the following further describes the solutions of the present disclosure. It should be noted that, as long as there is no contradiction, the embodiments of the present disclosure and the features in the embodiments can be combined with each other.
[0024] In the following description, many specific details are described in order to fully understand the present disclosure. However, the present disclosure may be implemented in other ways different from those described herein. Obviously, the embodiments in the specification are only some embodiments of the present disclosure, not all embodiments.
[0025] Conventional video editing software all provides users with various functions for editing videos. However, these editing functions are all fixed, that is, users can only complete video editing operations by adopting one or more of the fixed functions provided by the software, and the flexibility is relatively poor, making it difficult to meet the diverse video editing needs of users.
[0026] Specifically, the editing functions provided to users by conventional video editing software are all fixed functions, and users can only complete video editing operations by employing one or more of the fixed functions provided by the software. Furthermore, the method by which users perform video editing by employing fixed functions is mainly a visualized video editing method. For example, video editing software directly provides users with function control keys for editing videos on the interface, and users control the effect that editing objects have on the video using the function control keys. Alternatively, for example, users may adjust the appearance time / position of material by directly dragging.
[0027] The inventor's research revealed that the above video editing method limits users to completing video editing operations by employing one or more of the fixed functions provided by the software, resulting in relatively poor flexibility and inability to meet diverse user needs. For example, conventional software only offers a limited number of ways to display source video, limiting users to select from these existing options and preventing them from meeting their personalized needs. Furthermore, the above video editing method can be somewhat inconvenient for users. For instance, users need to drag source tracks to adjust the appearance time of source video, but in many cases, they cannot directly and accurately adjust the appearance of the source to their desired point, potentially requiring multiple adjustments, thus creating a certain degree of inconvenience. Furthermore, for some users who need to process videos in batches, using traditional video editing methods can be more cumbersome and complex. If the editing methods of multiple videos are almost identical, for example, if the same source material needs to be used, and the appearance time / entry method of this material in the videos is the same, the user would have to use the drag-and-drop method for each video to adjust the appearance time of the material and search for the required entry method, which is relatively cumbersome and reduces the efficiency of batch video processing.
[0028] Since the aforementioned defects in video editing schemes in related technologies are the result of careful research conducted by the applicant through practical application, the process of discovering these defects and the solutions proposed by the embodiments of this disclosure should all be considered contributions of the applicant to this application.
[0029] To address one or more of the above problems, embodiments of this disclosure provide video editing methods, apparatus, devices, and media, which are described and explained in detail below.
[0030] Figure 1 is a flowchart of a video editing method according to an embodiment of the present disclosure, which may be performed by a video editing device, which may be implemented by employing software and / or hardware, and may generally be integrated into an electronic device, which may be, but is not limited to, a mobile phone, a computer, or a portable wearable device. Alternatively, the video clipping method may be used in a client (e.g., video clipping software) configured to have a video clipping function, and as shown in Figure 1, the method mainly includes the following steps S102 to S108.
[0031] Step S102: The video editing interface presents editing objects and editing tools for triggering editing operations on those editing objects.
[0032] In some specific embodiments, the video editing interface presents a video editing track, and the editing object includes elements on the video editing track and / or attributes of the target video. Elements on the editing track include, but are not limited to, track segments, and attributes of the target video may include, for example, the length of the target video corresponding to the total length of the time axis, or the resolution of the target video. The embodiments of this disclosure do not limit the objects of editing, and any object involved in the video editing process may be an editing object; that is, an editing object is any object necessary for the video clip to be processed, and for example, source material, the track corresponding to the source material, and the time axis may all be considered editing objects. To make it understandable, a video editing interface may present various elements that can clip video (i.e., change video effects), and elements on the editing track in the editing object include track segments, which may correspond to materials, such as text track segments, sticker track segments, effect track segments, etc. Materials include, but are not limited to, stickers, text, effects, filters, transfer animations, videos, images, etc. Specifically, stickers may be understood as still or dynamic images that can be pasted onto a video, text as characters that can be pasted onto a video, effects as specific effects that can be applied to the video screen, renderers may be responsible for secondary rendering of the video screen, filters as color effects that can be applied to the video screen, and transfer animations may be understood as transition videos between two segments in a video, thereby increasing the consistency and transition effect of segment switching. Generally, video editing software provides the above materials for editing videos by selecting materials according to the user's needs.Each element is associated with a track (which may also be called an element track), which is used to characterize the distribution of the element over time. These tracks can be understood as track segments, and different combinations of track segments and different time zones can be used to present different visual effects. The time axis can represent the total length of the video and can display the video's time progression, allowing control over the content displayed at any given point in time.
[0033] In addition, the video editing interface may include a preview player, which may display some editing objects (e.g., stickers, text, etc.). The video editing interface may also include an editing object selection area for the user to select any necessary editing objects and add them to a track, and an area for presenting editing tools may be included so that the user can select a specific type of editing tool they need. In some specific embodiments, the editing tools include a first editing tool and a second editing tool, the first being a pre-configured operation tool that the user can automatically trigger and is mainly used for the user to edit in a pre-configured manner in the video editing software, and the second being a custom operation tool that the user needs to input a script for and is mainly used for the user to perform custom editing according to their needs. In practical applications, the area for presenting editing tools on the video editing interface may display controls corresponding to each editing tool, with different editing functions corresponding to different editing tools, and the user can select from them according to their needs and invoke the necessary editing tool by triggering the controls.
[0034] In step S104, in response to the first editing tool being triggered on the first editing object among the editing objects, the editing process for the first editing object is performed by executing a pre-configured script corresponding to the first editing tool, thereby obtaining the second editing object.
[0035] As mentioned above, the first editing tool is a pre-configured operation tool that the user can automatically trigger. Specifically, the software system has a pre-configured script corresponding to the first editing tool stored in it. When the user triggers the first editing tool, they can directly execute this pre-configured script to perform editing on the first editing object. The first editing object after editing may be called the second editing object. To understand this, the script is essentially a code segment that can implement certain functional logic. The pre-configured script corresponding to the first editing tool instructs the specific method of editing on the first editing object and may be used to set, for example, the style, content, and timing of the text material's appearance in the video.
[0036] In step S106, in response to the triggering of the second editing tool among the editing tools on the third editing object among the editing objects, the script editing interface of the third editing object is presented, the target script entered into the script editing interface is obtained, and the editing process on the third editing object is performed by executing the target script, thereby obtaining the fourth editing object.
[0037] As mentioned above, the second editing tool is a custom operation tool that requires the user to input a script. In practical applications, a script addition port corresponding to the second editing tool may be presented in the video editing interface, and when the user triggers the script addition port, it may be considered that the user has triggered the second editing tool. The script addition port provides a path for the user to add a script, and the user can add a target script corresponding to a third editing object via the script addition port. This target script may be understood as a custom script and may be used to instruct a specific method of editing the third editing object, and this method is set by the user according to their needs. The above method according to the embodiments of this disclosure corresponds to providing a path for the user to embed code segments according to their needs by exposing the interface, allowing the user to create video clips without being limited to the fixed functions of the video editing software, and to create clips according to their needs, thereby satisfying the user's diverse clipping needs.
[0038] The script entered into the script editing interface is the target script (custom script), and the user may create the script code themselves directly in the script editing interface as needed, or select the necessary script from the script library and enter it into the script editing interface; the embodiments of this disclosure do not limit the script source. By executing the target script obtained from the script editing interface, editing is performed on a third editing object, and the third editing object after editing may be called a fourth editing object. It should be noted that the third editing object may be the same as the first or second editing object, or it may be different from the first or second editing object; it should be noted that in this specification, relational terms such as "first" and "second" are used only to distinguish entities and do not necessarily require or imply that any actual relationship or order exists between these entities.
[0039] Step S108: Generate the target video based on the second and / or fourth editing object.
[0040] In practical applications, if only the second editing object exists, i.e., if the user employs only the first editing tool, video editing is performed based on the second editing object to obtain the target video. If only the fourth editing object exists, i.e., if the user employs only the second editing tool, video editing is performed based on the fourth editing object to obtain the target video. If both the second and fourth editing objects exist, i.e., if the user employs both the first and second editing tools, the target video is obtained based on the second and fourth editing objects. In practical applications, the original video may also be edited into the target video based on the second and / or fourth editing objects.
[0041] According to the above-described technical invention as an embodiment of the present disclosure, the user can perform editing processing by directly using a pre-configured script corresponding to the first editing tool, which is convenient and fast. Alternatively, when the user triggers the second editing tool, a script editing interface can be presented, allowing the user to input the necessary target script into the script editing interface as needed and perform editing processing using the target script. In other words, by granting the user the authority to add scripts, the diverse editing needs of the user are met, and the flexibility of video editing is greatly enhanced.
[0042] In some embodiments, the video editing interface presents a script editing interface, and two embodiments for obtaining a target script entered into the script editing interface are described below.
[0043] Embodiment 1: The script editing interface presents a script editing window in which script code can be entered. Based on this, the step of obtaining a target script entered into the script editing interface includes the steps of obtaining the script code entered by the user via the script editing window and obtaining the target script based on the script code entered by the user. In actual applications, the script editing window may be presented in the form of a floating window or an interface embedded format so that the user can create a target script via the script editing window.
[0044] By directly presenting the script editing window, users can create the necessary scripts directly in the script editing window according to their needs, thus fulfilling their diverse video editing requirements and offering great flexibility.
[0045] Embodiment 2: The script editing interface is provided with a script acquisition link, and based on this, the step of acquiring a target script entered into the script editing interface includes, in response to the script acquisition link being triggered, jumping to a script library including the personal script library and / or public script library, acquiring a script selected by the user from the script library, and obtaining a target script based on the script selected by the user.
[0046] The personal script library is used to store private scripts that users create in advance. For example, a user can store multiple scripts with common functions in their personal script library, making it easy to call them directly when needed later. The public script library is used to store public scripts that the public creates in advance. For example, a user can upload their own scripts to the public script library for public use. This public script library may also be called a script mall, and users can download necessary scripts through the public script library. Based on this, the script convenience interface presents a script acquisition link that allows the user to jump to the script library. When the user clicks the script acquisition link, the interface automatically jumps to the personal script library or public script library selected by the user, allowing the user to select the necessary script from the script library. In practical applications, the user may directly set the selected script as the target script, or they may further edit the selected script. When the user edits the selected script, the edited script becomes the target script.
[0047] The method of providing the above-mentioned script acquisition link allows users to conveniently and quickly select the necessary scripts from the script library. These scripts may be scripts previously created by the user or scripts shared from the public, and by overcoming the inherent limitations of video editing software, it is possible to further reduce the time spent on video editing and enhance the convenience of video editing.
[0048] In actual applications, Embodiment 1 and / or Embodiment 2 may be flexibly selected according to the needs. For example, a script editing window may be presented along with a script acquisition link so that the user can select the script addition method they require.
[0049] In summary, after a user selects a third editing object, a corresponding script editing interface can be provided for the user. The added script can be one created by the user in the script editing window, a previously written history script called via the user's personal script library, or a script downloaded by the user from a platform such as a public script library. This variety in script addition methods provides great convenience for users to provide scripts for the third editing object.
[0050] In practical applications, considering that the user has already entered a target script corresponding to a third editing object into the script editing interface during the history editing process, when the user now re-triggers the second editing tool for the third editing object, the history script for the third editing object may be directly presented in the script editing interface. This script may be the script that the user last edited and saved for the third editing object, or the script that was last added via the script library, and the user can further modify it directly as needed based on the history script. Specifically, the script editing interface may have a script editing button, and when the user triggers the script editing button, they can make modifications and adjustments to the current script presented in the interface. Such a method provides the user with a flexible and convenient means of modifying the script, making it easy for the user to modify the script multiple times as needed and to adjust the feasible functions of the script. In addition, the script editing interface may have a script delete button, and when the user triggers the script delete button, they can perform a delete operation on the current script presented in the interface. The user may delete a script and then add a new one, or they may not add a new script. In this case, the user does not need to use a third editing object from which the script has been deleted, or the user does not need to use a custom script method to perform editing on the third editing object, and instead performs editing on the third editing object using a pre-configured script method corresponding to the first editing tool.
[0051] To facilitate understanding of the above, you may refer to the schematic diagram of the video editing interface shown in Figure 2. The video editing interface presents track segments for elements such as text and stickers on the video editing track, and further displays trigger buttons corresponding to editing objects such as video, audio, text, and stickers, as well as a script addition button (the "Add Script" button in the diagram) for initiating a script addition request, a script deletion button (the "Delete Script" button in the diagram) for initiating a script deletion request, and a script editing button (the "Edit Script" button in the diagram) for initiating a script editing request. These buttons may be used to trigger editing tools for the user. The user can select the desired editing object. For example, in Figure 2, when the video trigger button is selected, the script addition button is in an optional state (i.e., triggerable). Figure 2 is only a schematic diagram and not an actual screen. Shaded buttons indicate that the button is in an optional state (i.e., clickable by the user), and bold text indicates that the button is already triggered (i.e., already selected). The user can invoke the editing tool in the embodiment of this disclosure by triggering the above button.
[0052] Based on Figure 2, a schematic diagram of the video editing interface shown in Figure 3 may be further referenced. After the user adds a script to an already selected editing object, both the script delete button and the script edit button become optional, meaning the user can perform further editing or deletion operations on the already added script. When the user triggers the script edit button, the video editing interface may display a script editing interface in the form of a floating window, as shown in Figure 4. This script editing interface includes a script program editing box, and the user can enter the necessary script code into the script editing interface as needed. It should be noted that Figure 4 is merely an example, and in actual applications, the script editing interface may appear in the video editing interface in an embedded format.
[0053] Figures 2 to 4 above are illustrative examples, showing trigger buttons and script add / edit / delete buttons corresponding to each material, and further illustrating elements such as attribute areas (which can represent material attributes, such as added text font size and font style), material tracks, and timelines. In actual applications, the video editing interface may simultaneously present conventional buttons and parameter setting ports, such as presentation effects (video clip effects) on the video of the editing object, and function control keys for visualization operations. In other words, while maintaining the original visualization video clip method, a new method may be added that allows the user to create video clips using custom scripts, allowing the user to flexibly select the method they need. For example, if a user wants to clip a video using five editing objects, they may use a custom script method for three of the editing objects to achieve functionality not provided by the video editing software, while directly using the visualization clip method for the other two editing objects, as the functionality provided by the video editing software can meet the user's needs. In other words, in actual applications, each editing object in video editing software may correspond to a script, and for each editing object, the user may control the editing object by using a custom script, or by using a pre-configured script corresponding to an existing function button, and is not limited thereto.
[0054] In summary, the above method allows users to flexibly select the necessary editing tools according to their needs to clip videos, and to add, edit, and delete scripts corresponding to the editing objects that need to be clipped, thereby meeting their diverse video clipping needs.
[0055] To ensure that users clearly understand the specific methods for performing operations to realize video clips based on scripts, the methods according to embodiments of this disclosure further include providing instructions for using editing tools at a predetermined location in the video editing interface, the instructions for use including a description of the scripting language and a description of the scripting functions corresponding to the editing objects. The predetermined location may be, but is not limited to, a software introduction page or a features page. That is, in actual applications, a description document for controlling video editing with scripts may be provided to the user at a predetermined location in the video editing software, and this description document may include, but is not limited to, an introduction to the scripting editing language, a description of the scripting functions, and a specific method for using scripts to control video clips, thereby enabling the user to perform video editing by clearly understanding, through the description document, how to use scripts to perform editing operations on editing objects.
[0056] The embodiments of this disclosure do not limit the language used for the scripts, and in some specific embodiments, the scripts may be implemented using a custom DSL (domain-specific language), which may be called a dynamic scripting language. Syntactically, language styles such as JavaScript, Lua, and KotlinScript may be used, but are not limited herein. A script program may include the following: 1) basic control flow: e.g., conditional statements if, loop control statements for, while, etc.; 2) functions: may include built-in functions and custom functions. Built-in functions may be built-in functions provided by the video clip software, e.g., getCurrentTime function for getting the current timeline length, getBeginTime for getting the start time of an element, etc.; custom functions may be functions that create logic that needs to be implemented according to the user's needs in order to implement the user's custom logic; 3) triggers. A trigger is essentially a type of function, but it is executed and called back by a script control program, and is passively triggered without the user needing to call it voluntarily. A trigger may include, for example, an onStart function to trigger the execution of a script, and an onEnd function to trigger the end of script execution. The above function names are all illustrative descriptions and should not be considered limitations. In embodiments of this disclosure, each type of edit object mentioned above (e.g., elements on a track, video attributes, etc.) is scriptable, and different edit objects may be called different types of scriptable entity objects, i.e., scripts may be added to control how the edit object clips to the video based on the script, thereby enabling more functionality.
[0057] A script typically has several basic functional functions and triggers, including, but is not limited to, the getCurrentTime function to get the current timeline length, the getCurrentInnerTime function to get the current edit object's internal time length, the getBeginTime function to get the edit object's start time, the getEndTime function to get the edit object's end time, the onStart function to call back when the edit object's script is executed, the onEnd function to call back when the edit object triggers its end, and the onTimeChanged function to trigger when the edit object's time is modified.
[0058] Based on the basic functional functions described above, each different type of editing object may have different scripting functions, and these scripting functions may be fixed or extended (for example, updated by an upgrade of the application program or defined by the user of the application program). Illustratively, the following describes the basic functions of the scripts corresponding to each editing object, and the contents in parentheses surrounding the basic functions are used to characterize the function names that implement these functions. It should be noted that the function names are merely illustrative and may be set by the user according to the actual situation; they should not be considered a restriction.
[0059] Regarding scripts that correspond to time, their basic functions include, but are not limited to, obtaining the total length of the timeline (getTimelineDuration), obtaining all tracks under the timeline (getAllTracks), and obtaining track information based on track identification (getTrackById). Regarding scripts that correspond to tracks, their basic functions include, but are not limited to, obtaining all elements on the track (getAllElements), obtaining element information based on element identification (getElementById), setting track visibility (setTrackVisibility), deleting a track (deleteTrack), adding a track (addTrack), and copying a track (copyTrack). Regarding scripts that support stickers, their basic functions include, but are not limited to, scaling stickers (scaleSticker), moving stickers (translateSticker), rotating stickers (rotateSticker), setting transparency (setStickerAlpha), deleting stickers (deleteSticker), adding stickers (addSticker), and copying stickers (copySticker). Regarding scripts that support text, their basic functions include, but are not limited to, modifying text content (editTextContent), modifying text style (editTextStyle), scaling text (scaleText), moving stickers (translateText), rotating text (rotateText), setting transparency (setTextAlpha), deleting text (deleteText), adding text (addText), and copying text (copyText). Regarding scripts that support effects, their basic functions include, but are not limited to, deleting effects (deleteEffect), adding effects (addEffect), and editing effect information (editEffect).Regarding scripts that support filters, their basic functions include, but are not limited to, deleting filters (deleteFilter), adding filters (addFilter), and editing filter information (editFilter). Similarly, regarding scripts that support transfer animations, their basic functions include, but are not limited to, deleting transfer animations (deleteTransferAnimation), adding transfer animations (addTransferAnimation), editing transfer animation information (editTransferAnimation), and setting the video interpolator (setInterpolator). Similarly, regarding scripts that support audio, their basic functions include, but are not limited to, deleting audio (deleteAudio), adding audio (addAudio), splitting audio (splitAudio), and setting audio information (setAudioInfo). The above are all illustrative explanations, and other functions may be implemented in actual applications, and the function names and specific code logic of these functions may be adjusted; they are not limited here.
[0060] In practical applications, the number of third editing objects can be multiple; that is, a user may use a custom scripting method to control multiple editing objects involved in a single video editing task, and one corresponding script may be added to each third editing object. For example, in a video editing task, if there are five types of third editing objects, one timeline, one video, two stickers, and one audio, and a corresponding custom script is added to each third editing object, then a total of five scripts need to be executed in this video editing task, or in other words, the video editing task may be executed based on these five scripts. When clipping video to be processed based on the scripts corresponding to the third editing objects, the scripts may first be initialized, that is, the scripts necessary for video editing may be preloaded. In some embodiments, the initialization order of the scripts may be determined based on the hierarchical relationship between each third editing object, which may be specifically implemented by referring to steps A to C below.
[0061] Step A: Construct a tree diagram based on the hierarchical relationships between multiple third editing objects.
[0062] Referring to the hierarchical relationship tree schematic diagram of editing objects shown in Figure 5, the time axis, the tracks corresponding to each material, and the hierarchical relationships between each material are shown. It can be understood that tracks belong to the time axis members, materials belong to the material track members, and a tree structure is formed from top to bottom based on the hierarchical relationships between multiple editing objects, and the tree schematic diagram shown in Figure 5 can be presented. It should be noted that Figure 5 is merely an illustrative example and should not be considered a limitation.
[0063] Step B determines the initialization order of the scripts for multiple third editing objects according to the tree diagram and a pre-configured traverse algorithm.
[0064] In some embodiments, the traverse algorithm may be, for example, a tree-based pre-order traverse algorithm, and the tree-based pre-order traverse algorithm and tree diagram can determine the initialization order (i.e., preload order) of the scripts for each target element. For example, referring to the schematic diagram of script initialization reordering shown in Figure 6, the initialization execution order of the scripts for each edit object obtained by the pre-order traverse algorithm can be adopted on the tree result, that is, the time axis scripts can be initialized preferentially, and then the video track scripts can be initialized. Specifically, the initialization order identified in Figure 6 can be referred to. It should be noted that Figure 6 is merely an example, and other traverse algorithms may be adopted in actual applications, such as a level-order traverse algorithm, and are not limited thereto.
[0065] Step C: Perform initialization operations on the target scripts of multiple third editing objects based on the script initialization order.
[0066] Using the method described above, multiple target scripts may be sequentially initialized so that they are executed directly afterward.
[0067] Each editing object's script reflects spatial and temporal aspects when executed. Spatially, the initialization order of the scripts is determined based on the hierarchical relationships between the editing objects described above. Temporally, each editing object has its own start and end times. Figure 7 shows a schematic diagram of the start and end times of editing objects, representing them in the form of material track lengths. The actual execution order of each script must be determined accordingly based on the start and end times of the editing objects. For example, the script corresponding to the editing object that appears first in the video will be executed first. Scripts may also have triggers. When the current time reaches the editing object's start time, the trigger onStart in the script can be automatically called, triggering the execution of the script corresponding to this editing object. When the current time reaches the editing object's end time, the trigger onEnd in the script can be automatically called, triggering the termination of the script corresponding to this editing object. Multiple scripts must be executed in chronological order, and a linked list can be used in the data structure to record the order of script execution. During script execution, trigger functions are called according to the time axis to execute multiple scripts sequentially in chronological order.
[0068] It should be explained that the initialization order of scripts differs from the actual execution order of scripts. The initialization order of scripts is primarily determined by the hierarchy between editing objects, while the actual execution order of scripts is primarily determined by the chronological order in which the editing objects appear. For example, in the initialization order, if the initialization time of a sticker track script is earlier than the initialization time of a text track script, but in video editing, if the appearance time of a sticker in a video is later than the appearance time of text, then the execution order of the sticker track script will be later than that of the text track script.
[0069] Embodiments of this disclosure further provide a specific method for realizing editing operations on a third editing object by executing a target script. For example, the target scripts corresponding to a plurality of third editing objects may be sorted in ascending chronological order based on the start time indicated in the target script corresponding to each of the plurality of third editing objects. For the first-ranked third editing object, when the current time reaches the start time corresponding to this third editing object, the target script corresponding to this third editing object may be executed to realize the editing operation on this third editing object. For third editing objects that are not first-ranked, if the target script corresponding to the third editing object preceding this third editing object has already been executed, and the current time reaches the start time corresponding to this third editing object, the target script corresponding to this third editing object may be executed to realize the editing operation on this third editing object. It should be explained that the execution order of the scripts all refer to the start time of the script execution, and the forward and backward order of script execution may be recorded using a linked list format. The meaning of the above statement that the target script corresponding to the previous third editing object has already been executed is that the execution of the target script corresponding to the previous third editing object has already started, not that the execution has been completed. In practice, target scripts corresponding to different third editing objects may not have the same execution start time, but their execution periods may overlap, meaning they may run simultaneously. For example, during the execution of a video track script, a timeline script may always be running. This method ensures that, when there are multiple third editing objects, video clips based on target scripts corresponding to multiple third editing objects can still be created in an orderly and reliable manner without confusion, guaranteeing the accuracy of the video clips.
[0070] Furthermore, considering that users may modify the timing at which a third editing object begins to appear in the video, the above method further includes rearranging the target scripts corresponding to multiple third editing objects in ascending chronological order if there is a directive in the target script corresponding to the third editing object indicating that the start time corresponding to the third editing object has been modified. That is, by rearranging the target scripts of multiple third editing objects so as to correct the order of script execution in a timely manner when the start time of the target script is modified, it is possible to ensure that the timing at which each third editing object appears in the video all meets the user's needs and achieve the video clip effect the user desires.
[0071] In practical applications, scripts involved in the video editing process can be executed according to the schematic script execution flow shown in Figure 8, regardless of whether the user triggers a pre-configured script corresponding to the first editing tool or a target script entered by the second editing tool, and mainly include the following steps.
[0072] Step S802: Traverse the start and end times specified in the script corresponding to each edited object.
[0073] In step S804, the scripts corresponding to each editing object are sorted in ascending chronological order, and a linked list is used to record the sorting result of each script. Specifically, the linked list is generated after the script execution system has determined the order in which the scripts are executed, and the linked list may contain the scripts corresponding to each element, and each script is sorted in ascending chronological order within the linked list.
[0074] In step S806, the script to be processed is retrieved from the linked list. In actual applications, one script may be retrieved and processed at a time according to the script sorting until step S816 is executed. If it is determined in step S816 that none of the scripts have already been executed, the process returns to step S806, i.e., the next script is retrieved from the linked list and processed according to the following steps.
[0075] Step S808: Determine whether the current time type in the script to be processed is the start time. If YES, perform step S810; otherwise, perform step S812.
[0076] Step S810: Start the execution of this script. The script may have a trigger set, and the start time is obtained from the script to be processed. When the current time reaches the start time, the trigger onStart in the script is automatically called, which triggers the execution of the script corresponding to this element. At this point, it is equivalent to the formal execution of the script.
[0077] Step S812: Terminate the execution of this script. If the current time type in the script to be processed is not the start time, the end time can be obtained from the script to be processed, and the trigger onEnd in the script can be automatically called, i.e., the execution of the script corresponding to this element can be terminated, as this indicates that the current time has reached the end time.
[0078] Step S814 determines whether the timing in this script has changed. If yes, perform step S802; otherwise, perform step S816. Specifically, a change in the time at which the elements indicated in the script begin to affect the video can be used to determine whether the start time in this script has changed, as this affects the execution order of multiple scripts. If a change has occurred, it triggers a readjustment of the order of multiple element scripts.
[0079] Step S816: Determine whether all scripts have already been executed. If YES, exit; otherwise, perform step S806.
[0080] The above method ensures that multiple scripts execute video clips in an orderly and reliable manner, and guarantees that the video clip effects meet the user's needs.
[0081] To enable users to clearly and intuitively understand video clip effects, the video editing interface further presents a preview player, and the method according to the embodiments of this disclosure further includes presenting the preview player with editing effects corresponding to a target script. For example, for a sticker script, if the script has a sticker transparency set, the preview player will present the effect of the sticker in the video synchronously based on this sticker transparency. Or, for example, for a text script, if the script has a text style set, the preview player will present the effect of the text in the video synchronously based on this text style. The above method enables users to clearly and intuitively understand the effects that control video clips based on element scripts, and helps users determine whether they need to modify the script based on intuitive video clip effects.
[0082] In the embodiments of this disclosure, in order to provide users with convenient and rapid editing functions, a first editing tool can be provided to the user. This first editing tool can be presented in the video editing interface in the form of, for example, a function trigger button or an adjustment bar, providing the user with a visual interaction method. Furthermore, a second editing tool can be provided to the user to implement video clips using custom scripts. The user can flexibly select the necessary method according to their needs to create video clips. Furthermore, if the user is not satisfied with the presentation effect of the video of an editing object that has undergone editing processing based on a custom script, the user may flexibly re-invoke and modify the first editing tool. Based on this, the method further includes, when it is monitored that the user has performed editing processing on a fourth editing object using the first editing tool, modifying the target script for generating the fourth editing object based on the editing processing method corresponding to the first editing tool, and matching the video clip effect corresponding to the modified target script with the video clip effect obtained after adjustments by the first editing tool. That is, when the user performs a visualization operation on a fourth editing object, the script may also be adjusted accordingly. For example, if the start time of the fourth editing object set in the script by the user is A, and the user further adjusts the start time of the fourth editing object using the first editing tool to change start time A to start time B, the script will also synchronize and change the start time of the fourth editing object to B accordingly. This method can relatively well guarantee consistency between the final script and the editing effect.
[0083] In the embodiments of this disclosure, the first editing tool can provide the user with a visualization function button, and the user can perform editing by triggering a pre-configured script in a manner that triggers the visualization function button, which may also be called a visualization-based video editing operation. The second editing tool can provide the user with a script editing interface, and the user can perform editing by entering a custom script into the script editing interface, which may also be called a custom script-based video editing operation. Of course, in both visualization-based video editing operations and custom script-based video editing operations, the essence is to adjust the relevant data corresponding to the editing object (e.g., start and end times, element representation format, etc.). According to the above examples in the embodiments of this disclosure, bidirectional synchronization between custom script-based video editing operations and visualization-based video editing operations can be achieved, resulting in consistent video editing effects, and it is also easy for the user to flexibly select / switch the required video editing operation method. Furthermore, the method of performing video editing based on a script, as described in the embodiments of this disclosure, allows users to achieve effects not available in the original functions of the video editing software. For example, users can customize more complex entry animation formats as needed, rather than being limited to the limited entry animation formats provided by the video editing software. This provides users with a wider variety of video editing methods and makes video editing more flexible and free.
[0084] In summary, the video editing method according to the embodiments of this disclosure includes, but is not limited to, the following beneficial effects.
[0085] (1) By providing users with a path to embed code segments (enter scripts) as needed, users can create scripts as needed and use them to perform video editing, thereby realizing the functions they require. In other words, users can perform video editing without being limited to the fixed functions of the video editing software, and can edit according to their needs, thereby meeting the diverse editing needs of users.
[0086] (2) Improved the convenience of video editing. With related technologies, when a user selects material and performs video editing, it may be necessary to set various parameters, such as the start time, end time, or other fine-tuning parameters of the material. If the user fine-tunes each material sequentially, they have to operate it one by one, which is very time-consuming. Furthermore, operations such as adjusting the start and end times by dragging a track are prone to errors and may not allow the user to fully reach their desired point. The method of using scripts to clip is very convenient, as it only requires setting the code parameters related to the script, eliminating the need for repeated adjustments and allowing the desired effect to be achieved.
[0087] (3) Scripts can be multiplexed, effectively increasing the efficiency of batch processing of videos. Scripts can also be used in batches, and users can write multiple scripts in advance. For example, they can pre-edit and save frequently used scripts for each editing object, and then directly call them by script name when needed, further increasing video editing efficiency. Furthermore, there is no need to apply a visualization method to each video individually for editing, drastically reducing the time required for batch processing of videos.
[0088] (4) Users can flexibly select the editing method they need according to their needs, for example, whether to use visualization-based video editing operations or custom script-based video editing operations, thereby further enhancing their video editing experience.
[0089] Corresponding to the video editing method described above according to the embodiments of the present disclosure, the embodiments of the present disclosure further provide a video editing apparatus, Figure 9 being a schematic diagram of the structure of the video editing apparatus according to the embodiments of the present disclosure, which may be implemented by software and / or hardware, and may generally be integrated into electronic equipment, as shown in Figure 9, The video editing interface includes a presentation module 902 for presenting editing objects and editing tools for triggering editing operations on those objects. The first editing module 904, which obtains a second editing object, executes a pre-configured script corresponding to the first editing tool in response to the first editing tool being triggered on the first editing object among the editing objects, thereby realizing editing processing on the first editing object and obtaining a second editing object. In response to the triggering of the second editing tool among the editing tools on the third editing object among the editing objects, the second editing module 906 presents the script editing interface of the third editing object, retrieves the target script entered into the script editing interface, and executes the target script to perform editing on the third editing object, thereby obtaining a fourth editing object. It includes a video generation module 908 for generating a target video based on a second and / or fourth editing object.
[0090] According to the above-described technical invention as an embodiment of the present disclosure, the user can perform editing processing by directly using a pre-configured script corresponding to the first editing tool, which is convenient and fast. Alternatively, when the user triggers the second editing tool, a script editing interface can be presented, allowing the user to input the necessary target script into the script editing interface as needed and perform editing processing using the target script. In other words, by granting the user the authority to add scripts, the diverse editing needs of the user are met, and the flexibility of video editing is greatly enhanced.
[0091] In some embodiments, the video editing interface presents a video editing track, and the editing object includes elements on the video editing track and / or attributes of the target video.
[0092] In some embodiments, the script editing interface presents a script editing window in which script code can be entered, and the second editing module 906 is specifically used to obtain the script code entered by the user via the script editing window and to obtain a target script based on the script code entered by the user.
[0093] In some embodiments, the script editing interface is provided with a script retrieval link, and the second editing module 906 is used, specifically, in response to the script retrieval link being triggered, to jump to a script library including a personal script library and / or a public script library, to retrieve a script selected by the user from the script library, and to obtain a target script based on the script selected by the user.
[0094] In some embodiments, the second editing module 906 is specifically used to make the edited script the target script when the user makes edits to the script selected by the user.
[0095] In some embodiments, the number of the third editing objects is multiple, and the second editing module 906 is used to sort the target scripts corresponding to the multiple third editing objects in ascending chronological order based on the start time indicated in the target script corresponding to each of the multiple third editing objects, and to perform editing on the first-ranked third editing object by executing the target script corresponding to this third editing object when the current time reaches the start time corresponding to this third editing object, and to perform editing on the third editing object that is not ranked first by executing the target script corresponding to the third editing object when the target script corresponding to the third editing object before this third editing object has already been executed and the current time reaches the start time corresponding to this third editing object.
[0096] In some embodiments, the device further includes a resorting module for rearranging the target scripts corresponding to a plurality of third edit objects in ascending chronological order if there is a target script corresponding to the third edit object that indicates that the start time corresponding to the third edit object has been modified.
[0097] In some embodiments, the device further includes an initialization module for constructing a tree diagram based on the hierarchical relationships between a plurality of third editing objects, determining the initialization order of the scripts of the plurality of third editing objects according to the tree diagram and a pre-configured traverse algorithm, and performing initialization operations on the target scripts of the plurality of third editing objects based on the initialization order of the scripts.
[0098] In some embodiments, the video editing interface further presents a preview player, and the device further includes an effects presentation module for presenting editing effects corresponding to the target script to the preview player.
[0099] In some embodiments, the device further includes a modification module for modifying a target script for generating the fourth edit object based on an editing process corresponding to the first edit tool, when the device monitors that a user has performed an editing process on the fourth edit object using the first edit tool.
[0100] In some embodiments, the device further includes an instructional module for providing instructions for using the editing tools at a predetermined location in the video editing interface, the instructions for use including a scripting language description and a scripting function description corresponding to the editing objects.
[0101] A video editing apparatus according to an embodiment of the present disclosure can perform a video editing method according to any embodiment of the present disclosure and has functional modules and beneficial effects corresponding to the method of execution.
[0102] As will be readily apparent to those skilled in the art, for the convenience and brevity of description, the specific operating processes of the embodiments of the apparatus described above can be found by referring to the corresponding processes in the embodiments of the method, and will not be described further here.
[0103] Embodiments of the present disclosure provide electronic equipment comprising a processor and memory for storing executable instructions of the processor, the processor being used to read executable instructions from the memory and execute the instructions to realize the video editing method described above.
[0104] Figure 10 is a schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure. As shown in Figure 10, the electronic device 1000 includes one or more processors 1001 and memory 1002.
[0105] The processor 1001 may be a central processing unit (CPU) or another type of processing unit having data processing capability and / or instruction execution capability, and may control other assemblies in the electronic device 1000 to perform a desired function.
[0106] The memory 1002 may include one or more computer program products, the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or high-speed cache memory (cache). The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored in the computer-readable storage media, and the processor 1001 may execute the program instructions to implement the video editing method and / or other desired functions of the embodiments of the present disclosure described above. The computer-readable storage media may further store various contents, such as input signals, signal components, and noise components.
[0107] In one example, the electronic device 1000 may further include an input device 1003 and an output device 1004, and these assemblies are connected to each other via a bus system and / or other form of connection mechanism (not shown).
[0108] Furthermore, this input device 1003 may include, for example, a keyboard, a mouse, and the like.
[0109] This output device 1004 may output various information to the outside, including determined distance information, direction information, etc. This output device 1004 may include, for example, a display, a speaker, a printer, and a communication network and remote output devices connected thereto.
[0110] Of course, for the sake of simplification, Figure 10 shows only some of the assemblies relating to this disclosure in the electronic device 1000, and assemblies such as buses and input / output interfaces are omitted. Furthermore, depending on the specific application, the electronic device 1000 may further include any other suitable assemblies.
[0111] In addition to the above-described methods and equipment, embodiments of this disclosure may also be computer program products including computer program instructions, wherein when the computer program instructions are executed by the processor, the processor is instructed to execute the video editing method according to embodiments of this disclosure.
[0112] The computer program product can generate program code for performing the operations of the embodiments of this disclosure in any combination of one or more program design languages, the program design languages include object-oriented program design languages such as Java and C++, and further include general procedural program design languages such as the "C" language or similar program design languages. The program code may be executed entirely on a user computer, partially on a user computer, as a single standalone software package, partially on a user computer, partially on a remote computer, or entirely on a remote computer or server.
[0113] The embodiments of this disclosure may also be computer-readable storage media on which computer program instructions are stored, and when the computer program instructions are executed by the processor, the processor is instructed to execute the video editing method according to the embodiments of this disclosure.
[0114] The computer-readable storage medium may employ any combination of one or more readable media. The readable media may be a readable signal medium or a readable storage medium. The readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any combination thereof. More specific examples (a non-complete list) of readable storage media include electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0115] Embodiments of the present disclosure further provide a computer program product which includes a computer program / instruction that, when executed by a processor, realizes the video editing method of the embodiment of the present disclosure.
[0116] It should be noted that, in this specification, relational terms such as “first” and “second” are used solely to distinguish one entity or operation from another, and do not necessarily require or imply that any such actual relationship or order exists between these entities or operations. Furthermore, the terms “include,” “incorporate,” or any other variation thereof are meant to cover the non-exclusive “include,” thereby meaning that a process, method, article, or apparatus containing a set of elements includes not only those elements but also other elements not explicitly listed, or further elements specific to such a process, method, article, or apparatus. Unless otherwise specified, an element limited by the phrase “includes one…” does not preclude the existence of another identical element in a process, method, article, or apparatus containing the aforementioned element.
[0117] As described above, these are merely specific embodiments of the Disclosure, and a person skilled in the art can understand or implement the Disclosure thereby. Various modifications to these embodiments will be obvious to a person skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the Disclosure. Therefore, the Disclosure is not limited to these embodiments described herein, but should conform to the broadest scope that is consistent with the principles and novel features disclosed herein.
Claims
1. The video editing interface presents editing objects and editing tools for triggering editing operations on those editing objects. In response to triggering the first editing tool among the editing tools on the first editing object, the editing process on the first editing object is performed by executing a pre-configured script corresponding to the first editing tool, thereby obtaining a second editing object. In response to triggering the second editing tool among the editing tools on the third editing object, the script editing interface of the third editing object is presented, the target script entered into the script editing interface is obtained, and the editing process for the third editing object is realized by executing the target script, thereby obtaining a fourth editing object. A video editing method comprising generating a target video based on at least one of the second editing object and the fourth editing object.
2. The method according to claim 1, wherein the video editing interface presents a video editing track, and the editing object includes at least one of elements on the video editing track and attributes of a target video.
3. The script editing interface presents a script editing window in which script code can be entered, and the step of obtaining the target script entered into the script editing interface is as follows: The steps include obtaining the script code entered by the user via the script editing window, The method according to claim 1, further comprising the step of obtaining a target script based on a script code entered by the user.
4. The script editing interface provides a script acquisition link, and the step of acquiring the target script entered into the script editing interface is as follows: In response to the triggering of the aforementioned script acquisition link, the steps include: jumping to a script library that includes at least one of the personal script library and the public script library; The steps include obtaining a script selected by the user from the script library, The method according to claim 1, further comprising the step of obtaining a target script based on a script selected by the user.
5. The method according to claim 4, wherein the step of obtaining a target script based on the script selected by the user includes, if the user makes edits to the script selected by the user, the step of making the edited script the target script.
6. The number of the third editing objects is multiple, and the step of performing editing on the third editing objects by executing the target script is: The steps of sorting the target scripts corresponding to the multiple third editing objects in ascending chronological order based on the start time specified in the target script corresponding to each of the multiple third editing objects, Regarding the third editing object, which is ranked first, when the current time reaches the start time corresponding to this third editing object, the editing process for this third editing object is implemented by executing the target script corresponding to this third editing object. The method according to claim 1, further comprising the step of, with respect to a third editing object that is not ranked first, executing the target script corresponding to the third editing object when the target script corresponding to the previous third editing object has already been executed and the current time reaches the start time corresponding to the third editing object, thereby realizing editing processing for the third editing object.
7. The aforementioned method, The method according to claim 6, further comprising rearranging the target scripts corresponding to a plurality of third editing objects in ascending chronological order if there is a target script corresponding to the third editing object that indicates that the start time corresponding to the third editing object has been modified.
8. The aforementioned method, Constructing a tree diagram based on the hierarchical relationships between multiple third editing objects, The initialization order of the scripts of the multiple third editing objects is determined according to the tree diagram and a pre-configured traverse algorithm, The method according to claim 6, further comprising performing initialization operations on target scripts of a plurality of third editing objects based on the initialization order of the scripts.
9. The aforementioned video editing interface further presents a preview player, and the method is The method according to claim 1, further comprising presenting the preview player with editing effects corresponding to the target script.
10. The aforementioned method, The method according to claim 1, further comprising modifying a target script for generating the fourth editing object based on an editing process corresponding to the first editing tool when it is monitored that a user has performed an editing process on the fourth editing object using the first editing tool.
11. The aforementioned method, The method according to claim 1, further comprising providing instructions for using the editing tool at a predetermined location on the video editing interface, wherein the instructions include a script language description and a script function description corresponding to the editing object.
12. A video editing interface includes a presentation module for presenting editing objects and editing tools for triggering editing operations on those editing objects. A first editing module for obtaining a second editing object by executing a pre-configured script corresponding to the first editing tool in response to the first editing tool being triggered on the first editing object among the editing objects, thereby realizing editing processing on the first editing object and obtaining a second editing object, A second editing module for obtaining a fourth editing object, which, in response to triggering the second editing tool among the editing tools on the third editing object, presents the script editing interface of the third editing object, obtains the target script entered into the script editing interface, and executes the target script to perform editing on the third editing object, A video editing apparatus including a video generation module for generating a target video based on at least one of the second editing object and the fourth editing object.
13. Processor and Includes memory for storing executable instructions of the processor, The processor is an electronic device used to read the executable instruction from the memory and execute the executable instruction to realize the video editing method described in any one of claims 1 to 11.
14. A computer-readable storage medium storing a computer program used to perform the video editing method described in any one of claims 1 to 11.
15. A computer program that, when executed by a processor, includes program code that implements the video editing method described in any one of claims 1 to 11.
Citation Information
Patent Citations
Visual and user-defined panoramic editing method and system, storage medium and equipment
CN110633436A