WO2026007906A1 - 视频编辑方法、装置及终端设备 - Google Patents
视频编辑方法、装置及终端设备Info
- Publication number
- WO2026007906A1 WO2026007906A1 PCT/CN2025/105721 CN2025105721W WO2026007906A1 WO 2026007906 A1 WO2026007906 A1 WO 2026007906A1 CN 2025105721 W CN2025105721 W CN 2025105721W WO 2026007906 A1 WO2026007906 A1 WO 2026007906A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- video editing
- video
- server
- draft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
Definitions
- This disclosure relates to the field of video processing technology, and in particular to a video editing method, apparatus, and terminal device.
- video editing clients can provide users with intelligent video editing functions. For example, video editing functions that generate digital humans using artificial intelligence technology.
- the tasks corresponding to these video editing functions can be executed on a server. After the server finishes executing the task, the terminal device can download the corresponding result.
- this disclosure provides a video editing method, which includes:
- a video editing task for the video draft is created; the video editing task is a background task.
- the task time received from the server is an estimated time required for the server to complete the video editing task.
- this disclosure provides a video editing apparatus, which includes a response module, a sending module, a receiving module, a determining module, a display module, and an updating module, wherein:
- the response module is used to create a video editing task for the video draft in response to an editing operation on the video draft; the video editing task is a background task.
- the sending module is used to send task information of the video editing task to the server, and the task information is used to instruct the server to execute the video editing task.
- the receiving module is used to receive the task time sent by the server, wherein the task time is an estimate of the time required for the server to complete the video editing task;
- the determining module is used to determine the task progress of the video editing task based on the task duration.
- the display module is used to display the task progress
- the receiving module is also used to receive the task result of the video editing task sent by the server;
- the update module is used to update the video draft based on the task results.
- embodiments of this disclosure provide a terminal device including: a processor and a memory;
- the memory stores computer-executed instructions
- the processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the video editing methods described in the first aspect above and various possible aspects of the first aspect.
- embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the video editing methods described in the first aspect and various possible aspects thereof.
- Figure 1 is a schematic diagram of an application scenario provided by an embodiment of this disclosure.
- Figure 2 is a schematic diagram of another application scenario provided by an embodiment of this disclosure.
- Figure 3 is a flowchart illustrating a video editing method provided in an embodiment of this disclosure
- Figure 4 is a schematic diagram of the time consumption of a receiving task according to an embodiment of this disclosure.
- Figure 5 is a schematic diagram of a process for receiving task results provided in an embodiment of this disclosure.
- Figure 6 is a schematic diagram showing task progress and task status provided in an embodiment of this disclosure.
- Figure 7 is a schematic diagram of a method for performing video editing operations according to an embodiment of the present disclosure.
- Figure 8 is a schematic diagram of a process for performing a video editing operation according to an embodiment of this disclosure.
- Figure 9 is a schematic diagram of a method for sending task information to a server according to an embodiment of this disclosure.
- Figure 10 is a schematic diagram of the structure of a video editing device provided in an embodiment of this disclosure.
- Figure 11 is a schematic diagram of the structure of a terminal device provided in an embodiment of this disclosure.
- a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information.
- This allows the user to independently choose whether to provide personal information to the software or hardware, such as the terminal device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
- sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format.
- the pop-up window can also include a selection control allowing the user to choose "agree” or "disagree” to provide personal information to the terminal device.
- Terminal device A device with wireless transceiver capabilities. Terminal devices can be deployed on land, including indoors or outdoors, handheld, wearable, or vehicle-mounted. These terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, wireless terminals in industrial control, vehicle-mounted terminal devices, wireless terminals in self-driving, remote medical, smart grid, transportation safety, smart city, smart home, wearable terminal devices, etc.
- VR virtual reality
- AR augmented reality
- the terminal equipment involved in the embodiments of this disclosure may also be referred to as a terminal, user equipment (UE), access terminal equipment, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile device, UE terminal equipment, wireless communication equipment, UE agent, or UE device, etc.
- the terminal equipment may also be fixed or mobile.
- AI artificial intelligence
- video editing functions that generate digital humans or perform voice separation using AI.
- these video editing tasks are typically executed on a server. After server execution, the terminal device can download the result. For instance, a terminal device can send an audio clip to a server, which generates a digital human video based on that clip, which the terminal device can then download.
- the terminal device cannot accurately determine the progress and status of the task, resulting in poor display quality.
- a terminal device can respond to editing operations on a video draft by creating a video editing task for the draft and sending task information to a server.
- the terminal device can receive the task duration sent by the server and determine the task progress based on the duration.
- the terminal device can obtain the running status of the video editing application; when running in the foreground, the task progress is displayed in the video draft editor.
- the terminal device can receive the task result sent by the server and update the video draft based on the result.
- the user can obtain the task progress in the video draft editor and continue editing the draft within the editor, improving video editing efficiency, increasing the display flexibility and effect of the video editing task, and enhancing the user experience.
- Figure 1 is a schematic diagram of an application scenario provided by an embodiment of this disclosure.
- the device includes a terminal device.
- the terminal device can display a video draft editor, which may include a preview area and a video editing area.
- the preview area may display the text "Digital human compositing is rendering 70%", allowing the terminal device to obtain the task progress of the digital human compositing task within the video draft editor, improving the display effect and flexibility of the digital human compositing task, and enhancing the user experience.
- FIG. 2 is a schematic diagram of another application scenario provided by an embodiment of this disclosure.
- a terminal device is included.
- the terminal device can display a page for a video editing application.
- This page may include a start-up control (for video editing) and a draft box, where the draft box may include video drafts.
- the preview image of the video draft may display the text "70%" (the task progress of the video editing task), and the bottom of the video draft may display the text "Rendering in progress" (which may represent the task status of the video editing task).
- the terminal device can display the task progress and status of the video editing task in the draft box, improving the display effect and flexibility of the video editing task and enhancing the user experience.
- Figures 1 and 2 are merely examples of application scenarios for the embodiments of this disclosure, and are not intended to limit the application scenarios of the embodiments of this disclosure.
- the terminal device in response to an editing operation on a video draft, creates a video editing task for the video draft.
- This video editing task is a background task.
- the terminal device can send task information of the video editing task to a server, whereby the task information can instruct the server to execute the video editing task.
- the terminal device can receive the task duration sent by the server, whereby the task duration is an estimate of the time required for the server to complete the video editing task.
- the terminal device can determine the task progress of the video editing task based on the task duration and display the task progress.
- the terminal device can also receive the task result of the video editing task sent by the server and update the video draft based on the task result.
- the video editing task is a background task
- the user can continue editing the video draft during the execution of the video editing task, improving the efficiency of video editing.
- the terminal device can estimate the task progress of the video editing task and display the task progress, the display flexibility and display effect of the video editing task can be improved.
- the terminal device can update the draft in a timely manner based on the task result, improving the user experience.
- Figure 3 is a flowchart illustrating a video editing method provided in an embodiment of this disclosure. Referring to Figure 3, the method may include:
- the execution entity of this disclosure can be a terminal device or a video editing device within a terminal device.
- the video editing device can be implemented in software, or it can be implemented using a combination of software and hardware; this disclosure does not limit this approach.
- the video editing task can be a task that performs editing operations on a video draft.
- a video editing task can be a video editing task that separates human voices from a video draft, or a video editing task that generates a digital human from a video draft. This embodiment of the disclosure does not limit the scope of the task.
- a video draft can be a preliminary edited version or an unfinished version during the video editing process.
- a video draft can serve as a temporary stage in the video editing process, and can be used to record the current progress of video editing, as well as the user's editing operations on multimedia materials (such as video materials, audio materials, etc.) in the video draft.
- users can edit video drafts in the video draft editor, or edit video drafts using any feasible implementation method.
- This disclosure does not limit this approach.
- a video editing task can be a task with a processing duration greater than or equal to a preset duration.
- a video editing task for a video draft includes Task 1 and Task 2. If the processing time of Task 1 is greater than the preset duration and the processing time of Task 2 is less than the preset duration, then the terminal device can determine that the video editing task is Task 1.
- Video editing tasks can be background tasks.
- video editing tasks can be processed in the background, so that the user's interaction with the video editing application will not be interrupted while the video editing task is being processed, allowing the user to continue operating in the video editing application and improving the user experience.
- video editing tasks can be processed on a server.
- processing them on a server can improve efficiency. Examples include video editing tasks involving digital human synthesis and voice separation, both of which can be processed on a server.
- the terminal device can download the output of the video editing task (e.g., video, audio).
- the terminal device can respond to editing operations on the video draft by creating a video editing task for the video draft in an asynchronous task queue.
- the asynchronous task queue can provide a unified interface for the business layer to create tasks, and the business layer can create video editing tasks for the video draft in the asynchronous task queue based on this interface.
- the task information can be used to instruct the server to perform a video editing task.
- the task information may include information required to process the video editing task.
- the server receives the task information, it can execute the video editing task corresponding to the task information.
- the task information may include parameters corresponding to the video editing task.
- the task information may include the type of video editing task, the identifier of the video editing task, the resolution of the video, audio parameters (volume), etc., which are not limited in this embodiment.
- the task information corresponding to the video editing task may include the identifier of the digital human model, the driving method of the digital human (text-driven or voice-driven), the size and resolution of the video, the identifier of the background of the video, the identifier of the digital human's actions and expressions, volume, speech rate, etc.
- the task information corresponding to the video editing task may include the identification of the audio source (e.g., voice and background music), the degree parameter of voice separation, the output audio format, etc.
- the audio source e.g., voice and background music
- the degree parameter of voice separation e.g., the degree parameter of voice separation
- the output audio format e.g., the degree parameter of voice separation
- video editing tasks may include a preprocessing stage before processing.
- the terminal device can obtain the task information corresponding to the video editing task.
- the client can generate a text-to-speech (TTS) audio file based on a piece of text and send the audio file to a Content Delivery Network (CDN).
- CDN Content Delivery Network
- the CDN can send a Uniform Resource Locator (URL) to the client. Through this URL, the server can quickly and reliably obtain the audio file from the CDN.
- the task information obtained by the terminal device may include this URL.
- the server can obtain the audio file based on this URL and generate a digital human video based on the audio file.
- the video editing task also includes a post-processing stage.
- This post-processing stage can be the stage where the terminal device downloads the task results.
- the server can send the task results via an interface protocol, and the client can download the results.
- the server can notify the client that the task status of the digital human synthesis video editing task is complete, and the server can send the generated digital human video file as a URL via an interface protocol.
- the client receives this notification, it can download the digital human video file and apply it to the video draft.
- the business layer can preprocess multiple video editing tasks in the software architecture, and the middleware layer can obtain task information corresponding to each video editing task.
- the video editing task is a digital human synthesis video editing task
- the business layer can perform the preprocessing stage of this digital human synthesis video editing task, that is, generate an audio file, send the audio file to the CDN, obtain the URL corresponding to the audio file, and send the URL to the middleware layer.
- the middleware layer can send the task information of the digital human synthesis video editing task to the server. This task information may include the URL corresponding to the audio file and other information related to the digital human synthesis video editing task.
- the business layer can perform the preprocessing stage of the voice-separation video editing task. That is, the business layer can obtain the video clip to be voice-separated from the video material, extract the audio file of the video clip, send the audio file to the CDN, obtain the URL corresponding to the audio file, and send the URL to the middle layer.
- the middle layer can send the task information of the voice-separation video editing task to the server.
- the task information may include the URL corresponding to the audio file and other information related to the voice-separation video editing task.
- the terminal device can obtain the correspondence between video editing tasks and fixed information, and determine the fixed information of the video editing task based on this correspondence. For example, the terminal device can pre-configure corresponding fixed information for each video editing task to obtain this correspondence. After the terminal device determines the video editing task (e.g., based on the user's video editing operation), the terminal device can determine the fixed information corresponding to the video editing task based on the identifier and correspondence of the video editing task. For example, the fixed information corresponding to the digital human synthesis video editing task is information 1, and the fixed information corresponding to the voice separation video editing task is information 2.
- the fixed information corresponding to the digital human synthesis video editing task is information 1
- the fixed information corresponding to the voice separation video editing task is information 2.
- the terminal device can determine that the video editing task is a digital human synthesis video editing task, and the fixed information is information 1 (the identifier of the digital human model, etc.). If the user selects the voice separation video editing function, the terminal device can determine that the video editing task is a voice separation video editing task, and the fixed information is information 2 (the parameters for voice separation, etc.).
- the terminal device can obtain the task information of the video editing task according to any feasible implementation method (for example, when the user selects the video editing function of digital human synthesis, he can also select information such as digital human model). This disclosure embodiment does not limit this.
- the terminal device can determine the trigger time of a video editing task and then send the task information of the video editing task to the server at that trigger time. For example, the terminal device can obtain multiple task information for multiple video editing tasks. If there is an execution order among the multiple video editing tasks, the terminal device can send multiple task information to the server based on the execution order. For example, if video editing task 1 is completed and video editing task 2 is executed, the terminal device can send the task information of video editing task 1 to the server, and after video editing task 1 is completed, the terminal device can send the task information of video editing task 2 to the server.
- the middle layer may include a background task framework, which can send task information corresponding to video editing tasks to the server through a unified interface, and can also receive task information of video editing tasks sent by the business side through a unified interface.
- a background task framework which can send task information corresponding to video editing tasks to the server through a unified interface, and can also receive task information of video editing tasks sent by the business side through a unified interface.
- the task duration can be an estimate of the time required for the server to complete the video editing task.
- the task duration can include the processing time of the video editing task and the time required to receive the task result after the task is completed. For example, if the server predicts that the processing time of the video editing task is 20 seconds and the client takes 10 seconds to download the task result, the server can determine that the task duration is 30 seconds and send this initial duration to the terminal device.
- the task progress can be used to indicate the processing progress of a video editing task.
- the task progress can be any progress such as 1%, 10%, 20%, ..., 100%.
- the terminal device can determine the task progress of the video editing task according to the following feasible implementation methods: obtain the current time and the initiation time of the video editing task, determine the target duration between the current time and the initiation time, and determine the task progress of the video editing task based on the task duration and the target duration.
- the terminal device can obtain the timestamp of the initiated video editing task to obtain the initiation time of the video editing task, and the terminal device can obtain the current timestamp to obtain the current time. It should be noted that the terminal device can also obtain the initiation time and current time of the video editing task according to any feasible implementation method, and this embodiment does not limit this.
- the terminal device can determine the task progress based on the ratio of the target duration to the task duration. For example, if the task duration is 30 seconds and the target duration is 15 seconds, the terminal device can determine that the video editing task progress is 50%.
- the task progress of a video editing task can also include the preprocessing stage.
- the terminal device can determine that the preprocessing stage of the video editing task accounts for a first percentage of the task progress, and the processing stage and post-processing stage (the stage where the video editing task is downloaded after completion) account for a second percentage, where the first percentage is less than the second percentage.
- the terminal device can determine that the first percentage is less than or equal to 20%, and the second percentage is greater than or equal to 20% and less than or equal to 100%, that is, the maximum percentage of the preprocessing stage in the task progress is 20%, and the maximum percentage of the processing stage and post-processing stage in the task progress is 80%.
- the terminal device can determine the progress of the preprocessing stage of the video editing task by considering the total duration of the preprocessing stage and the current processing time. For example, if the first percentage is 20% and the total upload time for the audio file is 10 seconds, and the audio file is currently 50% uploaded, the terminal device can determine that the progress of the video editing task is 10% (i.e., half of 20%). For instance, if the progress is 20%, it means that the preprocessing stage of the video editing task has been completed and the video editing task is in progress; if the progress is 100%, it means that the terminal device has downloaded the multimedia resources generated after the completion of the video editing task.
- the terminal device can determine the progress of the processing stage and the post-processing stage of the video editing task by referring to the method of determining the target duration based on the initiation time and the current time, and determining the progress of the video editing task based on the task duration and the target duration. This embodiment of the present disclosure will not elaborate on this method.
- Figure 4 is a schematic diagram illustrating a process for receiving task time consumption according to an embodiment of this disclosure.
- the terminal device can send task information for a video editing task to the server.
- the server can predict the completion time of the corresponding video editing task and the download time for the terminal device to download the task result (the task time includes the completion time and the download time), and then send the completion time and download time of the video editing task to the terminal device.
- the terminal device can display the task progress in the following feasible way: obtain the running status of the video editing application, and display the task progress in the video draft editor when the running status is in the foreground.
- the running status can include foreground running, background running, and closed. It should be noted that the terminal device can obtain the running status of the video editing application according to any feasible implementation method, and this disclosure does not limit this.
- a video draft can be a draft of a video for a video editing task.
- the editor for the video draft can be a video editing tool, allowing users to edit the video draft within the editor.
- the video draft editor can include a video editing area and a non-video editing area.
- the terminal device can display the task progress in the non-video editing area.
- the video draft editor can include a video editing area and a preview area (non-video editing area). After the terminal device confirms the task progress, it can display the progress in the preview area. This allows users to obtain real-time progress updates for video editing tasks within the video draft editor, improving the user experience.
- the terminal device If the video editing application is running in the foreground, it means that the terminal device has launched the video editing application and is displaying the application's page. If the video editing application's page is the video editor's page, the terminal device can display the task progress within the video editor (as shown in Figure 1).
- the terminal device displays the task progress in the video draft editor, it can also: close the video draft editor and display the task progress in the draft box of the video editing application.
- the drafts folder can include video drafts.
- the page displayed on the terminal device can include a drafts folder.
- the terminal device can determine the preview image corresponding to the video draft in the drafts folder, display the task progress of the video editing task in the preview image, and display the task status of the video editing task below the preview image.
- the task results may include links to multimedia resources.
- the task results may include links to the multimedia resources corresponding to the video editing task, allowing the terminal device to download the multimedia resources based on these links.
- the task results upon completion may include the URL of the digital human video, allowing the terminal device to download the digital human video based on this URL.
- the task result may also include the task status.
- the task status may include any status related to video editing task processing, such as task processing, task paused, task failed, and task completed. This embodiment of the disclosure does not limit this. For example, if the task status is task failed or task in progress, the task result does not include links to multimedia resources. If the task status is task completed, the task result may include links to multimedia resources.
- the terminal device can request the current task result (task status) from the server through a polling mechanism; the terminal device can also establish a long connection with the server and then obtain the task result (task status) of the video editing task based on the long connection; the terminal device can also receive notification bar push messages and then determine the task result (task status) of the video editing task.
- This embodiment of the present disclosure does not limit this.
- Figure 5 is a schematic diagram illustrating a process for receiving task results according to an embodiment of this disclosure.
- the terminal device can send request 1 (requesting to obtain the current task result of the video editing task) to the server.
- the server determines that the current task result of the video editing task is task processing, and the terminal device can receive a notification of task processing sent by the server.
- the terminal device can also send request 2 (requesting to obtain the current task result of the video editing task) to the server.
- the server determines that the current task result of the video editing task is task completion and sends a notification of task completion to the terminal device. In this way, the terminal device can accurately obtain the task result of the video editing task through a polling mechanism.
- the task status can also be retrieved from the task results and displayed. This improves the display effect of video editing tasks.
- the terminal device can display the task status as follows: when the video editing application is running in the background or closed, a push notification will be displayed.
- Push notifications can be used to indicate changes in task status.
- a push message can be sent to the terminal device when the server determines that the task status of a video editing task has changed.
- the terminal device can receive and display the push message in its notification bar. For instance, when a video editing task is completed, the server can send a task completion push message to the terminal device, which can then display it. If the user clicks the push message, the terminal device can launch the video editing application and open the corresponding video draft. For example, if the user clicks the push notification for a digital human composite video editing task (task completed), the terminal device can run the video editing application in the foreground and display the corresponding video draft, which may include the digital human video.
- the terminal device can re-monitor the task status, wherein the terminal device can re-acquire the task status in at least one of the following ways:
- the current task status is requested from the server through a polling mechanism.
- the video editing task can be processed in the background.
- the server can send a push notification to the terminal device, which can then display the notification.
- the user can then promptly view the video draft.
- the terminal device can obtain the current task status of the video editing task and continuously monitor its status, allowing the user to access the video editing draft in real time.
- Figure 6 is a schematic diagram illustrating the display of task progress and status according to an embodiment of this disclosure.
- the device includes a terminal device.
- the terminal device can display an editor for a video draft, which may include a video editing area and a preview area (not a video editing area).
- the preview area may include the text "Task 1 is processing 70%” and "Task 2 is processing 30%", where Task 1 and Task 2 can be the video editing tasks corresponding to the video draft.
- the terminal device can display the main page of the video editing application.
- the main page may include a start-up control and a draft box, which may contain video drafts.
- the preview image of the video draft can show 70% (task progress of Task 1), and the text "Task 1 in progress" (task status of Task 1) can be displayed below the preview image.
- the preview image can display 30% (the progress of Task 2; for ease of understanding, in Figure 6, the progress of Task 2 remains unchanged after a certain period of time).
- the text "Task 2 in progress" (the task status of Task 2) can be displayed below the preview image.
- the text "Task completed” can be displayed below the preview image. In this way, even after the user exits the video draft editor, they can still access the task progress and status in the draft box, improving the user experience.
- the draft box when there are a large number of video editing tasks, the draft box can display the task progress and task status of multiple video editing tasks in a loop, thereby improving the display effect of video editing tasks.
- the terminal device can update the video draft in the following feasible way: in the task results, determine the links of multimedia resources related to the video editing task, obtain the multimedia resources according to the links, and update the video draft according to the multimedia resources.
- the task result received by the terminal device may include a link to a multimedia resource.
- the terminal device can download the multimedia resource based on the link and update the video draft based on the multimedia resource.
- the task result of a video editing task involving digital human synthesis may include the URL of the digital human video.
- the terminal device can download the digital human video based on the URL, store the digital human video locally, obtain the path information of the digital human video, and then write this path information into the video draft, thereby adding the digital human video to the video draft.
- the terminal device can synchronize the video editing task corresponding to the video draft. For example, if the video editing task corresponding to the video draft has been completed on terminal device A, then when terminal device B downloads the video draft, the video editing task has already been completed. If the video editing task corresponding to the video draft has not been completed on terminal device A, then when terminal device B downloads the video draft, it can re-trigger the monitoring of the task result for the video editing task. In this way, it can be ensured that the video editing task can be applied to the video draft downloaded by terminal device B in a timely manner when it is completed.
- a terminal device in response to an editing operation on a video draft, creates a video editing task for the draft and sends task information to a server.
- the server processes the video editing task based on this task and sends the task's duration to the terminal device.
- the terminal device determines the task progress based on the duration and displays it.
- the terminal device also receives the task result from the server and updates the video draft accordingly. Because the video editing task is processed in the background, and the terminal device can display its status and progress in the foreground, the display flexibility and effect of the video editing task are improved.
- the above video editing method when the terminal device displays the task progress and/or task status in the video draft editor, the above video editing method also includes a method for performing video editing operations.
- the method for performing video editing operations will be described in detail below with reference to Figure 7.
- Figure 7 is a schematic diagram of a method for performing video editing operations according to an embodiment of this disclosure. Referring to Figure 7, the method flow includes:
- the video editing operation can be an editing operation performed on a video draft.
- a user can edit the multimedia materials of a video draft in a video draft editor.
- video editing operations can include any video editing operation such as video material splitting, video material deletion, adding special effects, adding subtitles, etc., and this disclosure embodiment does not limit this.
- the terminal device can obtain video editing operations according to any feasible implementation method (e.g., determine the video editing operation based on the user's operation in the video draft editor), and this disclosure embodiment does not limit this.
- the terminal device can perform the video editing operation in the video editing area of the video draft editor. For example, if the video editing operation is to add special effects, the terminal device can add the special effects on the track of the video editing area.
- the video draft may include video clip 1 and video clip 2. If the video editing operation is to add a transition effect between video clip 1 and video clip 2, the terminal device can add the transition effect between video clip 1 and video clip 2.
- FIG 8 is a schematic diagram of a video editing operation provided by an embodiment of this disclosure.
- the process includes: a terminal device.
- the terminal device can display a video draft editor.
- the preview area of the video draft editor can display a 1-frame preview image and the text "Task is processing 70%".
- the video editing area of the video draft editor can include preview images of 1 frame, 2 frames, and 3 frames, with the timeline at the 1-frame position.
- the video editing area also includes sun and star stickers.
- the terminal device can add the sun sticker to the 1-frame image displayed in the preview area, and can display the text "Task is 75% complete".
- the video draft editor can not only display the task progress and status, but also allow the user to edit the video, improving the efficiency of video editing.
- the terminal device can acquire video editing operations and execute them in a video draft editor.
- the terminal device can display the task progress and/or task status of the video editing task in the video draft editor, and the user can also edit the video draft in the video draft editor. This avoids the situation where the user cannot edit the video draft during the execution of the video editing task, improves the efficiency of video editing, and enhances the user experience.
- Figure 9 is a schematic diagram of a method for sending task information to a server according to an embodiment of this disclosure. Referring to Figure 9, the method flow includes:
- Video editing tasks can be asynchronous.
- video editing tasks can be tasks in an asynchronous queue, allowing the terminal device to process multiple video editing tasks in parallel, thereby improving the processing efficiency of video editing tasks.
- the coupling relationship can include any coupling relationship such as task mutual exclusion and task rerun, and the embodiments disclosed herein are not limited to this.
- the trigger time can be the execution time of the video editing task. For example, when the terminal device obtains the task information of a video editing task, if the video editing task needs to wait for other video editing tasks to complete before it can be executed, the terminal device can determine that the trigger time is the moment when the other video editing tasks have completed.
- the terminal device can schedule each asynchronous task and automatically handle the coupling relationship between them.
- the middle layer of the software architecture may include an asynchronous task queue, which can schedule each asynchronous task (video editing task) and automatically handle the coupling relationship between asynchronous tasks (this asynchronous task queue can provide a unified task creation interface for the business layer; when the business layer completes the preprocessing of the video editing task, it can send task information to the asynchronous task queue through this interface), thereby obtaining the execution order of multiple asynchronous tasks (which can be executed in parallel or sequentially, depending on the coupling relationship of the asynchronous tasks), and determining the trigger time of each asynchronous task based on this execution order.
- the coupling relationship is that video editing task 1 is unrelated to video editing task 2, video editing task 3 needs to wait for video editing task 1 to complete before execution, and video editing task 4 needs to wait for video editing tasks 1 and 2 to complete before execution, then the execution order of multiple video editing tasks is that video editing tasks 1 and 2 are executed first, video editing task 3 is executed when video editing task 1 completes, and video editing task 4 is executed when video editing tasks 1 and 2 complete.
- the terminal device determines that video editing task 1 and video editing task 2 can be executed in parallel, and video editing task 3 is executed when video editing task 1 is completed, then the terminal device can determine that the triggering time of video editing task 1 and video editing task 2 is the current time, and the triggering time of video editing task 3 is the completion time of video editing task 1.
- Terminal devices can send task information for a video editing task to the server at the execution time of the task.
- the server can process the task. For example, after obtaining task information for a digital human synthesis video editing task, the terminal device can send this information to the server at the trigger time of the task.
- the server can generate the digital human video based on it.
- an asynchronous task queue can send task information for video editing tasks to the terminal device through a background task framework. This background task framework can also provide task progress and status, thus allowing it to function as part of the asynchronous task queue, improving the processing efficiency and complexity of video editing tasks.
- a terminal device can obtain the coupling relationship of a video editing task, determine the trigger time of the video editing task based on the coupling relationship, and send the task information to the server based on the trigger time. In this way, the terminal device can accurately send task information to the server, enabling the server to accurately process the video editing task and improving the processing accuracy of the video editing task.
- FIG 10 is a schematic diagram of the structure of a video editing device provided in an embodiment of this disclosure.
- the video editing device 1000 includes a response module 1001, a sending module 1002, a receiving module 1003, a determining module 1004, a display module 1005, and an updating module 1006, wherein:
- the response module 1001 is used to create a video editing task for the video draft in response to an editing operation on the video draft; the video editing task is a background task.
- the sending module 1002 is used to send task information of the video editing task to the server, and the task information is used to instruct the server to execute the video editing task.
- the receiving module 1003 is used to receive the task time sent by the server, wherein the task time is an estimate of the time required for the server to complete the video editing task;
- the determining module 1004 is used to determine the task progress of the video editing task based on the task duration.
- the display module 1005 is used to display the task progress
- the receiving module 1003 is further configured to receive the task result of the video editing task sent by the server;
- the update module 1006 is used to update the video draft based on the task results.
- the display module 1005 is specifically used for:
- the display module 1005 is further configured to:
- the display module 1005 is further configured to:
- the task progress is displayed in the drafts folder of the video editing application, and the drafts folder includes the video drafts.
- the updating module 1006 is specifically used for:
- the display module 1005 is further configured to:
- the display module 1005 is further configured to:
- the display module 1005 is further configured to:
- the task status is retrieved again using at least one of the following methods:
- the current task status is requested from the server through a polling mechanism
- the task progress of the video editing task is determined based on the task duration and the target duration.
- the task duration includes the processing time of the video editing task and the time spent receiving the task result after the video editing task is completed.
- the sending module 1002 is specifically used for:
- the triggering time of the video editing task is determined
- the task information is sent to the server.
- the video editing apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be repeated here.
- FIG 11 is a schematic diagram of the structure of a terminal device provided in an embodiment of this disclosure. Referring to Figure 11, it shows a schematic diagram of the structure of a terminal device 1100 suitable for implementing an embodiment of this disclosure.
- the terminal device may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), portable Android devices (PADs), portable media players (PMPs), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers.
- PDAs personal digital assistants
- PDAs portable Android devices
- PMPs portable media players
- in-vehicle terminals e.g., in-vehicle navigation terminals
- fixed terminals such as digital TVs and desktop computers.
- the terminal device shown in Figure 11 is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this disclosure.
- the terminal device 1100 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 1101, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1102 or a program loaded from storage device 1108 into random access memory (RAM) 1103.
- the RAM 1103 also stores various programs and data required for the operation of the terminal device 1100.
- the processing unit 1101, ROM 1102, and RAM 1103 are interconnected via a bus 1104.
- An input/output (I/O) interface 1105 is also connected to the bus 1104.
- I/O interface 1105 input devices 1106 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 1107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1109.
- Communication device 1109 allows terminal device 1100 to communicate wirelessly or wiredly with other devices to exchange data.
- Figure 11 shows a terminal device 1100 with various devices, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
- the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof.
- a computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
- a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device.
- a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.
- a computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.
- the program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
- the aforementioned computer-readable medium may be included in the aforementioned terminal device; or it may exist independently and not assembled into the terminal device.
- the aforementioned computer-readable medium carries one or more programs, which, when executed by the terminal device, cause the terminal device to perform the method shown in the above embodiments.
- This disclosure provides a computer-readable storage medium storing computer-executable instructions.
- a processor executes the computer-executable instructions, it implements various methods that may be involved in the above embodiments.
- This disclosure provides a computer program product, including a computer program that, when executed by a processor, implements various methods that may be involved in the above embodiments.
- each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function.
- the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved.
- each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
- the units described in the embodiments of this disclosure can be implemented in software or in hardware.
- the name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".
- exemplary types of hardware logic components include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
- FPGAs Field Programmable Gate Arrays
- ASICs Application-Specific Integrated Circuits
- ASSPs Application Standard Products
- SoCs System-on-Chip
- CPLDs Complex Programmable Logic Devices
- a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
- a machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium.
- a machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing.
- machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or flash memory erasable programmable read-only memory
- CD-ROM compact disk read-only memory
- magnetic storage devices or any suitable combination of the foregoing.
- Obtain task information for a video editing task wherein the video editing task is a background task with a processing duration greater than or equal to a preset duration, and the task information is used to process the video editing task.
- displaying the task progress includes:
- the task progress is displayed in the video editing draft editor, and the video editing draft is the video editing draft corresponding to the video editing task.
- the method when displaying the task progress in an editor of a video editing draft, the method further includes:
- the method when displaying the task progress in an editor of a video editing draft, the method further includes:
- the task progress is displayed in the drafts folder of the video editing application, which includes the video editing drafts.
- the method further includes:
- the method further includes:
- the task status of the video editing task is retrieved again according to at least one of the following methods:
- the current task status of the video editing task is requested from the server through a polling mechanism.
- determining the task progress of the video editing task based on the initiation time, the current time, and the first duration includes:
- the second duration is determined based on the initiation time and the current time
- the task progress of the video editing task is determined based on the first duration and the second duration, wherein the first duration includes the processing time of the video editing task and the download time after the completion of the video editing task.
- the video editing task is an asynchronous task; sending the processing information to the server includes:
- the triggering time of the video editing task is determined
- the processing information is sent to the server.
- this disclosure provides a video editing apparatus, which includes a first acquisition module, a sending module, a receiving module, a second acquisition module, a determining module, and a display module, wherein:
- the first acquisition module is used to acquire task information of a video editing task, wherein the video editing task is a background task with a processing duration greater than or equal to a preset duration, and the task information is used to process the video editing task;
- the sending module is used to send the task information to the server
- the receiving module is used to receive a first duration sent by the server, wherein the first duration is the time predicted by the server for completing the video editing task;
- the second acquisition module is used to acquire the initiation time and current time of the video editing task
- the determining module is used to determine the task progress of the video editing task based on the initiation time, the current time, and the first duration;
- the display module is used to display the progress of the task.
- the display module is specifically used for:
- the task progress is displayed in the video editing draft editor, and the video editing draft is the video editing draft corresponding to the video editing task.
- the display module is further configured to:
- the display module is further configured to:
- the task progress is displayed in the drafts folder of the video editing application, which includes the video editing drafts.
- the display module is further configured to:
- the display module is further configured to:
- the display module is further configured to:
- the task status of the video editing task is retrieved again according to at least one of the following methods:
- the current task status of the video editing task is requested from the server through a polling mechanism.
- the determining module is specifically used for:
- the second duration is determined based on the initiation time and the current time
- the task progress of the video editing task is determined based on the first duration and the second duration, wherein the first duration includes the processing time of the video editing task and the download time after the completion of the video editing task.
- the sending module is specifically used for:
- the triggering time of the video editing task is determined
- the processing information is sent to the server.
- embodiments of this disclosure provide a terminal device including: a processor and a memory;
- the processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the video editing methods described in the first aspect above and various possible aspects of the first aspect.
- embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the video editing methods described in the first aspect and various possible aspects thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本公开提供一种视频编辑方法、装置及终端设备,该方法包括:响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;根据所述任务耗时,确定所述视频编辑任务的任务进度,并显示所述任务进度;接收所述服务器发送的所述视频编辑任务的任务结果,并根据所述任务结果更新所述视频草稿。
Description
相关申请的交叉引用
本申请要求于2024年7月1日提交中国国家知识产权局、申请号为202410876441.1、发明名称为“视频编辑方法、装置及终端设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本公开实施例涉及视频处理技术领域,尤其涉及一种视频编辑方法、装置及终端设备。
在人工智能技术应用在视频编辑的领域时,视频编辑相关的客户端可以为用户提供智能的视频编辑功能。例如,通过人工智能技术生成数字人的视频编辑功能。
目前,由于智能的视频编辑功能的耗时较长,且需要人工智能模型的参与,因此,该类视频编辑功能对应的任务可以在服务器中执行,在服务器执行结束之后,终端设备可以下载对应的结果。
第一方面,本公开提供一种视频编辑方法,该视频编辑方法包括:
响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;
向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;
接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;
根据所述任务耗时,确定所述视频编辑任务的任务进度,并显示所述任务进度;
接收所述服务器发送的所述视频编辑任务的任务结果,并根据所述任务结果更新所述视频草稿。
第二方面,本公开提供一种视频编辑装置,视频编辑装置包括响应模块、发送模块、接收模块、确定模块、显示模块和更新模块,其中:
所述响应模块用于,响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;
所述发送模块用于,向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;
所述接收模块用于,接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;
所述确定模块用于,根据所述任务耗时,确定所述视频编辑任务的任务进度;
所述显示模块用于,显示所述任务进度;
所述接收模块还用于,接收所述服务器发送的所述视频编辑任务的任务结果;
所述更新模块用于,根据所述任务结果更新所述视频草稿。
第三方面,本公开实施例提供一种终端设备包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能涉及的所述视频编辑方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能涉及的所述视频编辑方法。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种应用场景示意图;
图2为本公开实施例提供的另一种应用场景示意图;
图3为本公开实施例提供的一种视频编辑方法的流程示意图;
图4为本公开实施例提供的一种接收任务耗时的过程示意图;
图5为本公开实施例提供的一种接收任务结果的过程示意图;
图6为本公开实施例提供的一种显示任务进度和任务状态的示意图;
图7为本公开实施例提供的一种执行视频编辑操作的方法示意图;
图8为本公开实施例提供的一种执行视频编辑操作的过程示意图;
图9为本公开实施例提供的一种向服务器发送任务信息的方法示意图;
图10为本公开实施例提供的一种视频编辑装置的结构示意图;
图11为本公开实施例提供的一种终端设备的结构示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的终端设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向终端设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
为了便于理解,下面,对本公开实施例涉及的概念进行说明。
终端设备:是一种具有无线收发功能的设备。终端设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端设备、智能电网(smart grid)中的无线终端设备、运输安全(transportation safety)中的无线终端设备、智慧城市(smart city)中的无线终端设备、智慧家庭(smart home)中的无线终端设备、可穿戴终端设备等。本公开实施例所涉及的终端设备还可以称为终端、用户设备(user equipment,UE)、接入终端设备、车载终端、工业控制终端、UE单元、UE站、移动站、移动台、远方站、远程终端设备、移动设备、UE终端设备、无线通信设备、UE代理或UE装置等。终端设备也可以是固定的或者移动的。
在相关技术中,人工智能技术可以应用在视频编辑的领域中,视频编辑相关的客户端可以为用户提供智能的视频编辑功能。例如,通过人工智能技术生成数字人的视频编辑功能,通过人工智能技术进行人声分离的视频编辑功能等。目前,由于该类视频编辑功能的耗时较长,且人工智能模型的参数较大,因此,该类视频编辑功能对应的视频编辑任务可以在服务器中执行,在服务器执行结束之后,终端设备可以下载对应的结果。例如,终端设备可以向服务器发送一段音频,服务器根据该段音频生成数字人视频,终端设备可以下载服务器生成的数字人视频。但是,在服务器执行该类视频编辑功能的任务的过程中,终端设备无法准确的确定该类视频编辑功能对应的任务的进度和状态,进而导致视频编辑任务的显示效果较差。
为了解决相关技术中的技术问题,本公开实施例提供一种视频编辑方法,终端设备可以响应于针对视频草稿的编辑操作,创建视频草稿的视频编辑任务,并向服务器发送视频编辑任务的任务信息,终端设备可以接收服务器发送的任务耗时,并根据任务耗时,确定视频编辑任务的任务进度,终端设备可以获取视频编辑应用的运行状态,在运行状态为前台运行时,在视频草稿的编辑器中显示任务进度,终端设备可以接收服务器发送的视频编辑任务的任务结果,并根据任务结果更新视频草稿。这样,在视频编辑任务执行过程中,用户可以在视频草稿的编辑器中获取任务进度,并且,用户可以在该视频草稿的编辑器中,继续对视频草稿进行视频编辑,提高视频编辑的效率,提高视频编辑任务的显示灵活度和显示效果,提高用户体验。
下面,结合图1-图2,对本公开实施例的应用场景进行说明。
图1为本公开实施例提供的一种应用场景示意图。请参见图1,包括终端设备。其中,终端设备可以显示视频草稿的编辑器,其中,该视频草稿的编辑器中可以包括预览区域和视频编辑区域。其中,预览区域中可以显示文本“数字人合成正在渲染70%”,这样,终端设备可以在视频草稿的编辑器内,获取数字人合成任务的任务进度,提高数字人合成任务的显示效果和显示灵活度,提高用户的体验。
图2为本公开实施例提供的另一种应用场景示意图。请参见图2,包括终端设备。其中,终端设备可以显示视频编辑应用的页面。该页面中可以包括开始创作控件(用于进行视频编辑)和草稿箱,其中,草稿箱可以包括视频草稿。该视频草稿的预览草稿图像中可以显示文本“70%”(视频编辑任务的任务进度),该视频草稿的下侧可以显示文本“渲染中”(可以为视频编辑任务的任务状态)。这样,在用户关闭视频草稿的编辑器时,终端设备可以在草稿箱中显示视频编辑任务的任务进度和任务状态,提高视频编辑任务的显示效果和显示灵活度,提高用户的体验。
需要说明的是,图1-图2只是对本公开实施例的应用场景的示例,并非对本公开实施例的应用场景的限定。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
本公开提供一种视频编辑方法、装置及终端设备,终端设备响应于针对视频草稿的编辑操作,创建视频草稿的视频编辑任务,其中,视频编辑任务为后台任务,终端设备可以向服务器发送视频编辑任务的任务信息,其中,任务信息可以用于指示服务器执行视频编辑任务,终端设备可以接收服务器发送的任务耗时,其中,任务耗时为服务器完成视频编辑任务需要的耗时估计,终端设备可以根据任务耗时,确定视频编辑任务的任务进度,并显示任务进度,终端设备可以接收服务器发送的视频编辑任务的任务结果,并根据任务结果更新视频草稿。在上述方法中,由于视频编辑任务为后台处理的任务,因此,在视频编辑任务执行过程中,用户可以对视频草稿继续进行编辑,提高视频编辑的效率,并且,由于终端设备可以预估视频编辑任务的任务进度,并显示该任务进度,因此,可以提高视频编辑任务的显示灵活度和显示效果,并且,在视频编辑任务完成时,终端设备可以及时根据任务结果更新草稿,提高用户体验。
图3为本公开实施例提供的一种视频编辑方法的流程示意图。请参见图3,该方法可以包括:
S301、响应于针对视频草稿的编辑操作,创建视频草稿的视频编辑任务。
本公开实施例的执行主体可以为终端设备,也可以为终端设备中的视频编辑装置。其中,视频编辑装置可以根据软件实现,视频编辑装置也可以根据软件和硬件的结合实现,本公开实施例对此不作限定。
其中,视频编辑任务可以为对视频草稿进行编辑操作对应的任务。例如,视频编辑任务可以为对视频草稿进行人声分离的视频编辑任务,视频编辑任务也可以为对视频草稿生成数字人的视频编辑任务,本公开实施例对此不作限定。
其中,视频草稿可以为视频编辑过程中的初步编辑的版本或未完成的版本。例如,视频草稿可以为视频编辑过程中的临时阶段,视频草稿可以用于记录当前视频编辑的进度、用户对视频草稿中的多媒体素材(如,视频素材、音频素材等)的编辑操作等。
可选的,用户可以在视频草稿的编辑器中对视频草稿进行编辑操作,也可以基于任意可行的实现方式,对视频草稿进行编辑操作,本公开实施例对此不作限定。
可选的,视频编辑任务可以为处理时长大于或等于预设时长的任务。例如,对视频草稿进行视频编辑的任务包括任务1和任务2,若任务1的耗时大于预设时长,任务2的耗时小于预设时长,则终端设备可以确定视频编辑任务为任务1。
其中,视频编辑任务可以为后台任务。例如,视频编辑任务可以为后台处理的任务,这样,在视频编辑任务处理时,不会干扰用户与视频编辑应用的交互,用户可以继续在视频编辑应用中进行操作,提高用户的体验。
可选的,视频编辑任务可以在服务器中进行处理。例如,由于视频编辑任务的任务耗时较长,并且,视频编辑任务通常需要结合神经网络模型进行处理,因此,视频编辑任务可以在服务器中进行处理,进而提高视频编辑任务的处理效率。例如,数字人合成的视频编辑任务、人声分离的视频编辑任务等,都可以在服务器中进行处理,服务器处理结束之后,终端设备可以下载视频编辑任务的产物(如,视频、音频等)。
可选的,终端设备可以响应于对视频草稿的编辑操作,在异步任务队列中创还能视频草稿的视频编辑任务。例如,异步任务队列可以为业务层提供统一的创建任务的接口,业务层可以基于该接口,在异步任务队列中创建视频草稿的视频编辑任务。
S302、向服务器发送视频编辑任务的任务信息。
其中,任务信息可以用于指示服务器执行视频编辑任务。例如,任务信息可以包括处理视频编辑任务所需的信息,服务器接收到该任务信息时,可以执行该任务信息对应的视频编辑任务。例如,任务信息中可以包括视频编辑任务对应的参数。例如,任务信息中可以包括视频编辑任务的类型、视频编辑任务的标识、视频的分辨率、音频参数(音量)等,本公开实施例对此不作限定。
例如,若视频编辑任务为数字人合成的任务,则该视频编辑任务对应的任务信息可以包括数字人模型的标识、数字人的驱动方式(文本驱动或语音驱动)、视频的尺寸和分辨率、视频的背景的标识、数字人的动作和表情的标识、音量、语速等。
例如,若视频编辑任务为人声分离的任务,则该视频编辑任务对应的任务信息可以包括音频源的标识(如,人声和背景音乐)、人声分离的程度参数、输出的音频格式等。
可选的,视频编辑任务在处理之前还包括预处理阶段,在视频编辑任务的预处理结束之后,终端设备可以获取视频编辑任务对应的任务信息。例如,在数字人合成的任务的预处理阶段,客户端可以根据一段文本,生成文本转语音(Text-To-Speech,TTS)音频文件,并向内容分发网络(Content Delivery Network,CDN)发送该音频文件,CDN可以向客户端发送统一资源定位符(Uniform Resource Locator,URL),通过该URL,服务器可以从CDN上快速、稳定的获取到该音频文件,在预处理阶段结束之后,终端设备获取的任务信息可以包括该URL,服务器可以基于该URL获取音频文件,并根据该音频文件生成数字人视频。
可选的,视频编辑任务还包括后处理阶段。其中,后处理阶段可以为终端设备下载视频编辑任务的任务结果的阶段。例如,服务器通知客户端视频编辑任务完成之后,服务器可以通过接口协议,将视频编辑任务的任务结果下发,客户端可以下载该结果。例如,服务器可以通知客户端数字人合成的视频编辑任务的任务状态为任务完成,服务器可以通过接口协议,将生成的数字人视频文件以URL的形式下发,客户端接收到该通知时,可以下载该数字人视频文件,并应用到视频草稿中。
可选的,由于多个视频编辑任务之间的预处理阶段可能不同,因此,在软件架构中,业务层可以对多个视频编辑任务进行预处理,中间层可以获取每个视频编辑任务对应的任务信息。例如,视频编辑任务为数字人合成的视频编辑任务,业务层可以执行该数字人合成的视频编辑任务的预处理阶段,即,生成音频文件,并向CDN发送该音频文件,得到该音频文件对应的URL,并向中间层发送该URL,在数字人合成的任务可以执行时,中间层可以向服务器发送该数字人合成的视频编辑任务的任务信息,其中,该任务信息中可以包括音频文件对应的URL、以及与该数字人合成的视频编辑任务相关的其它信息。例如,视频编辑任务为人声分离的视频编辑任务,业务层可以执行该人声分离的视频编辑任务的预处理阶段,即,业务层可以在视频素材中获取待进行人声分离的视频素材片段,并提取该视频素材片段的音频文件,并向CDN发送该音频文件,得到该音频文件对应的URL,并向中间层发送该URL,在人声分离的任务可以执行时,中间层可以向服务器发送人声分离的视频编辑任务的任务信息,该任务信息可以包括音频文件对应的URL、以及与该人声分离的视频编辑任务相关的其它信息。
可选的,由于任务信息中可以包括部分固定信息(如,数字人模型的标识、人声分离的参数等),因此,终端设备可以获取视频编辑任务与固定信息之间的对应关系,并根据该对应关系,确定视频编辑任务的固定信息。例如,终端设备可以预先为每个视频编辑任务配置对应的固定信息,得到该对应关系,在终端设备确定视频编辑任务(如,基于用户的视频编辑操作,确定视频编辑任务)之后,终端设备可以根据该视频编辑任务的标识和对应关系,确定该视频编辑任务对应的固定信息。例如,数字人合成的视频编辑任务对应的固定信息为信息1,人声分离的视频编辑任务对应的固定信息为信息2,若用户选择数字人合成的视频编辑功能,则终端设备可以确定视频编辑任务为数字人合成的视频编辑任务,固定信息为信息1(数字人模型的标识等),若用户选择人声分离的视频编辑功能,则终端设备可以确定视频编辑任务为人声分离的视频编辑任务,固定信息为信息2(人声分离的参数等)。
需要说明的是,终端设备可以根据任意可行的实现方式,获取视频编辑任务的任务信息(如,用户在选择数字人合成的视频编辑功能时,还可以选择数字人模型等信息),本公开实施例对此不作限定。
可选的,终端设备可以确定视频编辑任务的触发时刻,进而在该触发时刻向服务器发送视频编辑任务的任务信息。例如,终端设备可以获取多个视频编辑任务的多个任务信息,若多个视频编辑任务之间存在执行顺序,则终端设备可以基于该执行顺序,向终端设备发送多个任务信息。例如,若视频编辑任务1结束之后,执行视频编辑任务2,则终端设备可以向服务器发送视频编辑任务1的任务信息,在视频编辑任务1完成之后,终端设备可以向服务器发送视频编辑任务2的任务信息。
其中,中间层中可以包括后台任务框架,该后台任务框架可以通过统一的接口,向服务器发送视频编辑任务对应的任务信息,该后台任务框架也可以通过统一的接口,接收业务端发送的视频编辑任务的任务信息。
S303、接收服务器发送的任务耗时。
其中,任务耗时可以为服务器完成视频编辑任务需要的耗时估计。例如,任务耗时可以包括视频编辑任务的处理耗时和视频编辑任务完成后,任务结果的接收耗时。例如,若服务器预测的视频编辑任务的处理耗时为20秒,客户端下载任务结果的时长为10秒,则服务器可以确定任务耗时为30秒,并向终端设备发送该第一时长。
S304、根据任务耗时,确定视频编辑任务的任务进度。
其中,任务进度可以用于指示视频编辑任务的处理进度。例如,任务进度可以为1%、10%、20%、……、100%等任意进度。
其中,终端设备可以根据如下可行的实现方式,确定视频编辑任务的任务进度:获取当前时刻和视频编辑任务的发起时刻,并确定当前时刻和发起时刻之间的目标时长,根据任务耗时和目标时长,确定视频编辑任务的任务进度。
其中,终端设备可以获取发起视频编辑任务的时间戳,得到视频编辑任务的发起时刻,终端设备可以获取当前的时间戳,得到当前时刻,需要说明的是,终端设备也可以根据任意可行的实现方式,获取视频编辑任务的发起时刻和当前时刻,本公开实施例对此不作限定。
可选的,终端设备可以根据目标时长与任务耗时的比值,确定任务进度。例如,若任务耗时为30秒,目标时长为15秒,则终端设备可以确定视频编辑任务的任务进度为50%。
可选的,由于视频编辑任务在处理之前还包括预处理阶段,因此,视频编辑任务的任务进度也可以包括预处理阶段。例如,终端设备可以确定视频编辑任务的预处理阶段在任务进度中的占比为第一百分比,视频编辑任务的处理阶段和后处理阶段(视频编辑任务完成后进行下载的阶段)在任务进度中的占比为第二百分比,其中,第一百分比小于第二百分比。例如,终端设备可以确定第一百分比小于或等于20%,第二百分比大于或等于20,小于或等于100%,即,视频编辑任务的预处理阶段在任务进度中的最大占比为20%,视频编辑任务的处理阶段和后处理阶段,在任务进度中的最大占比为80%。
可选的,终端设备可以通过视频编辑任务的预处理阶段的总时长、以及当前处理的时长,确定预处理阶段的任务进度。例如,第一百分比为20%,音频文件上传的总时长为10秒,若当前音频文件已上传50%,则终端设备可以确定该视频编辑任务的任务进度为10%(即,20%的一半)。例如,若任务进度为20%,则说明该视频编辑任务的预处理阶段已完成,该视频编辑任务正在处理,若任务进度为100%,则说明终端设备已下载该视频编辑任务完成后生成的多媒体资源。
需要说明的是,终端设备确定视频编辑任务的处理阶段和后处理阶段的任务进度,可以参照终端设备根据发起时刻和当前时刻,确定目标时长,根据任务耗时和目标时长,确定视频编辑任务的任务进度的方法,本公开实施例对此不再进行赘述。
下面,结合图4,对接收服务器发送的任务耗时的过程进行说明。
图4为本公开实施例提供的一种接收任务耗时的过程示意图。请参见图4,包括终端设备和服务器。其中,终端设备可以向服务器发送视频编辑任务的任务信息,服务器可以基于该任务信息,预测该任务信息对应的视频编辑任务的完成耗时、以及终端设备下载该视频编辑任务对应的任务结果的下载耗时(任务耗时包括该完成耗时和下载耗时),并向终端设备发送该视频编辑任务的完成耗时和下载耗时。
S305、显示任务进度。
其中,终端设备可以根据如下可行的实现方式,显示任务进度:获取视频编辑应用的运行状态,在运行状态为前台运行时,在视频草稿的编辑器中显示任务进度。
其中,运行状态可以包括前台运行、后台运行和关闭。需要说明的是,终端设备可以根据任意可行的实现方式,获取视频编辑应用的运行状态,本公开实施例对此不作限定。
视频草稿可以为视频编辑任务对应的视频草稿。其中,视频草稿的编辑器可以为视频编辑工具,用户可以在视频草稿的编辑器中对视频草稿进行编辑操作。
其中,视频草稿的编辑器可以包括视频编辑区域和非视频编辑区域,终端设备可以在非视频编辑区域中显示任务进度。例如,视频草稿的编辑器可以包括视频编辑区域和预览区域(非视频编辑区域),终端设备确定任务进度之后,可以在预览区域中显示任务进度。这样,用户可以在视频草稿的编辑器内,及时的获取视频编辑任务的任务进度,提高用户的体验。
其中,若视频编辑应用的运行状态为前台运行,则说明终端设备已启动视频编辑应用,并显示该视频编辑应用的页面,若视频编辑应用的页面为视频编辑器的页面,则终端设备可以在视频编辑器内显示任务进度(如,图1所示)。
其中,终端设备在视频草稿的编辑器中显示任务进度时,终端设备还可以:关闭视频草稿的编辑器,在视频编辑应用的草稿箱中显示任务进度。
其中,草稿箱可以包括视频草稿。例如,若用户关闭视频草稿的编辑器,终端设备显示的页面中可以包括草稿箱,终端设备可以在草稿箱中确定视频草稿对应的预览图像,并在该预览图像中显示视频编辑任务的任务进度,在该预览图像的下侧显示该视频编辑任务的任务状态。
S306、接收服务器发送的视频编辑任务的任务结果。
其中,任务结果可以包括多媒体资源的链接。例如,在视频编辑任务完成时,任务结果中可以包括视频编辑任务对应的多媒体资源的链接,终端设备可以基于该链接,下载该多媒体资源。例如,若视频编辑任务为数字人合成的视频编辑任务,则视频编辑任务完成时,任务结果中可以包括数字人视频的URL,终端设备可以基于该URL下载该数字人视频。
可选的,任务结果中还可以包括任务状态。例如,任务状态可以包括任务处理、任务暂停、任务失败和任务完成等任意与视频编辑任务处理相关的状态,本公开实施例对此不作限定。例如,若任务状态为任务失败或任务进行,则任务结果中暂未包括多媒体资源的链接,若任务状态为任务完成,则任务结果中可以包括多媒体资源的链接。
可选的,终端设备可以通过轮询机制,向服务器请求当前的任务结果(任务状态);终端设备也可以与服务器建立长链接,进而基于该长链接获取视频编辑任务的任务结果(任务状态);终端设备还可以接收通知栏Push消息,进而确定视频编辑任务的任务结果(任务状态),本公开实施例对此不作限定。
下面,结合图5,对接收服务器发送的任务结果的过程进行说明。
图5为本公开实施例提供的一种接收任务结果的过程示意图。请参见图5,包括终端设备和服务器。其中,终端设备可以向服务器发送请求1(请求获取视频编辑任务当前的任务结果),服务器确定视频编辑任务当前的任务结果为任务处理,终端设备可以接收服务器发送的任务处理的通知。终端设备可以向服务器发送请求2(请求获取视频编辑任务当前的任务结果),服务器可以确定视频编辑任务当前的任务结果为任务完成,并向终端设备发送任务完成的通知。这样,终端设备可以通过轮询机制,准确的获取视频编辑任务的任务结果。
其中,终端设备显示任务进度时,还可以在任务结果中获取任务状态,并显示任务状态。这样,可以提高视频编辑任务的显示效果。
可选的,由于视频编辑任务的耗时较长,因此,用户可以在视频编辑任务处理的过程中,关闭视频编辑应用或在后台运行视频编辑应用,在该种情况中,终端设备可以根据如下方式显示任务状态:在视频编辑应用为后台运行或者关闭时,显示推送消息。
其中,推送消息可以用于指示任务状态发生变更。例如,推送消息可以为Push消息,服务器在确定视频编辑任务的任务状态发生变更时,可以向终端设备发送该Push消息,终端设备可以接收通知栏的Push消息,并显示该消息。例如,视频编辑任务完成时,服务器可以向终端设备发送任务完成的Push消息,终端设备可以显示该Push消息,若用户点击该Push消息,则终端设备可以启动视频编辑应用,并打开Push消息对应的视频草稿。例如,若用户点击数字人合成的视频编辑任务的推送通知(任务完成),则终端设备可以在前台运行该视频编辑应用,并显示视频编辑任务对应的视频草稿,该视频草稿中可以包括数字人视频。
可选的,在视频编辑应用重新启动时,终端设备可以重新监听任务状态,其中,终端设备可以根据如下至少一种方式,重新获取任务状态:
重新初始化任务管理器,并重新对任务状态进行监听;
通过轮询机制,向服务器请求当前的任务状态;
建立长链接,接收服务器发送的任务状态变更的消息。
这样,在用户关闭视频编辑应用之后,视频编辑任务可以在后台进行处理,若视频编辑任务处理完成时,服务器可以向终端设备发送任务完成的推送通知,终端设备可以显示推送通知,用户可以及时的查看视频草稿,并且,若用户重新启动视频编辑应用时,终端设备可以获取视频编辑任务当前的任务状态,进而持续对视频编辑任务的任务状态进行监听,使得用户可以及
下面,结合图6,对终端设备显示任务进度和任务状态进行详细的说明。
图6为本公开实施例提供的一种显示任务进度和任务状态的示意图。请参见图6,包括:终端设备。其中,终端设备可以显示视频草稿的编辑器,该视频草稿的编辑器中可以包括视频编辑区域和预览区域(非视频编辑区域)。其中,预览区域中可以包括文本“任务1正在处理70%”、“任务2正在处理30%”其中,任务1和任务2可以为视频草稿对应的视频编辑任务。
请参见图6,用户在视频草稿的编辑器中点击返回控件时,终端设备可以显示视频编辑应用的主页面。其中,主页面中可以包括开始创作控件和草稿箱,草稿箱中可以包括视频草稿。视频草稿的预览图像可以显示70%(任务1的任务进度),预览图像的下侧可以显示文本“任务1处理中”(任务1的任务状态)。
请参见图6,在一段时长之后,预览图像可以显示30%(任务2的任务进度,为了便于理解,在图6中,一段时长之后,任务2的任务进度未改变),预览图像的下侧可以显示文本“任务2处理中”(任务2的任务状态)。在任务1和任务2完成之后,预览图像下侧可以显示文本“任务完成”。这样,用户退出视频草稿的编辑器之后,也可以在草稿箱中获取任务进度和任务状态,提高用户的体验。
需要说明的是,在图6所示的实施例中,视频编辑任务数量较多时,草稿箱可以循环显示多个视频编辑任务的任务进度和任务状态,进而提高视频编辑任务的显示效果。
S307、根据任务结果更新视频草稿。
其中,终端设备可以根据如下可行的实现方式,更新视频草稿:在任务结果中,确定视频编辑任务相关的多媒体资源的链接,根据多媒体资源的链接,获取多媒体资源,并根据多媒体资源,更新视频草稿。
其中,在视频编辑任务完成时,终端设备接收的任务结果中可以包括多媒体资源的链接,终端设备可以基于该链接下载多媒体资源,并基于该多媒体资源更新视频草稿。例如,数字人合成的视频编辑任务的任务结果中,可以包括数字人视频的URL,终端设备可以基于该URL下载该数字人视频,并将该数字人视频存储在本地,得到数字人视频的路径信息,终端设备可以将该路径信息写入视频草稿,进而将该数字人视频,添加至视频草稿中。
可选的,终端设备可以对视频草稿对应的视频编辑任务进行同步。例如,若视频草稿对应的视频编辑任务在终端设备A中已完成,则终端设备B下载该视频草稿时,该视频编辑任务已完成,若视频草稿对应的视频编辑任务在终端设备A中未完成,则终端设备B下载该视频草稿时,可以重新触发对该视频编辑任务的任务结果的监测,这样,可以保证该视频编辑任务完成时可以及时的应用于终端设备B下载的视频草稿中。
本公开实施例提供一种视频编辑方法,终端设备可以响应于针对视频草稿的编辑操作,创建视频草稿的视频编辑任务,并向服务器发送视频编辑任务的任务信息,服务器可以基于该任务进行对视频编辑任务进行处理,并向终端设备发送视频编辑任务的任务耗时,终端设备可以根据该任务耗时,确定视频编辑任务的任务进度,并显示任务进度,终端设备可以接收服务器发送的视频编辑任务的任务结果,并根据任务结果,更新视频草稿。这样,由于视频编辑任务为后台处理的任务,并且,终端设备可以在前台显示该视频编辑任务的任务状态和任务进度,因此,可以提高视频编辑任务的显示灵活度和显示效果。
在图2所示的实施例的基础上,终端设备在视频草稿的编辑器中显示任务进度和/或任务状态时,上述视频编辑方法还包括执行视频编辑操作的方法,下面,结合图7,对执行视频编辑操作的方法进行详细的说明。
图7为本公开实施例提供的一种执行视频编辑操作的方法示意图。请参见图7,该方法流程包括:
S701、获取视频编辑操作。
其中,视频编辑操作可以为对视频草稿进行的编辑操作。例如,用户可以在视频草稿的编辑器中对视频草稿的多媒体素材进行编辑。例如,视频编辑操作可以包括视频素材分割、视频素材删除、添加特效、添加字幕等任意视频编辑操作,本公开实施例对此不作限定。
需要说明的是,终端设备可以根据任意可行的实现方式,获取视频编辑操作(如,根据用户在视频草稿的编辑器中的操作,确定视频编辑操作),本公开实施例对此不作限定。
S702、在视频草稿的编辑器中执行视频编辑操作。
其中,终端设备获取视频编辑操作之后,可以在视频草稿的编辑器的视频编辑区中执行视频编辑操作。例如,若视频编辑操作为添加特效,则终端设备可以在视频编辑区域的轨道中添加特效。例如,视频草稿中可以包括视频素材1和视频素材2,若视频编辑操作为在视频素材1和视频素材2之间添加转场特效,则终端设备可以在视频素材1和视频素材2之间添加转场特效。
下面,结合图8,对执行视频编辑操作的过程进行说明。
图8为本公开实施例提供的一种执行视频编辑操作的过程示意图。请参见图8,包括:终端设备。终端设备可以显示视频草稿的编辑器。该视频草稿的编辑器的预览区域可以显示1帧的预览图像和文本“任务正在处理70%”,该视频草稿的编辑器的视频编辑区域可以包括1帧、2帧和3帧的预览图像,时间轴在1帧的位置,该视频编辑区域中还包括太阳贴纸和星星贴纸。
请参见图8,在用户点击太阳贴纸时,终端设备可以在预览区域显示的1帧图像中添加太阳贴纸,并且,可以显示文本“任务正在处理75%”。这样,视频草稿的编辑器不仅可以显示任务进度和任务状态,用户还可以在该编辑器中进行视频编辑,提高视频编辑的效率。
本公开实施例提供一种执行视频编辑操作的方法,终端设备可以获取视频编辑操作,在视频草稿的编辑器中执行视频编辑操作,这样,终端设备可以在视频草稿的编辑器中显示视频编辑任务的任务进度和/或任务状态,用户也可以在视频草稿的编辑器中对视频草稿进行编辑,避免视频编辑任务执行过程中,用户无法对视频草稿进行编辑的情况,提高视频编辑的效率,提高用户的体验。
在上述任意一个实施例的基础上,下面,结合图9,对上述视频编辑方法中的,向服务器发送任务信息的方法进行说明。
图9为本公开实施例提供的一种向服务器发送任务信息的方法示意图。请参见图9,该方法流程包括:
S901、获取视频编辑任务的耦合关系。
其中,视频编辑任务可以为异步任务。例如,视频编辑任务可以为异步队列中的任务,这样,终端设备可以并行处理多个视频编辑任务,进而提高视频编辑任务的处理效率。
其中,耦合关系可以包括任务互斥、任务重跑等任意耦合关系,本公开实施例对此不作限定。
S902、根据耦合关系,确定视频编辑任务的触发时刻。
其中,触发时刻可以为视频编辑任务的执行时刻。例如,终端设备获取视频编辑任务的任务信息时,若该视频编辑任务需要等待其它视频编辑任务执行完成之后才可以执行,则终端设备可以确定触发时刻为其它视频编辑任务执行完成的时刻。
可选的,终端设备可以调度每个异步任务,进而自动处理异步任务的耦合关系。例如,软件架构的中间层可以包括异步任务队列,该异步任务队列可以调度每个异步任务(视频编辑任务),并自动处理异步任务之间的耦合关系(该异步任务队列可以为业务层提供统一的任务创建的接口,在业务层完成视频编辑任务的预处理时,可以通过该接口向异步任务队列发送任务信息),进而得到多个异步任务的执行顺序(可以并列执行,也可以先后执行,根据异步任务的耦合关系确定),并根据该执行顺序,确定每个异步任务的触发时刻。例如,若耦合关系为视频编辑任务1与视频编辑任务2无关,视频编辑任务3需要等待视频编辑任务1完成时执行,视频编辑任务4需要等待视频编辑任务1和视频编辑任务2完成时执行,则多个视频编辑任务的执行顺序为视频编辑任务1和视频编辑任务2先执行,在视频编辑任务1完成时,执行视频编辑任务3,在视频编辑任务1和视频编辑任务2完成时,执行视频编辑任务4。
例如,若终端设备确定视频编辑任务1和视频编辑任务2可以并列执行,视频编辑任务3在视频编辑任务1完成时执行,则终端设备可以确定视频编辑任务1和视频编辑任务2的触发时刻为当前时刻,视频编辑任务3的触发时刻为视频编辑任务1的完成时刻。
S903、根据触发时刻,向服务器发送所述任务信息。
终端设备可以在视频编辑任务的执行时刻,向服务器发送该视频编辑任务的任务信息,服务器接收到任务信息时,可以对该视频编辑任务进行处理。例如,终端设备获取数字人合成的视频编辑任务的任务信息之后,可以在该数字人合成的任务的触发时刻向服务器发送该任务信息,服务器接收到任务信息时,可以根据任务信息生成数字人视频。例如,异步任务队列可以通过后台任务框架向终端设备发送视频编辑任务的任务信息,后台任务框架还可以提供视频编辑任务的任务进度和任务状态,这样,后台任务框架可以作为异步任务队列中的一部分,提高视频编辑任务的处理效率和处理复杂度。
本公开实施例提供一种向服务器发送任务信息的方法,终端设备可以获取视频编辑任务的耦合关系,根据耦合关系,确定视频编辑任务的触发时刻,根据触发时刻,向服务器发送所述任务信息。这样,终端设备可以准确的向服务器发送任务信息,使得服务器可以准确的对视频编辑任务进行处理,提高视频编辑任务的处理准确度。
图10为本公开实施例提供的一种视频编辑装置的结构示意图。请参见图10,该视频编辑装置1000包括响应模块1001、发送模块1002、接收模块1003、确定模块1004、显示模块1005和更新模块1006,其中:
所述响应模块1001用于,响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;
所述发送模块1002用于,向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;
所述接收模块1003用于,接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;
所述确定模块1004用于,根据所述任务耗时,确定所述视频编辑任务的任务进度;
所述显示模块1005用于,显示所述任务进度;
所述接收模块1003还用于,接收所述服务器发送的所述视频编辑任务的任务结果;
所述更新模块1006用于,根据所述任务结果更新所述视频草稿。
根据本公开一个或多个实施例,所述显示模块1005具体用于:
获取视频编辑应用的运行状态;
在所述运行状态为前台运行时,在视频草稿的编辑器中显示所述任务进度。
根据本公开一个或多个实施例,所述显示模块1005还用于:
获取视频编辑操作;
在所述视频草稿的编辑器中执行所述视频编辑操作。
根据本公开一个或多个实施例,所述显示模块1005还用于:
关闭所述视频草稿的编辑器;
在所述视频编辑应用的草稿箱中显示所述任务进度,所述草稿箱包括所述视频草稿。
根据本公开一个或多个实施例,所述更新模块1006具体用于:
在所述任务结果中,确定所述视频编辑任务相关的多媒体资源的链接;
根据所述多媒体资源的链接,获取所述多媒体资源,并根据所述多媒体资源,更新所述视频草稿。
根据本公开一个或多个实施例,所述显示模块1005还用于:
在所述任务结果中获取任务状态;
显示所述任务状态。
根据本公开一个或多个实施例,所述显示模块1005还用于:
在视频编辑应用为后台运行或者关闭时,显示推送消息,所述推送消息用于指示所述任务状态发生变更。
根据本公开一个或多个实施例,所述显示模块1005还用于:
在所述视频编辑应用重新启动时,根据如下至少一种方式,重新获取所述任务状态:
重新初始化任务管理器,并重新对所述任务状态进行监听;
通过轮询机制,向所述服务器请求当前的任务状态;
建立长链接,接收所述服务器发送的所述任务状态变更的消息。
根据本公开一个或多个实施例,所述确定模块1004具体用于:
获取当前时刻和所述视频编辑任务的发起时刻,并确定所述当前时刻和所述发起时刻之间的目标时长;
根据所述任务耗时和所述目标时长,确定所述视频编辑任务的任务进度,所述任务耗时包括所述视频编辑任务的处理耗时和所述视频编辑任务完成后,所述任务结果的接收耗时。
根据本公开一个或多个实施例,所述发送模块1002具体用于:
获取所述视频编辑任务的耦合关系;
根据所述耦合关系,确定所述视频编辑任务的触发时刻;
根据所述触发时刻,向所述服务器发送所述任务信息。
本公开实施例提供的视频编辑装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图11为本公开实施例提供的一种终端设备的结构示意图。请参见图11,其示出了适于用来实现本公开实施例的终端设备1100的结构示意图。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图11示出的终端设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,终端设备1100可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(Read Only Memory,简称ROM)1102中的程序或者从存储装置1108加载到随机访问存储器(Random Access Memory,简称RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有终端设备1100操作所需的各种程序和数据。处理装置1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
通常,以下装置可以连接至I/O接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(Liquid Crystal Display,简称LCD)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许终端设备1100与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的终端设备1100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从ROM 1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述终端设备中所包含的;也可以是单独存在,而未装配入该终端设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备执行上述实施例所示的方法。
本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上实施例各种可能涉及的方法。
本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上实施例各种可能涉及的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。数据可以包括信息、参数和消息等,如切流指示信息。
第一方面,本公开实施例提供一种视频编辑方法,该视频编辑方法包括:
获取视频编辑任务的任务信息,所述视频编辑任务为处理时长大于或等于预设时长的后台任务,所述任务信息用于处理所述视频编辑任务;
向服务器发送所述任务信息,并接收所述服务器发送的第一时长,所述第一时长为所述服务器预测的所述视频编辑任务的完成耗时;
获取所述视频编辑任务的发起时刻和当前时刻;
根据所述发起时刻、所述当前时刻和所述第一时长,确定所述视频编辑任务的任务进度,并显示所述任务进度。
根据本公开一个或多个实施例,显示所述任务进度,包括:
获取视频编辑应用的运行状态;
在所述运行状态为前台运行时,在视频编辑草稿的编辑器中显示所述任务进度,所述视频编辑草稿为所述视频编辑任务对应的视频编辑草稿。
根据本公开一个或多个实施例,在视频编辑草稿的编辑器中显示所述任务进度时,所述方法还包括:
获取视频编辑操作;
在所述视频编辑草稿的编辑器中执行所述视频编辑操作。
根据本公开一个或多个实施例,在视频编辑草稿的编辑器中显示所述任务进度时,所述方法还包括:
关闭所述视频编辑草稿的编辑器;
在所述视频编辑应用的草稿箱中显示所述任务进度,所述草稿箱包括所述视频编辑草稿。
根据本公开一个或多个实施例,显示所述任务进度时,所述方法还包括:
获取所述视频编辑任务的任务状态,并显示所述任务状态。
根据本公开一个或多个实施例,所述方法还包括:
在视频编辑应用为后台运行或者关闭时,显示推送消息,所述推送消息用于指示所述任务状态发生变更。
根据本公开一个或多个实施例,所述方法还包括:
在所述视频编辑应用重新启动时,根据如下至少一种方式,重新获取所述视频编辑任务的任务状态:
重新初始化任务管理器,并重新对所述视频编辑任务的任务状态进行监听;
通过轮询机制,向所述服务器请求所述视频编辑任务当前的任务状态;
建立长链接,接收所述服务器发送的所述视频编辑任务的任务状态变更的消息。
根据本公开一个或多个实施例,根据所述发起时刻、所述当前时刻和所述第一时长,确定所述视频编辑任务的任务进度,包括:
根据所述发起时刻和所述当前时刻,确定第二时长;
根据所述第一时长和所述第二时长,确定所述视频编辑任务的任务进度,所述第一时长包括所述视频编辑任务的处理时长和所述视频编辑任务完成后的下载时长。
根据本公开一个或多个实施例,所述视频编辑任务为异步任务;向服务器发送所述处理信息,包括:
获取所述视频编辑任务的耦合关系;
根据所述耦合关系,确定所述视频编辑任务的触发时刻;
根据所述触发时刻,向所述服务器发送所述处理信息。
第二方面,本公开提供一种视频编辑装置,该视频编辑装置包括第一获取模块、发送模块、接收模块、第二获取模块、确定模块和显示模块,其中:
所述第一获取模块用于,获取视频编辑任务的任务信息,所述视频编辑任务为处理时长大于或等于预设时长的后台任务,所述任务信息用于处理所述视频编辑任务;
所述发送模块用于,向服务器发送所述任务信息;
所述接收模块用于,接收所述服务器发送的第一时长,所述第一时长为所述服务器预测的所述视频编辑任务的完成耗时;
所述第二获取模块用于,获取所述视频编辑任务的发起时刻和当前时刻;
所述确定模块用于,根据所述发起时刻、所述当前时刻和所述第一时长,确定所述视频编辑任务的任务进度;
所述显示模块用于,显示所述任务进度。
根据本公开一个或多个实施例,所述显示模块具体用于:
获取视频编辑应用的运行状态;
在所述运行状态为前台运行时,在视频编辑草稿的编辑器中显示所述任务进度,所述视频编辑草稿为所述视频编辑任务对应的视频编辑草稿。
根据本公开一个或多个实施例,所述显示模块还用于:
获取视频编辑操作;
在所述视频编辑草稿的编辑器中执行所述视频编辑操作。
根据本公开一个或多个实施例,所述显示模块还用于:
关闭所述视频编辑草稿的编辑器;
在所述视频编辑应用的草稿箱中显示所述任务进度,所述草稿箱包括所述视频编辑草稿。
根据本公开一个或多个实施例,所述显示模块还用于:
获取所述视频编辑任务的任务状态,并显示所述任务状态。
根据本公开一个或多个实施例,所述显示模块还用于:
在视频编辑应用为后台运行或者关闭时,显示推送消息,所述推送消息用于指示所述任务状态发生变更。
根据本公开一个或多个实施例,所述显示模块还用于:
在所述视频编辑应用重新启动时,根据如下至少一种方式,重新获取所述视频编辑任务的任务状态:
重新初始化任务管理器,并重新对所述视频编辑任务的任务状态进行监听;
通过轮询机制,向所述服务器请求所述视频编辑任务当前的任务状态;
建立长链接,接收所述服务器发送的所述视频编辑任务的任务状态变更的消息。
根据本公开一个或多个实施例,所述确定模块具体用于:
根据所述发起时刻和所述当前时刻,确定第二时长;
根据所述第一时长和所述第二时长,确定所述视频编辑任务的任务进度,所述第一时长包括所述视频编辑任务的处理时长和所述视频编辑任务完成后的下载时长。
根据本公开一个或多个实施例,所述发送模块具体用于:
获取所述视频编辑任务的耦合关系;
根据所述耦合关系,确定所述视频编辑任务的触发时刻;
根据所述触发时刻,向所述服务器发送所述处理信息。
第三方面,本公开实施例提供一种终端设备包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能涉及的所述视频编辑方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能涉及的所述视频编辑方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (13)
- 一种视频编辑方法,包括:响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;根据所述任务耗时,确定所述视频编辑任务的任务进度,并显示所述任务进度;接收所述服务器发送的所述视频编辑任务的任务结果,并根据所述任务结果更新所述视频草稿。
- 根据权利要求1所述的方法,其中,显示所述任务进度,包括:获取视频编辑应用的运行状态;在所述运行状态为前台运行时,在所述视频草稿的编辑器中显示所述任务进度。
- 根据权利要求2所述的方法,其中,在视频草稿的编辑器中显示所述任务进度时,所述方法还包括:获取视频编辑操作;在所述视频草稿的编辑器中执行所述视频编辑操作。
- 根据权利要求2所述的方法,其中,在视频草稿的编辑器中显示所述任务进度时,所述方法还包括:关闭所述视频草稿的编辑器;在所述视频编辑应用的草稿箱中显示所述任务进度,所述草稿箱包括所述视频草稿。
- 根据权利要求1-4任一项所述的方法,其中,根据所述任务结果更新所述视频草稿,包括:在所述任务结果中,确定所述视频编辑任务相关的多媒体资源的链接;根据所述多媒体资源的链接,获取所述多媒体资源,并根据所述多媒体资源,更新所述视频草稿。
- 根据权利要求5所述的方法,还包括:在所述任务结果中获取任务状态;显示所述任务状态。
- 根据权利要求6所述的方法,还包括:在视频编辑应用为后台运行或者关闭时,显示推送消息,所述推送消息用于指示所述任务状态发生变更。
- 根据权利要求6所述的方法,还包括:在所述视频编辑应用重新启动时,根据如下至少一种方式,重新获取所述任务状态:重新初始化任务管理器,并重新对所述任务状态进行监听;通过轮询机制,向所述服务器请求当前的任务状态;建立长链接,接收所述服务器发送的所述任务状态变更的消息。
- 根据权利要求1-4任一项所述的方法,其中,根据所述任务耗时,确定所述视频编辑任务的任务进度,包括:获取当前时刻和所述视频编辑任务的发起时刻,并确定所述当前时刻和所述发起时刻之间的目标时长;根据所述任务耗时和所述目标时长,确定所述视频编辑任务的任务进度,所述任务耗时包括所述视频编辑任务的处理耗时和所述视频编辑任务完成后,所述任务结果的接收耗时。
- 根据权利要求1-4任一项所述的方法,其中,所述视频编辑任务为异步任务;向服务器发送所述任务信息,包括:获取所述视频编辑任务的耦合关系;根据所述耦合关系,确定所述视频编辑任务的触发时刻;根据所述触发时刻,向所述服务器发送所述任务信息。
- 一种视频编辑装置,包括响应模块、发送模块、接收模块、确定模块、显示模块和更新模块,其中:所述响应模块用于,响应于针对视频草稿的编辑操作,创建所述视频草稿的视频编辑任务;所述视频编辑任务为后台任务;所述发送模块用于,向服务器发送所述视频编辑任务的任务信息,所述任务信息用于指示所述服务器执行所述视频编辑任务;所述接收模块用于,接收所述服务器发送的任务耗时,所述任务耗时为所述服务器完成所述视频编辑任务需要的耗时估计;所述确定模块用于,根据所述任务耗时,确定所述视频编辑任务的任务进度;所述显示模块用于,显示所述任务进度;所述接收模块还用于,接收所述服务器发送的所述视频编辑任务的任务结果;所述更新模块用于,根据所述任务结果更新所述视频草稿。
- 一种终端设备,包括:处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-10任一项所述的视频编辑方法。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-10任一项所述的视频编辑方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410876441.1 | 2024-07-01 | ||
| CN202410876441.1A CN121284292A (zh) | 2024-07-01 | 2024-07-01 | 视频编辑方法、装置及终端设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026007906A1 true WO2026007906A1 (zh) | 2026-01-08 |
Family
ID=98239146
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/105721 Pending WO2026007906A1 (zh) | 2024-07-01 | 2025-06-30 | 视频编辑方法、装置及终端设备 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN121284292A (zh) |
| WO (1) | WO2026007906A1 (zh) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000054825A (ko) * | 2000-06-27 | 2000-09-05 | 이성환 | 티씨피/아이피 네트워크 상에서의 디지털 비디오편집시스템 및 그 제어방법 |
| CN104424242A (zh) * | 2013-08-27 | 2015-03-18 | 北大方正集团有限公司 | 多媒体文件处理方法及系统 |
| CN115250372A (zh) * | 2021-04-27 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及计算机可读存储介质 |
| CN116166398A (zh) * | 2022-12-20 | 2023-05-26 | 五八同城信息技术有限公司 | 音视频编辑方法、装置、电子设备及存储介质 |
| CN116980718A (zh) * | 2023-03-20 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种视频的剧情改编方法、装置、电子设备和存储介质 |
| WO2023241283A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京字跳网络技术有限公司 | 用于视频编辑的方法及设备 |
| CN117336554A (zh) * | 2023-10-17 | 2024-01-02 | 中国平安人寿保险股份有限公司 | 一种视频剪辑方法、装置、设备及存储介质 |
-
2024
- 2024-07-01 CN CN202410876441.1A patent/CN121284292A/zh active Pending
-
2025
- 2025-06-30 WO PCT/CN2025/105721 patent/WO2026007906A1/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000054825A (ko) * | 2000-06-27 | 2000-09-05 | 이성환 | 티씨피/아이피 네트워크 상에서의 디지털 비디오편집시스템 및 그 제어방법 |
| CN104424242A (zh) * | 2013-08-27 | 2015-03-18 | 北大方正集团有限公司 | 多媒体文件处理方法及系统 |
| CN115250372A (zh) * | 2021-04-27 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及计算机可读存储介质 |
| WO2023241283A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京字跳网络技术有限公司 | 用于视频编辑的方法及设备 |
| CN116166398A (zh) * | 2022-12-20 | 2023-05-26 | 五八同城信息技术有限公司 | 音视频编辑方法、装置、电子设备及存储介质 |
| CN116980718A (zh) * | 2023-03-20 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种视频的剧情改编方法、装置、电子设备和存储介质 |
| CN117336554A (zh) * | 2023-10-17 | 2024-01-02 | 中国平安人寿保险股份有限公司 | 一种视频剪辑方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121284292A (zh) | 2026-01-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230107220A1 (en) | Video processing method and apparatus, electronic device, and computer readable storage medium | |
| US8689115B2 (en) | Method and system for distributed computing interface | |
| JP6971292B2 (ja) | 段落と映像を整列させるための方法、装置、サーバー、コンピュータ可読記憶媒体およびコンピュータプログラム | |
| CN115062168B (zh) | 媒体内容展示方法、装置、设备及存储介质 | |
| CN115484489B (zh) | 资源处理方法、装置、电子设备、存储介质及程序产品 | |
| US12027183B2 (en) | Video processing method and apparatus, and electronic device and storage medium | |
| CN113542902B (zh) | 一种视频处理方法、装置、电子设备和存储介质 | |
| AU2024323124A1 (en) | Method and apparatus for generating media content, and electronic device and storage medium | |
| US20240305836A1 (en) | Methods, apparatus, electronic device and storage medium for cloud rendering of a live stream gift | |
| WO2024037491A1 (zh) | 媒体内容处理方法、装置、设备及存储介质 | |
| CN117596452A (zh) | 视频生成方法、装置、介质及电子设备 | |
| JP2020004379A (ja) | 情報をリリースするための方法と装置、ならびに情報を処理するための方法と装置 | |
| CN110489193A (zh) | 智能设备的界面控制方法、装置和存储介质 | |
| WO2024002162A1 (zh) | 直播间互动方法、装置、设备及介质 | |
| WO2023169356A1 (zh) | 图像处理方法、装置、设备及存储介质 | |
| AU2024320916A1 (en) | Special effect generation method and apparatus, and electronic device and storage medium | |
| WO2026051773A1 (zh) | 表情内容处理方法、装置、设备、可读存储介质及产品 | |
| CN112422614A (zh) | 用于设备交互的方法、装置和介质 | |
| JP2025500042A (ja) | 仮想リソース転送方法、装置、機器、可読記憶媒体及び製品 | |
| WO2025156864A1 (zh) | 媒体内容生成方法、装置、介质及电子设备 | |
| WO2026007906A1 (zh) | 视频编辑方法、装置及终端设备 | |
| CN117753018A (zh) | 虚拟资源交换方法、装置、设备、可读存储介质及产品 | |
| CN109640023B (zh) | 一种视频录制方法、装置、服务器及存储介质 | |
| CN118368494A (zh) | 多媒体资源分享方法、装置、介质、电子设备及程序产品 | |
| CN113891135B (zh) | 一种多媒体数据播放方法、装置、电子设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25832403 Country of ref document: EP Kind code of ref document: A1 |