Video editing method, apparatus, device and storage medium

By determining the execution order based on the category information of the editing task in video editing, the problem that the order of editing tasks affects the editing effect is solved, and the efficiency of video editing is improved.

WO2025045172A1PCT designated stage expired Publication Date: 2025-03-06BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/115690
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-30
Filing Date
2024-08-30
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

During the video editing process, performing sequentially according to the addition time of each editing task will cause subsequent editing tasks to affect the previous editing effect, causing users to need to re-edit, reducing the efficiency of video editing.

Method used

To avoid the impact between editing tasks by determining the category information of the editing tasks to be added and the editing tasks that have been added, determine the order of execution, and add it to the task list in that order for editing to avoid the impact between editing tasks.

Benefits of technology

It improves the efficiency of video editing, reduces the user's need to re-edit, and ensures the independence and retention of each editing task.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024115690_06032025_PF_FP_ABST
    Figure CN2024115690_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a video editing method, an apparatus, a device and a storage medium. The video editing method comprises: in response to receiving an editing task to be added, determining a video clip corresponding to the editing task to be added and category information corresponding to the editing task to be added; acquiring a task list corresponding to the video clip, the task list comprising at least one added editing task; determining category information corresponding to the added editing task, and, on the basis of the category information corresponding to the editing task to be added and the category information corresponding to the added editing task, determining an execution sequence of the editing task to be added and the added editing task; and, according to the execution sequence, adding the editing task to be added into the task list, and, according to the execution sequence of the editing tasks in the task list, editing the video clip. The embodiments of the present disclosure can avoid the impact of a current task on tasks that have been executed, thus improving video editing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Video editing method, device, equipment and storage medium

[0001] This application claims priority to Chinese patent application No. 202311110415.X filed on August 30, 2023. The contents of the above-mentioned Chinese patent application disclosure are hereby incorporated by reference in their entirety as a part of this application. Technical Field

[0002] Embodiments of the present disclosure relate to a video editing method, apparatus, device, and storage medium. Background Art

[0003] To improve the video display effect, you can edit the video. For example, you can adjust the video playback rate, perform anti-shake processing on the video, etc. to improve the video display effect.

[0004] When editing a video, each editing task is executed sequentially according to the time they were added. For example, if the editing tasks are added in the order of reverse playback, slow motion, and stabilization, the video will be played back first, then slowed down, and finally stabilized.

[0005] However, the inventors of the present disclosure have noticed that there are at least the following technical problems: if each editing task is executed sequentially according to the time at which each editing task was added, then when a later editing task is executed, the editing effect of the previously executed editing task may be affected. At this time, the user needs to re-edit the video, resulting in lower efficiency in video editing.

[0006] Summary of the Invention

[0007] Embodiments of the present disclosure provide a video editing method, apparatus, device, and storage medium.

[0008] In a first aspect, an embodiment of the present disclosure provides a method for editing a video, comprising:

[0009] In response to receiving an editing task to be added, determining a video clip corresponding to the editing task to be added and category information corresponding to the editing task to be added;

[0010] Obtaining a task list corresponding to the video clip, wherein the task list includes at least one added editing task;

[0011] Determining category information corresponding to the added editing task, and determining an execution order of the editing task to be added and the added editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the added editing task;

[0012] The editing tasks to be added are added to the task list according to the execution order, and the video clips are edited according to the execution order of the editing tasks in the task list.

[0013] In a second aspect, an embodiment of the present disclosure provides a video editing device, comprising:

[0014] A first determining module is configured to, in response to receiving an editing task to be added, determine a video clip corresponding to the editing task to be added and category information corresponding to the editing task to be added;

[0015] an acquisition module configured to acquire a task list corresponding to the video clip, wherein the task list includes at least one added editing task;

[0016] a second determining module configured to determine category information corresponding to the added editing task, and determine an execution order of the editing task to be added and the added editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the added editing task;

[0017] The editing module is configured to add the editing tasks to be added to the task list according to the execution order, and edit the video clip according to the execution order of each editing task in the task list.

[0018] In a third aspect, an embodiment of the present disclosure provides an electronic device, including:

[0019] A processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the video editing method as described in the first aspect above.

[0020] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the video editing method described in the first aspect above is implemented.

[0021] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements the video editing method described in the first aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, a brief introduction will be given below to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] FIG1 is a schematic diagram of an application scenario of a video editing method provided by an embodiment of the present disclosure;

[0024] FIG2 is a flow chart of a video editing method provided by an embodiment of the present disclosure;

[0025] FIG3 is an example diagram of a video editing method provided by an embodiment of the present disclosure;

[0026] FIG4 is an example diagram of another video editing method provided by an embodiment of the present disclosure;

[0027] FIG5 is a flowchart of another video editing method provided by an embodiment of the present disclosure;

[0028] FIG6 is an example diagram of another video editing method provided by an embodiment of the present disclosure;

[0029] FIG7 is a structural block diagram of a video editing apparatus provided by an embodiment of the present disclosure; and

[0030] FIG8 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0031] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure more clear, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present disclosure without making any creative efforts shall fall within the scope of protection of the present disclosure.

[0032] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0033] Currently, in order to improve the display effect of a video, the video can be edited, for example, by adjusting the video playback rate, performing anti-shake processing on the video, etc., to improve the display effect of the video.

[0034] For example, when editing a video, each editing task is executed sequentially according to the time at which they were added. For example, the editing tasks are added in the following order: reverse playback, slow motion, and anti-shake. In this case, the video is first played back in reverse, then slowed down, and finally anti-shake is applied. However, if each editing task is executed sequentially according to the time at which they were added, executing a subsequent editing task may affect the editing effect of the previously executed editing task, requiring the user to re-edit the video, resulting in lower video editing efficiency.

[0035] For example, multiple editing tasks are sorted by time of addition: stabilization and reverse playback. In this case, the video is first stabilized and then played back in reverse. However, the reverse playback process generates a new video without the stabilization effect. This means that the reverse playback process affects the effect of the stabilization process, requiring the user to re-edit the video, resulting in lower video editing efficiency.

[0036] Therefore, how to avoid the influence of the current editing task on the previously executed editing task in order to improve the efficiency of video editing is a technical problem that needs to be solved urgently.

[0037] In order to solve the above problems, this embodiment provides the following technical concepts: first, in response to receiving an editing task to be added, the video clip corresponding to the editing task to be added and the category information corresponding to the editing task to be added are determined; a task list corresponding to the video clip is obtained, wherein the task list includes at least one editing task that has been added; then, the category information corresponding to the editing task that has been added is determined, and based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added, the execution order of the editing task to be added and the editing task that has been added is determined; finally, according to the execution order, the editing task to be added is added to the task list, and the video clip is edited according to the execution order of each editing task in the task list. Since, when adding an editing task, the execution order of each editing task is first determined according to the category information, and then each editing task is executed according to the execution order, this can avoid the situation where the editing task to be added affects the editing task that has been added, causing the editing task that has been executed to fail, thereby improving the efficiency of video editing.

[0038] The editing method of the embodiment of the present disclosure can be applied to scenarios where various editing processes are performed on videos. The editing process may include multiple editing tasks. Optionally, the editing task may include one or more of slow motion, reverse playback, frame addition, anti-shake, adding special effects, destrobing, and noise removal. It should be noted that the editing task can be run locally on the terminal to edit the video, or it can be run on the server to edit the video. Figure 1 is a schematic diagram of an application scenario of a video editing method provided by the embodiment of the present disclosure. When running on the server, as shown in Figure 1, the terminal 101 sends a processing request for the editing task to the server 102. The processing request carries the original video data; the server 102 receives the processing request from the terminal 101, processes the original video data in the processing request, and obtains new video data. The server 102 returns the new video data to the terminal 101. The terminal 101 receives and displays the new video data. The video editing method provided by the embodiment of the present disclosure is described in detail using a detailed embodiment below.

[0039] Refer to Figure 2, which is a flow chart of a video editing method provided by an embodiment of the present disclosure. The video editing method provided by this embodiment can be applied to a terminal or a server. The present disclosure embodiment uses the method applied to a terminal as an example for explanation. The video editing method includes:

[0040] S201 : In response to receiving an editing task to be added, determining a video segment corresponding to the editing task to be added and category information corresponding to the editing task to be added.

[0041] In the embodiment of the present disclosure, during the video editing process, the video is divided into multiple video segments, the multiple video segments are edited separately, and the edited multiple video segments are combined to obtain an edited video.

[0042] In some embodiments, a trigger operation on the video editing interface can generate an editing task to be added corresponding to the trigger operation. Optionally, a plurality of task controls are displayed in the video editing interface; in response to a trigger operation on any task control, an editing task to be added is received. Exemplarily, the plurality of task controls displayed in the video editing interface include: "Reverse Playback", "Slow Motion", "Keying", "Anti-Shake", "Frame Interpolation", "Destrobing", and "Noise Removal". In response to a trigger operation on the "Destrobing" task control, the editing task to be added is received as: Destrobing.

[0043] In some embodiments, an editing task can be applied to one video clip or multiple video clips. Optionally, the step of determining the video clip corresponding to the editing task to be added is: in response to a selection operation on any video clip, determining that the video clip is the video clip to be edited. When the user performs a selection operation on only one video clip, the editing task is applied to the one video clip; when the user performs a selection operation on multiple video clips, the editing task is applied to multiple video clips.

[0044] In the disclosed embodiment, the category information corresponding to the editing task to be added can be determined based on whether a new video segment is generated after processing the video segment. Optionally, if the editing task generates a new video segment after editing the video segment, the category information corresponding to the editing task is determined to be "Generate New Video"; if the editing task does not generate a new video segment after editing the video segment, the category information corresponding to the editing task is determined to be "Original Video Adjustment".

[0045] For example, the editing tasks: reverse playback, slow motion, de-strobing, noise removal, and frame interpolation will generate new video clips, which belong to the category of generating new videos; the editing tasks: keying and anti-shake do not generate new video clips, which belong to the category of adjusting original videos.

[0046] S202: Obtain a task list corresponding to the video clip, where the task list includes at least one added editing task.

[0047] In some embodiments, the terminal stores an association between the segment identifiers of the video segments and the task lists, where each segment identifier of the video segment corresponds to one task list. Accordingly, this step may include: obtaining the task list corresponding to the video segment from the stored association between the segment identifier and the task list based on the segment identifier of the video segment.

[0048] Exemplarily, the segment identifier of the video segment is segment A; the task list corresponding to segment A is obtained from the association relationship between the stored segment identifier and the task list.

[0049] S203: Determine the category information corresponding to the added editing task, and determine the execution order of the editing task to be added and the added editing task according to the category information corresponding to the editing task to be added and the category information corresponding to the added editing task.

[0050] In the disclosed embodiment, the execution order of the to-be-added editing tasks and the already-added editing tasks can be determined by the execution priority of each editing task. Accordingly, this step is as follows: based on the category information corresponding to the to-be-added editing task and the category information corresponding to the already-added editing task, the execution priority of each editing task is determined; and based on the execution priority of each editing task, the execution order of the to-be-added editing task and the already-added editing tasks is determined.

[0051] In some embodiments, the category information includes a new video generation category and an original video adjustment category, and the execution priority of the new video generation category is higher than the original video adjustment category. Accordingly, the execution priority of each editing task is determined based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added, including: if the category information is a new video generation category, then the execution priority of the editing task is determined to be a first-level priority; if the category information is an original video adjustment category, then the execution priority of the editing task is determined to be a second-level priority; the new video generation category is used to indicate that a new video segment is generated after editing the video segment through the editing task, and the original video adjustment category is used to indicate that no new video segment is generated after editing the video segment through the editing task; wherein, the first-level priority is higher than the second-level priority.

[0052] Exemplarily, the received editing task is: destrobing, and the first category information corresponding to the editing task is: generating a new video category, then the execution priority of the editing task "destrobing" is determined to be a first-level priority. Among them, the added editing tasks in the task list include: matte, reverse playback, and anti-shake. The second category information corresponding to the added editing task (matte) is: original video adjustment category, then the execution priority of the added editing task (reverse playback) is determined to be a second-level priority. The second category information corresponding to the added editing task (reverse playback) is: generating a new video category, then the execution priority of the added editing task (reverse playback) is determined to be a first-level priority. The second category information corresponding to the added editing task (anti-shake) is: original video adjustment category, then the execution priority of the added editing task (anti-shake) is determined to be a second-level priority.

[0053] Among them, for multiple editing tasks of the same level, they can be sorted according to the time when the editing tasks were added. Accordingly, according to the execution priority of each editing task, the execution order of the editing tasks to be added and the editing tasks that have been added is determined, including: placing the execution order of the editing tasks with the execution priority of the first-level priority before the editing tasks with the execution priority of the second-level priority; if there are multiple editing tasks with the first-level priority, then obtain the adding time of each editing task with the first-level priority, and determine the execution order of multiple editing tasks with the first-level priority according to the order of the adding time of the editing tasks; and / or, if there are multiple editing tasks with the second-level priority, then obtain the adding time of each editing task with the second-level priority, and determine the execution order of multiple editing tasks with the second-level priority according to the order of the adding time of the editing tasks.

[0054] For example, as shown in FIG3 , the received editing task is: destrobing (first-level priority), and the added editing tasks in the task list include: keying (second-level priority), reverse playback (first-level priority), and anti-shake (second-level priority). Accordingly, referring to FIG3 , the execution order of multiple editing tasks with a first-level priority is placed before multiple editing tasks with a second-level priority as follows: reverse playback (first-level priority), destrobing (first-level priority); keying (second-level priority), and anti-shake (second-level priority). Sorted in order of addition time, the resulting execution order is: reverse playback → destrobing → keying → anti-shake.

[0055] It should be noted that the method for determining the category information corresponding to the added editing task in step S203 is the same as the method for determining the category information corresponding to the editing task to be added in step S201, and will not be described in detail here.

[0056] S204: Add the editing tasks to be added to the task list according to the execution order, and edit the video clips according to the execution order of each editing task in the task list.

[0057] For example, as shown in Figure 3, the editing task to be added is "destrobing," and the editing tasks already added to the task list include "keying," "reverse playback," and "stabilization." The execution order is: reverse playback → destrobing → keying → stabilization. Accordingly, according to the execution order, the editing task "destrobing" to be added is added to the task list between the editing tasks "reverse playback" and "keying." The video clip is edited sequentially according to each editing task in the task list (reverse playback, destrobing, keying, and stabilization).

[0058] The video editing method provided in this embodiment includes the following steps: in response to receiving an editing task to be added, determining the video clip corresponding to the editing task to be added and the category information corresponding to the editing task to be added; obtaining a task list corresponding to the video clip, wherein the task list includes at least one editing task that has been added; determining the category information corresponding to the editing task that has been added, and determining the execution order of the editing task to be added and the editing task that has been added based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added; adding the editing task to be added to the task list according to the execution order, and editing the video clip according to the execution order of each editing task in the task list. Since, when adding an editing task, the execution order of each editing task is first determined, and then, according to the execution order, the editing task to be added is added to the task list, and each editing task is executed according to the execution order, this can avoid the situation where the editing task to be added affects the editing task that has been added, causing the editing task that has been executed to fail, thereby improving the efficiency of video editing.

[0059] Based on the embodiment of FIG. 2 , the following further describes the execution order of determining the editing tasks to be added and the editing tasks that have been added in step S203 .

[0060] In one embodiment of the present disclosure, if the received editing task affects a historical editing task that has been executed for the video clip, the historical editing task is automatically added to the task list. Accordingly, after the editing task to be added is added to the task list in the order of execution, it also includes: obtaining the historical editing tasks that have been executed for the video clip, and determining whether there is a coupling relationship between the editing task to be added and the historical editing task, wherein the coupling relationship is used to indicate that the editing task to be added will change the editing effect of the historical editing task; if there is a coupling relationship between the editing task to be added and the historical editing task, the historical editing task is re-added to the task list. It should be noted that the historical editing tasks that have been executed include: editing tasks that have been processed and editing tasks that are being processed.

[0061] For example, the video clip has a previously executed editing task called "Keying" and the received editing task to be added is "Reverse Playback." The editing task to be added (Reverse Playback) will change the editing effect of the previous editing task (Keying), meaning there is a coupling relationship between the editing task to be added (Reverse Playback) and the previous editing task (Keying). In this case, the previous editing task (Keying) is re-added to the task list.

[0062] Here, since the editing task to be added when received affects a historical editing task that has been executed in the video clip, the historical editing task is added to the task list, which realizes the automatic recovery of the historical editing task and eliminates the manual recovery step, thereby further improving the editing efficiency of the video.

[0063] In one embodiment of the present disclosure, if the number of video clips corresponding to the editing task to be added is multiple, the editing task to be added is prioritized. Accordingly, before obtaining the task list corresponding to the video clips, the method further includes: if the number of video clips corresponding to the editing task to be added is multiple, the editing task to be added is placed as the first editing task in the task list or as a separate editing task; wherein the execution priority of the separate editing task is higher than the execution priority of the editing tasks in the task list.

[0064] Exemplarily, the editing task to be added is lyrics recognition, which is a global task, that is, lyrics recognition needs to be performed on multiple video clips. In this case, the editing task (lyrics recognition) can be performed separately or as the first editing task in the task list.

[0065] Here, when the number of video clips corresponding to the editing task to be added is multiple, the editing task is processed first, which reduces the waiting time of the global task and further improves the editing efficiency of the video.

[0066] In one embodiment of the present disclosure, the task list may further include a subtask list, which has a higher priority. When adding an editing task to the task list, the editing task may be added according to the execution order corresponding to the subtask list. Accordingly, adding the editing task to be added to the task list according to the execution order includes: querying whether there is a target editing task in at least one of the added editing tasks included in the task list that has a binding relationship with the execution order of the editing task to be added; if the target editing task exists, then adding the editing task to be added to a position adjacent to the target editing task according to the execution order indicated in the binding relationship.

[0067] Optionally, if there is a target editing task that is bound to the execution order of the editing task to be added, the editing task to be added and the target editing task can be combined into a subtask list, and the execution order of multiple editing tasks in the subtask list is fixed, which can improve the editing effect of the video. For example, after performing strobe removal on a video, performing noise removal can improve the editing effect of the video. In this case, strobe removal and noise removal can be bound together, and the binding relationship can be stored to obtain a subtask list.

[0068] For example, as shown in Figure 4, the task list includes: flicker removal, reverse playback, and keying. If the received editing task is noise removal, and it is determined that the execution order of noise removal and flicker removal is bounded, the corresponding subtask list is: flicker removal → noise removal. Then, according to the execution order indicated by the binding relationship, the editing task is added to the adjacent position of the target editing task. The resulting task list corresponds to the execution order of: flicker removal → noise removal → reverse playback → keying.

[0069] Here, when adding an editing task to the task list, the editing task can be added according to the execution order corresponding to the subtask list, and there is a binding relationship between the execution orders of multiple editing tasks in the subtask list. This binding relationship can improve the editing effect of the video, thereby further improving the editing efficiency of the video.

[0070] FIG5 is a flow chart of another video editing method provided by an embodiment of the present disclosure. This embodiment, based on the embodiment of FIG2 above, further illustrates editing a video clip in step S204 according to the execution order of the editing tasks in the task list. When there is only one task list, the task list is executed directly in the execution order corresponding to that task list. When there are multiple task lists, the editing tasks can be selected from the multiple task lists in sequence through topological sorting.

[0071] In one embodiment of the present disclosure, there are multiple task lists, each of which corresponds to one video clip. Accordingly, editing the video clip according to each editing task in the task list includes:

[0072] S501. Determine a first concurrency corresponding to the terminal and a second concurrency corresponding to the server, wherein the first concurrency is used to indicate the number of editing tasks that can be executed simultaneously by the terminal, and the second concurrency is used to indicate the number of editing tasks that can be executed simultaneously by the server.

[0073] Editing tasks can be executed on either the terminal or the server. In some embodiments, the execution entities of editing tasks can be divided according to task identifiers. For example, the execution entities of the tasks with the identifiers "reverse playback", "slow motion", "keying", "anti-shake", "frame interpolation", "strobe removal", "noise reduction", and "freeze frame" are the terminal. The execution entities of "lyrics recognition" and "server-side gameplay" are the server.

[0074] Accordingly, the steps of determining the first concurrency corresponding to the terminal and the second concurrency corresponding to the server are as follows: obtaining the performance information, CPU usage, and memory usage of the terminal, and determining the first concurrency corresponding to the terminal based on the performance information, CPU usage, and memory usage of the terminal; and obtaining the number of pending editing tasks on the server and the rate at which the server processes editing tasks, and determining the second concurrency corresponding to the server based on the number of pending editing tasks on the server and the rate at which the server processes editing tasks. Optionally, the first concurrency can be expressed as C l Indicates that the second concurrency can be expressed as C s express.

[0075] In an embodiment of the present disclosure, the performance information of the terminal may include any parameter that characterizes the terminal's operating capabilities. Optionally, the performance information of the terminal includes one or more of the terminal's CPU main frequency parameters and memory capacity. There is a correlation between the first concurrency, performance information, CPU usage, and memory usage, and the current first concurrency can be determined through the correlation. For example, the performance information of the terminal is: 2.4GHZ, 8GB; CPU usage is 50%, memory usage is 50%, and the first concurrency C associated with the terminal performance information 2.4GHZ, 8GB, CPU usage 50%, and memory usage 50% l For: 1.

[0076] There is a correlation between the second concurrency, the number of pending editing tasks, and the rate at which the server processes editing tasks. The current second concurrency can be determined based on this correlation. For example, if the number of pending editing tasks is 100 and the rate at which the server processes editing tasks is 100 / second, the second concurrency C associated with 100 and 100 / second is s Is: 5.

[0077] S502: Select at least one first target editing task to be executed by the terminal from multiple task lists according to the first concurrency; and select at least one second target editing task to be executed by the server from multiple task lists according to the second concurrency.

[0078] Optionally, according to the first concurrency, the step of selecting at least one first target editing task to be executed by the terminal from multiple task lists is: selecting at least one target task list that has not executed the editing task from multiple task lists; if the number of the first concurrency is less than or equal to the number of at least one target task list, then selecting the same number of first target editing tasks as the first concurrency from at least one target task list in the order of the addition time of at least one target task list; if the number of the first concurrency is greater than the number of at least one target task list, then selecting one first target editing task from each target task list.

[0079] For example, as shown in Figure 6, at least one target task list for which no editing tasks have been performed is selected from multiple task lists, including two: a task list corresponding to video clip 1 and a task list corresponding to video clip 2. The task list corresponding to video clip 1 is: Destrobe → Freeze Frame → Server Gameplay → Keying; the task list corresponding to video clip 2 is: Freeze Frame → Server Gameplay → Keying. The task list corresponding to video clip 1 is added before the task list corresponding to video clip 2.

[0080] For example, as shown in FIG6 , the first concurrency C corresponding to the terminal l 1. The first concurrency is less than the number of target task lists. In this case, according to the order of adding at least one target task list, the task list corresponding to video clip 1 is selected with the first concurrency (C l The first target editing task that is the same as 1) is “destrobing” in the task list corresponding to video clip 1.

[0081] For example, as shown in FIG6 , after the execution of “destrobing” of video clip 1 is completed, the target task list of the terminal editing task that has not been executed is selected again with the first concurrency (C l The first target editing task is the same as 1). At this time, the first target editing task is "freeze" in the task list corresponding to video clip 1.

[0082] For example, as shown in FIG6 , after the “freeze” execution of the video clip 1 is completed, the target task list of the terminal editing task that has not been executed is selected again with the first concurrency (C l The first target editing task is the same as 1). At this time, the first target editing task is "freeze" in the task list corresponding to video clip 2.

[0083] For example, as shown in FIG6 , after the “freeze” execution of the video clip 2 is completed, the target task list of the terminal editing task that has not been executed is selected again with the first concurrency (C l The first target editing task is the same as 1). At this time, the first target editing task is: "cutout" in the task list corresponding to video clip 1.

[0084] For example, as shown in FIG6, after the execution of the "cutout" of the video clip 1 is completed, the target task list of the terminal editing task that has not been executed is selected again with the first concurrency (C l The first target editing task is the same as 1). At this time, the first target editing task is: "cutout" in the task list corresponding to video clip 2.

[0085] Optionally, according to the second concurrency, the step of selecting at least one second target editing task to be executed by the server from multiple task lists is: selecting at least one target task list on which no editing task has been executed from multiple task lists; if the number of the second concurrency is less than or equal to the number of at least one target task list, then selecting the same number of second target editing tasks as the second concurrency from at least one target task list in the order of the addition time of at least one target task list; if the number of the second concurrency is greater than the number of at least one target task list, then selecting a second target editing task to be executed by the server from each target task list.

[0086] For example, as shown in FIG6 , the second concurrency C corresponding to the server s The first concurrency is 5. The first concurrency is greater than the number of target task lists. In this case, a second target editing task executed by the server is selected from each target task list: "Server Gameplay" in the task list corresponding to video clip 1, and "Server Gameplay" in the task list corresponding to video clip 2.

[0087] S503: Edit the corresponding video clip according to each first target editing task, and edit the corresponding video clip according to each second target editing task.

[0088] Here, when editing multiple video clips according to the task list, the editing tasks of multiple video clips can be processed in parallel according to the concurrency, which shortens the execution time of multiple editing tasks and further improves the editing efficiency of the video.

[0089] In one embodiment of the present disclosure, the video editing interface also displays the number of editing tasks and the progress of each task. For example, the number of editing tasks may include: 2 tasks in progress; and the progress of each editing task may include: noise reduction 12%, de-strobing 0%. Displaying the progress information for each editing task can alleviate the user's anxiety about waiting, thereby improving the user experience.

[0090] In one embodiment of the present disclosure, the progress information corresponding to each editing task can be displayed in the form of a floating box. Accordingly, a control button corresponding to the floating box is also displayed in the video editing interface, and the floating box is displayed or hidden in response to a trigger operation on the control button. Optionally, the control button can be located to the side of the number information of the editing task. This application does not specifically limit the style of the control button.

[0091] In one embodiment of the present disclosure, a close button corresponding to each editing task is also displayed in the video editing interface. In response to the triggering operation of the close button, the editing task corresponding to the close button is canceled. Here, the close button can cancel the corresponding editing task, which increases the flexibility of the video editing method and further improves the user experience.

[0092] FIG7 is a structural block diagram of a video editing apparatus provided by an embodiment of the present disclosure. Referring to FIG7 , the video editing apparatus includes: a first determination module 701 , an acquisition module 702 , a second determination module 703 , and an editing module 704 .

[0093] The first determining module 701 is configured to, in response to receiving an editing task to be added, determine the video clip corresponding to the editing task to be added and the category information corresponding to the editing task to be added;

[0094] An acquisition module 702 is configured to acquire a task list corresponding to the video clip, wherein the task list includes at least one added editing task;

[0095] The second determining module 703 is configured to determine the category information corresponding to the added editing task, and determine the execution order of the editing task to be added and the added editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the added editing task;

[0096] The editing module 704 is configured to add the editing tasks to be added to the task list according to the execution order, and edit the video clip according to the execution order of each editing task in the task list.

[0097] According to one or more embodiments of the present disclosure, the second determination module 703 determines the execution order of the editing tasks to be added and the editing tasks that have been added based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added, specifically including: determining the execution priority of each editing task based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added; determining the execution order of the editing tasks to be added and the editing tasks that have been added based on the execution priority of each editing task.

[0098] According to one or more embodiments of the present disclosure, the second determination module 703 determines the execution priority of each editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added, specifically including: if the category information is the generate new video class, then the execution priority of the editing task is determined to be the first-level priority; if the category information is the original video adjustment class, then the execution priority of the editing task is determined to be the second-level priority; the generate new video class is used to indicate that a new video clip is generated after editing the video clip through the editing task, and the original video adjustment class is used to indicate that no new video clip is generated after editing the video clip through the editing task; wherein, the first-level priority is higher than the second-level priority.

[0099] According to one or more embodiments of the present disclosure, the second determination module 703 determines the execution order of the editing tasks to be added and the editing tasks that have been added according to the execution priority of each editing task, specifically including: placing the execution order of the editing tasks with a first-level execution priority before the editing tasks with a second-level execution priority; if there are multiple first-level editing tasks, then obtaining the adding time of each first-level editing task, and determining the execution order of multiple first-level editing tasks according to the order of the adding time of the editing tasks; and / or, if there are multiple second-level editing tasks, then obtaining the adding time of each second-level editing task, and determining the execution order of multiple second-level editing tasks according to the order of the adding time of the editing tasks.

[0100] According to one or more embodiments of the present disclosure, the device also includes: an adding module; the adding module is configured to obtain historical editing tasks that have been executed for the video clip, and determine whether there is a coupling relationship between the editing task to be added and the historical editing task, wherein the coupling relationship is used to indicate that the editing task to be added will change the editing effect of the historical editing task; if there is a coupling relationship between the editing task to be added and the historical editing task, the historical editing task is re-added to the task list.

[0101] According to one or more embodiments of the present disclosure, the second determination module 703 is further configured to, if the number of video clips corresponding to the editing task to be added is multiple, treat the editing task to be added as the first editing task in the task list or treat the editing task to be added as a separate editing task; wherein the execution priority of the separate editing task is greater than the execution priority of the editing tasks in the task list.

[0102] According to one or more embodiments of the present disclosure, the editing module 704 adds the editing task to be added to the task list in the order of execution, specifically including: querying whether there is a target editing task in at least one added editing task included in the task list that has a binding relationship with the execution order of the editing task to be added; if there is a target editing task, adding the editing task to be added to the adjacent position of the target editing task in the order of execution indicated in the binding relationship.

[0103] According to one or more embodiments of the present disclosure, there are multiple task lists, and one task list corresponds to one video clip; accordingly, the editing module 704 edits the video clip according to the execution order of each editing task in the task list, specifically including: determining a first concurrency corresponding to the terminal and a second concurrency corresponding to the server, wherein the first concurrency is used to indicate the number of editing tasks that the terminal can execute simultaneously, and the second concurrency is used to indicate the number of editing tasks that the server can execute simultaneously; according to the first concurrency, selecting at least one first target editing task executed by the terminal from multiple task lists; and, according to the second concurrency, selecting at least one second target editing task executed by the server from multiple task lists; editing the corresponding video clip according to each first target editing task, and, editing the corresponding video clip according to each second target editing task.

[0104] According to one or more embodiments of the present disclosure, the editing module 704 determines the first concurrency corresponding to the terminal and the second concurrency corresponding to the server, specifically including: obtaining the performance information, CPU usage and memory usage of the terminal, and determining the first concurrency corresponding to the terminal based on the performance information, CPU usage and memory usage of the terminal; and obtaining the number of pending editing tasks on the server and the rate at which the server processes editing tasks, and determining the second concurrency corresponding to the server based on the number of pending editing tasks on the server and the rate at which the server processes editing tasks.

[0105] According to one or more embodiments of the present disclosure, the editing module 704 selects at least one first target editing task to be executed by the terminal from multiple task lists based on the first concurrency, specifically including: selecting at least one target task list that has not executed the editing task from the multiple task lists; if the number of the first concurrency is less than or equal to the number of at least one target task list, selecting the same number of first target editing tasks as the first concurrency from at least one target task list in the order of the addition time of at least one target task list; if the number of the first concurrency is greater than the number of at least one target task list, selecting one first target editing task from each target task list.

[0106] According to one or more embodiments of the present disclosure, the editing module 704 selects at least one second target editing task to be executed by the server from multiple task lists based on the second concurrency, specifically including: selecting at least one target task list that has not executed the editing task from multiple task lists; if the number of the second concurrency is less than or equal to the number of at least one target task list, selecting the same number of second target editing tasks as the second concurrency from at least one target task list in the order of the addition time of at least one target task list; if the number of the second concurrency is greater than the number of at least one target task list, selecting a second target editing task to be executed by the server from each target task list.

[0107] The first determination module 701, the acquisition module 702, the second determination module 703 and the editing module 704 are connected in sequence. The video editing device provided in this embodiment can implement the technical solution of the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated in this embodiment.

[0108] Referring to FIG8 , a schematic diagram of the structure of an electronic device 800 suitable for implementing an embodiment of the present disclosure is shown. The electronic device 800 may be a terminal device or a server. The terminal device may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (Portable Android Devices, PADs), portable multimedia players (PMPs), vehicle-mounted terminals (e.g., vehicle-mounted navigation terminals), and fixed terminals such as digital TVs and desktop computers. The electronic device shown in FIG8 is merely an example and should not limit the functionality and scope of use of the embodiments of the present disclosure.

[0109] As shown in Figure 8, the electronic device 800 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the electronic device 800 are also stored in the RAM 803. The processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0110] Typically, the following devices may be connected to the I / O interface 805: an input device 806 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809. The communication device 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange data. Although FIG8 shows an electronic device 800 having various devices, it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.

[0111] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 809, or installed from the storage device 808, or installed from the ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.

[0112] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0113] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0114] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the method shown in the above embodiment.

[0115] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider).

[0116] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0117] The units involved in the embodiments described in this disclosure may be implemented in software or hardware. In some cases, the name of a unit does not limit the unit itself. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses."

[0118] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0119] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0120] In a first aspect, according to one or more embodiments of the present disclosure, a method for editing a video is provided, comprising:

[0121] In response to receiving the editing task to be added, determining the video clip corresponding to the editing task to be added and the category information corresponding to the editing task to be added;

[0122] Obtaining a task list corresponding to the video clip, wherein the task list includes at least one added editing task;

[0123] Determining the category information corresponding to the added editing task, and determining the execution order of the editing task to be added and the added editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the added editing task;

[0124] Add the editing tasks to be added to the task list in the execution order, and edit the video clips in the execution order of each editing task in the task list.

[0125] According to one or more embodiments of the present disclosure, the execution order of the editing tasks to be added and the editing tasks that have been added is determined based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added, including: determining the execution priority of each editing task based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added; determining the execution order of the editing tasks to be added and the editing tasks that have been added based on the execution priority of each editing task.

[0126] According to one or more embodiments of the present disclosure, the execution priority of each editing task is determined based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added, including: if the category information is the generate new video class, then the execution priority of the editing task is determined to be the first-level priority; if the category information is the original video adjustment class, then the execution priority of the editing task is determined to be the second-level priority, the generate new video class is used to indicate that a new video clip is generated after editing the video clip through the editing task, and the original video adjustment class is used to indicate that no new video clip is generated after editing the video clip through the editing task; wherein, the first-level priority is higher than the second-level priority.

[0127] According to one or more embodiments of the present disclosure, the execution order of the editing tasks to be added and the editing tasks that have been added is determined according to the execution priority of each editing task, including: placing the execution order of the editing tasks with a first-level priority before the editing tasks with a second-level priority; if there are multiple editing tasks with a first-level priority, obtaining the adding time of each first-level priority editing task, and determining the execution order of multiple first-level priority editing tasks in order of the adding time of the editing tasks; and / or, if there are multiple editing tasks with a second-level priority, obtaining the adding time of each second-level priority editing task, and determining the execution order of multiple second-level priority editing tasks in order of the adding time of the editing tasks.

[0128] According to one or more embodiments of the present disclosure, after the editing task to be added is added to the task list in the order of execution, it also includes: obtaining the historical editing tasks that have been executed in the video clip, and determining whether there is a coupling relationship between the editing task to be added and the historical editing tasks, wherein the coupling relationship is used to indicate that the editing task to be added will change the editing effect of the historical editing task; if there is a coupling relationship between the editing task to be added and the historical editing task, the historical editing task is re-added to the task list.

[0129] According to one or more embodiments of the present disclosure, before obtaining the task list corresponding to the video clip, it also includes: if there are multiple video clips corresponding to the editing task to be added, the editing task to be added is used as the first editing task in the task list or the editing task to be added is used as a separate editing task; wherein the execution priority of the separate editing task is greater than the execution priority of the editing task in the task list.

[0130] According to one or more embodiments of the present disclosure, the editing task to be added is added to the task list in the order of execution, including: querying whether there is a target editing task in at least one added editing task included in the task list that has a binding relationship with the execution order of the editing task to be added; if there is a target editing task, the editing task to be added is added to the adjacent position of the target editing task in the order of execution indicated in the binding relationship.

[0131] According to one or more embodiments of the present disclosure, the number of task lists includes multiple, and one task list corresponds to one video clip; accordingly, the video clip is edited according to the execution order of each editing task in the task list, including: determining a first concurrency corresponding to the terminal and a second concurrency corresponding to the server, wherein the first concurrency is used to indicate the number of editing tasks that the terminal can execute simultaneously, and the second concurrency is used to indicate the number of editing tasks that the server can execute simultaneously; according to the first concurrency, at least one first target editing task executed by the terminal is selected from multiple task lists; and, according to the second concurrency, at least one second target editing task executed by the server is selected from multiple task lists; editing the corresponding video clip according to each first target editing task, and, editing the corresponding video clip according to each second target editing task.

[0132] According to one or more embodiments of the present disclosure, determining the first concurrency corresponding to the terminal and the second concurrency corresponding to the server includes: obtaining performance information, CPU usage, and memory usage of the terminal, and determining the first concurrency corresponding to the terminal based on the performance information, CPU usage, and memory usage of the terminal; and obtaining the number of pending editing tasks on the server and the rate at which the server processes editing tasks, and determining the second concurrency corresponding to the server based on the number of pending editing tasks on the server and the rate at which the server processes editing tasks.

[0133] According to one or more embodiments of the present disclosure, at least one first target editing task to be executed by the terminal is selected from multiple task lists according to the first concurrency, including: selecting at least one target task list in which no editing task is executed from multiple task lists; if the number of the first concurrency is less than or equal to the number of at least one target task list, selecting the same number of first target editing tasks as the first concurrency from at least one target task list in the order of addition time of at least one target task list; if the number of the first concurrency is greater than the number of at least one target task list, selecting one first target editing task from each target task list.

[0134] According to one or more embodiments of the present disclosure, at least one second target editing task executed by the server is selected from multiple task lists according to the second concurrency, including: selecting at least one target task list that has not executed the editing task from the multiple task lists; if the number of the second concurrency is less than or equal to the number of at least one target task list, then selecting the same number of second target editing tasks as the second concurrency from at least one target task list in the order of addition time of at least one target task list; if the number of the second concurrency is greater than the number of at least one target task list, then selecting a second target editing task executed by the server from each target task list.

[0135] In a second aspect, according to one or more embodiments of the present disclosure, a video editing apparatus is provided, comprising:

[0136] A first determining module is configured to, in response to receiving an editing task to be added, determine a video clip corresponding to the editing task to be added and category information corresponding to the editing task to be added;

[0137] An acquisition module, configured to acquire a task list corresponding to a video clip, wherein the task list includes at least one added editing task;

[0138] a second determining module, configured to determine category information corresponding to the added editing task, and determine an execution order of the editing task to be added and the added editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the added editing task;

[0139] The editing module is used to add the editing tasks to be added to the task list according to the execution order, and edit the video clips according to the execution order of each editing task in the task list.

[0140] According to one or more embodiments of the present disclosure, the second determination module determines the execution order of the editing tasks to be added and the editing tasks that have been added based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added, specifically including: determining the execution priority of each editing task based on the category information corresponding to the editing tasks to be added and the category information corresponding to the editing tasks that have been added; determining the execution order of the editing tasks to be added and the editing tasks that have been added based on the execution priority of each editing task.

[0141] According to one or more embodiments of the present disclosure, the second determination module determines the execution priority of each editing task based on the category information corresponding to the editing task to be added and the category information corresponding to the editing task that has been added, specifically including: if the category information is the generate new video class, then the execution priority of the editing task is determined to be the first-level priority; if the category information is the original video adjustment class, then the execution priority of the editing task is determined to be the second-level priority; the generate new video class is used to indicate that a new video clip is generated after editing the video clip through the editing task, and the original video adjustment class is used to indicate that no new video clip is generated after editing the video clip through the editing task; wherein, the first-level priority is higher than the second-level priority.

[0142] According to one or more embodiments of the present disclosure, the second determination module determines the execution order of the editing tasks to be added and the editing tasks that have been added according to the execution priority of each editing task, specifically including: placing the execution order of the editing tasks with a first-level priority before the editing tasks with a second-level priority; if there are multiple editing tasks with a first-level priority, obtaining the adding time of each first-level priority editing task, and determining the execution order of multiple first-level priority editing tasks according to the order of the adding time of the editing tasks; and / or, if there are multiple editing tasks with a second-level priority, obtaining the adding time of each second-level priority editing task, and determining the execution order of multiple second-level priority editing tasks according to the order of the adding time of the editing tasks.

[0143] According to one or more embodiments of the present disclosure, the device also includes: an adding module; an adding module, used to obtain historical editing tasks that have been executed on the video clip, and determine whether there is a coupling relationship between the editing task to be added and the historical editing task, wherein the coupling relationship is used to indicate that the editing task to be added will change the editing effect of the historical editing task; if there is a coupling relationship between the editing task to be added and the historical editing task, the historical editing task is re-added to the task list.

[0144] According to one or more embodiments of the present disclosure, the second determination module is also used to, if the number of video clips corresponding to the editing task to be added is multiple, treat the editing task to be added as the first editing task in the task list or treat the editing task to be added as a separate editing task; wherein the execution priority of the separate editing task is greater than the execution priority of the editing tasks in the task list.

[0145] According to one or more embodiments of the present disclosure, the editing module adds the editing task to be added to the task list in the order of execution, specifically including: querying whether there is a target editing task in at least one added editing task included in the task list that has a binding relationship with the execution order of the editing task to be added; if there is a target editing task, adding the editing task to be added to the adjacent position of the target editing task in the order of execution indicated in the binding relationship.

[0146] According to one or more embodiments of the present disclosure, there are multiple task lists, and one task list corresponds to one video clip; accordingly, the editing module edits the video clip according to the execution order of each editing task in the task list, specifically including: determining a first concurrency corresponding to the terminal and a second concurrency corresponding to the server, wherein the first concurrency is used to indicate the number of editing tasks that the terminal can execute simultaneously, and the second concurrency is used to indicate the number of editing tasks that the server can execute simultaneously; according to the first concurrency, selecting at least one first target editing task executed by the terminal from multiple task lists; and, according to the second concurrency, selecting at least one second target editing task executed by the server from multiple task lists; editing the corresponding video clip according to each first target editing task, and, editing the corresponding video clip according to each second target editing task.

[0147] According to one or more embodiments of the present disclosure, the editing module determines the first concurrency corresponding to the terminal and the second concurrency corresponding to the server, specifically including: obtaining the performance information, CPU usage and memory usage of the terminal, and determining the first concurrency corresponding to the terminal based on the performance information, CPU usage and memory usage of the terminal; and obtaining the number of pending editing tasks on the server and the rate at which the server processes editing tasks, and determining the second concurrency corresponding to the server based on the number of pending editing tasks on the server and the rate at which the server processes editing tasks.

[0148] According to one or more embodiments of the present disclosure, the editing module selects at least one first target editing task to be executed by the terminal from multiple task lists based on the first concurrency, specifically including: selecting at least one target task list that has not executed the editing task from the multiple task lists; if the number of the first concurrency is less than or equal to the number of at least one target task list, selecting the same number of first target editing tasks as the first concurrency from at least one target task list in the order of adding time of at least one target task list; if the number of the first concurrency is greater than the number of at least one target task list, selecting one first target editing task from each target task list.

[0149] According to one or more embodiments of the present disclosure, the editing module selects at least one second target editing task to be executed by the server from multiple task lists based on the second concurrency, specifically including: selecting at least one target task list on which no editing task has been executed from multiple task lists; if the number of the second concurrency is less than or equal to the number of at least one target task list, selecting the same number of second target editing tasks as the second concurrency from at least one target task list in the order of addition time of at least one target task list; if the number of the second concurrency is greater than the number of at least one target task list, selecting a second target editing task to be executed by the server from each target task list.

[0150] In a third aspect, according to one or more embodiments of the present disclosure, there is provided an electronic device, comprising: a processor, and a memory communicatively connected to the processor;

[0151] Memory stores computer-executable instructions;

[0152] The processor executes the computer-executable instructions stored in the memory to implement the video editing method of the first aspect and various possible designs of the first aspect.

[0153] In a fourth aspect, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, a video editing method as described in the first aspect and various possible designs of the first aspect is implemented.

[0154] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements the video editing method as described in the first aspect and various possible designs of the first aspect.

[0155] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0156] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0157] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A video editing method, comprising: In response to receiving an editing task to be added, determining a video clip corresponding to the editing task to be added and category information corresponding to the editing task to be added; Obtaining a task list corresponding to the video clip, wherein the task list includes at least one added editing task; Determining the category information corresponding to the added editing task, and determining the execution order of the editing task to be added and the added editing task according to the category information corresponding to the editing task to be added and the category information corresponding to the added editing task; According to the execution order, the editing task to be added is added to the task list, and the video clip is edited according to the execution order of each editing task in the task list.

2. The method according to claim 1, wherein: The determining, according to the category information corresponding to the editing task to be added and the category information corresponding to the editing task already added, the execution order of the editing task to be added and the editing task already added, comprises: Determining the execution priority of each editing task according to the category information corresponding to the editing task to be added and the category information corresponding to the editing task already added; According to the execution priority of each editing task, the execution order of the editing task to be added and the editing task that has been added is determined.

3. The method according to claim 2, wherein: The determining the execution priority of each editing task according to the category information corresponding to the editing task to be added and the category information corresponding to the editing task already added includes: If the category information is a new video generation category, the execution priority of the editing task is determined to be a first-level priority; if the category information is an original video adjustment category, the execution priority of the editing task is determined to be a second-level priority, wherein the new video generation category is used to indicate that a new video segment is generated after the video segment is edited by the editing task, and the original video adjustment category is used to indicate that no new video segment is generated after the video segment is edited by the editing task; Among them, the first-level priority is higher than the second-level priority.

4. The method according to claim 2 or 3, wherein: The determining, according to the execution priority of each editing task, the execution order of the editing task to be added and the editing task already added includes: The execution order of the editing task with the first priority is placed before the editing task with the second priority; If there are multiple first-priority editing tasks, the adding time of each first-priority editing task is obtained, and the execution order of the multiple first-priority editing tasks is determined according to the chronological order of the adding time of the editing tasks; and / or, if there are multiple second-priority editing tasks, the adding time of each second-priority editing task is obtained, and the execution order of the multiple second-priority editing tasks is determined according to the chronological order of the adding time of the editing tasks.

5. The method according to claim 1, wherein: After adding the editing task to be added to the task list in the execution order, the method further includes: Acquire the historical editing tasks that have been executed on the video clip, and determine whether there is a coupling relationship between the editing task to be added and the historical editing task, wherein the coupling relationship is used to indicate that the editing task to be added will change the editing effect of the historical editing task; If there is a coupling relationship between the editing task to be added and the historical editing task, the historical editing task is re-added to the task list.

6. The method according to claim 1, wherein: Before obtaining the task list corresponding to the video clip, the method further includes: If the number of video clips corresponding to the editing task to be added is multiple, the editing task to be added will be used as the first editing task in the task list or the editing task to be added will be used as a separate editing task; wherein the execution priority of the separate editing task is greater than the execution priority of the editing tasks in the task list.

7. The method according to claim 1, wherein: The step of adding the editing task to be added to the task list in the execution order includes: Check whether there is a task that matches the task in at least one of the tasks that has been added and edited. The target editing task to be added has a binding relationship with the execution order of the editing task to be added; If the target editing task exists, the editing task to be added is added to an adjacent position of the target editing task according to the execution order indicated in the binding relationship.

8. The method according to claim 1, wherein: The number of the task lists includes multiple, and one task list corresponds to one video clip; The step of editing the video clips according to the execution order of the editing tasks in the task list includes: Determine a first concurrency corresponding to the terminal and a second concurrency corresponding to the server, wherein the first concurrency is used to indicate the number of editing tasks that can be executed simultaneously by the terminal, and the second concurrency is used to indicate the number of editing tasks that can be executed simultaneously by the server; According to the first concurrency, selecting at least one first target editing task executed by the terminal from a plurality of task lists; and according to the second concurrency, selecting at least one second target editing task executed by the server from the plurality of task lists; According to each first target editing task, the corresponding video segment is edited, and according to each second target editing task, the corresponding video segment is edited.

9. The method according to claim 8, wherein: The determining a first concurrency corresponding to the terminal and a second concurrency corresponding to the server includes: Acquire performance information, CPU usage, and memory usage of the terminal, and determine a first concurrency corresponding to the terminal according to the performance information, CPU usage, and memory usage of the terminal; and, The number of pending editing tasks on the server and the rate at which the server processes editing tasks are obtained, and a second concurrency corresponding to the server is determined according to the number of pending editing tasks on the server and the rate at which the server processes editing tasks.

10. The method according to claim 8, wherein: The selecting, according to the first concurrency, at least one first target editing task to be executed by the terminal from a plurality of task lists includes: Selecting at least one target task list on which no editing task has been performed from the plurality of task lists; If the number of the first concurrency is less than or equal to the number of the at least one target task list, the at least one target task list is added in the order of time. Selecting the first target editing task with the same number as the first concurrency from the table; If the number of the first concurrency is greater than the number of the at least one target task list, a first target editing task is selected from each target task list.

11. The method according to claim 8, wherein: The selecting, according to the second concurrency, at least one second target editing task to be executed by the server from the plurality of task lists includes: Selecting at least one target task list on which no editing task has been performed from the plurality of task lists; If the number of the second concurrency is less than or equal to the number of the at least one target task list, selecting second target editing tasks with the same number as the second concurrency from the at least one target task list according to the order of adding time of the at least one target task list; If the number of the second concurrency is greater than the number of the at least one target task list, a second target editing task executed by the server is selected from each target task list.

12. A video editing device, comprising: A first determining module is configured to, in response to receiving an editing task to be added, determine a video segment corresponding to the editing task to be added and category information corresponding to the editing task to be added; An acquisition module, configured to acquire a task list corresponding to the video clip, wherein the task list includes at least one added editing task; a second determining module configured to determine category information corresponding to the added editing task, and determine an execution order of the editing task to be added and the added editing task according to the category information corresponding to the editing task to be added and the category information corresponding to the added editing task; and The editing module is configured to add the editing tasks to be added to the task list according to the execution order, and edit the video clip according to the execution order of each editing task in the task list.

13. An electronic device comprising: A processor, and a memory communicatively connected to the processor; Wherein, the memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method as claimed in claim 1 A method for editing a video as described in any one of items 1 to 11.

14. A computer-readable storage medium, wherein: The computer-readable storage medium stores computer-executable instructions, and when the processor executes the computer-executable instructions, the video editing method according to any one of claims 1 to 11 is implemented.

15. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the video editing method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Method, system and device for processing to-be-edited object

    CN112379805A

  • Data node collaborative editing method and device, storage medium and equipment

    CN113535434A

  • Video generation method and device, electronic equipment and computer readable medium

    CN114125551A

  • Audio and video data processing method and device, electronic equipment and storage medium

    CN115391572A

  • System and method for editing video contents automatically technical field

    US20190364211A1