Online video editing methods, apparatus, electronic devices, and storage media
By streaming and editing partial video clips from the cloud, the method addresses the inefficiency of local download requirements in video editing, improving editing speed and smoothness.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2023-12-08
- Publication Date
- 2026-05-15
AI Technical Summary
Existing video editing applications require downloading the complete online video locally before editing, leading to long waiting times and reduced efficiency and smoothness.
Implementing a method where the cloud slices and sends video clips, allowing editing commands to be executed on partial video clips, displaying video frame images in the preview area, and streaming video clips for editing, eliminating the need for complete local download.
This approach reduces waiting times and improves the efficiency and smoothness of video editing by enabling editing on partial video clips, enhancing user experience.
Smart Images

Figure 0007860276000001 
Figure 0007860276000002 
Figure 0007860276000003
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This application claims priority from a Chinese patent application for invention with the title "Online Video Editing Method, Apparatus, Electronic Device, and Storage Medium", application number 202211713297.7, filed on December 29, 2022, and the entire content of this application is incorporated herein by reference.
[0002] [Technical Field] Embodiments of the present disclosure relate to the field of Internet technology, and in particular, to online video editing methods, apparatuses, electronic devices, and storage media.
Background Art
[0003] During the process of using video playback and video editing applications (APPs), users have a need to perform secondary editing on online videos of interest. In the prior art, such applications provide corresponding video editing interfaces to users, and users can edit online videos through the video editing interfaces.
[0004] However, in the prior art, before editing an online video through a terminal device, the terminal device needs to download the complete online video locally and then edit it. Therefore, the waiting time until video editing becomes long, and the efficiency and smoothness of video editing decrease.
Summary of the Invention
[0005] Embodiments of the present disclosure provide an online video editing method, apparatus, electronic device, and storage medium to overcome the problem of long waiting time existing before video editing.
[0006] In a first aspect, embodiments of the present disclosure are In response to importing an initial video into a video editing task, the cloud receives a video clip that slices and sends the initial video, and the video clip contains at least one video frame of the initial video. If not all video clips of the initial video have been received, the system responds to a first editing command in which the initial video is placed on the video editing track of the video editing interface by displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area. If not all video clips of the initial video have been received, in response to a second editing command for a video track clip corresponding to the initial video, the identifier of the second editing command is displayed on the editing track and the target video frame image is displayed in the video preview area, the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command on the video frame images of the received video clips from the initial video. It provides online video editing methods, including [mention specific methods here].
[0007] In a second embodiment, the embodiments of the present disclosure are as follows: In response to importing an initial video into a video editing task, the cloud slices and sends video clips from the initial video, and the acquisition module includes a video clip containing at least one video frame of the initial video. If not all of the video clips of the initial video have been received, a display module for displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area, in response to a first editing command in which the initial video is placed on the video editing track of the video editing interface, An editing module for displaying an identifier of a second editing command on the editing track and a target video frame image in the video preview area in response to a second editing command on a video track clip corresponding to the initial video when not all video clips of the initial video have been received, wherein the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command by displaying the video frame images of the received video clips from the initial video, We provide online video editing equipment, including [specific features / tools].
[0008] In a third embodiment, the embodiments of the present disclosure are as follows: A system including a processor and a memory connected to the processor in a communicative manner, The aforementioned memory stores computer execution instructions, The processor provides an electronic device that implements the online video editing method described in the first embodiment and various possible designs of the first embodiment by executing computer execution instructions stored in the memory.
[0009] In a fourth embodiment, embodiments of the present disclosure provide a computer-readable storage medium on which computer execution instructions are stored, and which enables the online video editing method described in the first embodiment and various possible designs thereof when a processor executes the computer execution instructions.
[0010] In a fifth embodiment, embodiments of the present disclosure include a computer program product that, when executed by a processor, implements the online video editing methods described in the first embodiment and various possible designs of the first embodiment as described above.
[0011] The online video editing method, apparatus, electronic device, and storage medium provided in this embodiment receive video clips that the cloud slices and transmits in response to importing an initial video into a video editing task, and each video clip includes at least one video frame of the initial video. If not all of the video clips of the initial video have been received, the system responds to a first editing command that places the initial video on a video editing track of a video editing interface by displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area. If not all of the video clips of the initial video have been received, the system responds to a second editing command for the video track clip corresponding to the initial video by displaying an identifier for the second editing command on the editing track and displaying a target video frame image in the video preview area, the second editing command being for editing the initial video. The target video frame image is intended to show the editing result of the second editing command on the video frame images of the received video clips from the initial video. The method provided in this embodiment involves the cloud slicing the initial video, receiving the transmitted video clips, streaming the video clips, and then streaming-editing the video clips according to editing commands. This achieves the slicing and slicing of the initial video, eliminating the need to download the complete initial video locally before editing. Therefore, it avoids long waiting times for downloads before video editing, improving the efficiency and smoothness of video editing. [Brief explanation of the drawing]
[0012] To more clearly illustrate the embodiments of this disclosure or the technical concepts in the prior art, the following briefly introduces the accompanying drawings that may be used in the descriptions of the embodiments or the prior art. However, as will be apparent, the accompanying drawings in the following descriptions are part of the embodiments of this disclosure, and a person skilled in the art can obtain other accompanying drawings based on these drawings without any creative effort. [Figure 1] This is a diagram illustrating the application of the online video editing method provided in the embodiments of this disclosure. [Figure 2] This is flowchart I of the online video editing method provided in the embodiments of this disclosure. [Figure 3] This is a schematic diagram of the process for acquiring the video clips provided in the embodiments of this disclosure. [Figure 4] Figure 2 is a flowchart showing the specific implementation method of step S101 in the embodiment. [Figure 5] Figure 2 is a flowchart showing the specific implementation method of step S102 in the embodiment. [Figure 6] This is a schematic diagram of the video editing interface provided in the embodiments of this disclosure. [Figure 7] This is flowchart II of the online video editing method provided in the embodiments of this disclosure. [Figure 8] This is a schematic diagram of the video jump playback provided in the embodiments of this disclosure. [Figure 9] This is a schematic diagram of a video frame awaiting processing, as provided in the embodiments of this disclosure. [Figure 10] This is a schematic diagram of another pending video frame provided in the embodiments of this disclosure. [Figure 11] This is a block diagram of the configuration of an online video editing device provided in the embodiments of this disclosure. [Figure 12] This is a schematic diagram of the configuration of an electronic device provided in the embodiments of this disclosure. [Figure 13] This is a schematic diagram of the hardware configuration of the electronic device provided in the embodiments of this disclosure.
Best Mode for Carrying Out the Invention
[0013] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in light of the drawings in the embodiments of the present disclosure. As is clear, the described embodiments are part of the embodiments of the present disclosure, not all of them. Based on the embodiments of the present disclosure, all other embodiments obtained without creative efforts by those skilled in the art shall fall within the protection scope of the present disclosure.
[0014] Note that all 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.) related to this application are information and data approved by the user or fully approved by all relevant parties. The collection, use, and processing of related data need to comply with the relevant laws, regulations, and standards of the relevant countries and regions. In addition, an operation portal is provided to enable the user to select approval or rejection.
[0015] The application scenarios of the embodiments of the present disclosure will be described below.
[0016] Figure 1 is a diagram illustrating an application scenario of the online video editing method provided in the embodiments of this disclosure, and the method provided in the embodiments of this disclosure can be applied to various online video editing application scenarios. Specifically, as shown in Figure 1, the method provided in the embodiments of this disclosure can be applied to a terminal device, which communicates with the cloud (shown as a cloud server in the figure), runs a short video application client within the terminal device, has a video playback interface within the short video client, the terminal device retrieves video data sent from the cloud and plays it within the video playback interface, and when a user views a video of interest, they can jump to the video editing interface by triggering a video transfer or video editing component (shown as clicking a video processing component in the figure), and then use the video editing tools provided in the video editing interface to edit the currently playing video, for example by adding video effects, adding filters, etc., thereby generating an edited target video and achieving the objective of secondary editing the online video. Subsequently, the target video generated in the above process can be further stored and transferred according to specific needs.
[0017] In the aforementioned online video editing applications, conventional technology requires the terminal device to first download the complete online video locally before editing it via the terminal device. For example, the short video shown in Figure 1 must be downloaded entirely locally, then loaded from the local device into the video editing function unit within the short video client, and only then can the video be edited. This results in a long waiting time before video editing, reducing the efficiency and smoothness of the video editing process.
[0018] Embodiments of this disclosure provide an online video editing method for solving the problems described above.
[0019] Please refer to Figure 2, which is a flowchart I of an online video editing method provided in an embodiment of the present disclosure. The method of this embodiment is applicable to a terminal device, and the online video editing method includes the following:
[0020] Step S101: In response to importing the initial video into the video editing task, the cloud receives video clips that have been sliced and sent from the initial video, and each video clip contains at least one video frame from the initial video.
[0021] For illustrative purposes, please refer to the schematic diagram of the application scenario shown in Figure 1. The implementer of the method provided in this embodiment is a terminal device, which runs a video playback client such as a short video client. Upon receiving an editing operation from the user, the terminal device determines an initial video corresponding to the selection and editing, for example, by determining the video identifier of the initial video, and then, based on the video identifier, retrieves a video clip corresponding to the initial video from a cloud that stores the initial video, the video clip containing at least one video frame of the initial video. The terminal device then plays the video clip on the video editing page. Here, a video clip, also called a video slice, is a video data packet, and exemplary, a video data packet corresponding to a video clip includes a progress identifier to characterize the video playback position and corresponding video frame data. After receiving the video data packet, the terminal device can perform independent decoding and playback based on the video data packet. The video clips in the initial video may be pre-divided. For example, the initial video may be divided according to a predetermined video data packet size, and further divided according to a predetermined number of video data packets, thereby obtaining several video data packets, i.e., video clips.
[0022] Figure 3 is a schematic diagram of the process for acquiring video clips provided in the embodiments of this disclosure. As shown in Figure 3, the terminal device sends a video request to a cloud server corresponding to the cloud, and the cloud server then sends at least one video clip of the corresponding original video to the terminal device in streaming transmission mode based on the video request. After receiving the video clips, the terminal device plays each video clip sequentially according to the playback timestamp corresponding to the video clip, and realizes a video preview function on the editing page.
[0023] Furthermore, when the terminal device loads the initial video for the first time, the video editing page defaults to either playing the initial video from the first frame or statically displaying the first frame of the initial video. In this case, the video clip of the initial video retrieved by the terminal device from the cloud is the first video clip of the initial video. On the other hand, if the terminal device is not loading the initial video for the first time, for example, if all or part of the initial video has been downloaded previously, the corresponding video clip is retrieved based on the download progress.
[0024] In one possible implementation method, as shown in Figure 4, the specific implementation method of step S101 includes the following:
[0025] Step S1011: Obtain download information corresponding to the initial video, and the download information will characterize the current download progress of the initial video.
[0026] Step S1012: Determine the video clip identifier based on the download information.
[0027] Step S1013: Send a download request to the cloud based on the clip identifier, thereby retrieving the target video clip corresponding to the clip identifier.
[0028] For example, in response to an editing command for an initial video, after entering the video editing interface, the terminal device obtains download information that characterizes the current download progress of the initial video. Specifically, the download information may be a specific download ratio value or a video clip identifier corresponding to a video clip. If the download information is a download ratio value, for example 0.3, then the download ratio of the initial video is characterized as 30%. In this case, a conversion is performed based on the download ratio value and the progress identifiers corresponding to the video clips that have been pre-divided in the initial video, thereby obtaining the corresponding video clip identifier. Furthermore, after determining the video clip identifier, a corresponding download request is sent to the cloud based on the video clip identifier, thereby obtaining the corresponding target video clip.
[0029] Herein, in one possible implementation, the specific implementation of step S1011 includes the following:
[0030] Step S1011A: Load cache data corresponding to the initial video.
[0031] Step S1011B: Generate download information corresponding to the initial video based on the amount of cache data loaded.
[0032] For example, in response to an editing command for an initial video, the terminal device enters the video editing interface and first searches locally based on the identifier of the initial video to obtain the storage address of the corresponding cache data, where the cache data includes video data packets corresponding to one or more video clips, and these video data packets are stored locally in the terminal device in a predetermined data format. Specifically, the cache data may be stored on the terminal device's local hard disk. Subsequently, the cache data is loaded into memory, and the corresponding download progress, i.e., download information, is determined based on the amount of cache data loaded. Specifically, for example, after loading all the cache data at the storage address, the corresponding download progress, i.e., download information, is determined based on the ratio of the amount of cache data loaded to the total data amount of the initial video.
[0033] In this embodiment, during the process of receiving video clips that the cloud has sliced and sent from the initial video, download information corresponding to the initial video is obtained, and based on the download information, a target video clip corresponding to the current download progress is determined, and subsequent streaming downloads are performed based on the target video clip, thereby realizing the function of continuous breakpoint transmission. When the same initial video is loaded multiple times, it is not necessary to repeatedly download the initial video, and the loading efficiency of the initial video is improved.
[0034] Furthermore, after acquiring the video clip, the video clip is played in the video editing interface. In one possible implementation, as shown in Figure 5, the specific implementation of step S102 includes the following:
[0035] Step S1021: Obtain the playback progress corresponding to the video clip and the download progress corresponding to the initial video.
[0036] Step S1022: If the difference between the download progress and the playback progress is greater than a predetermined time, play the video frame images of the video clip.
[0037] For example, the corresponding playback progress of a video clip can be determined by the video clip's progress identifier. The corresponding download progress of the initial video can be obtained by the amount of cached data loaded; however, this will not be repeated here as it can be specifically described in the relevant section of the previous example. For example, the playback progress and download progress are converted to the same time coordinate system; for instance, the playback progress and download progress are converted to a unified playback timestamp for the initial video. Then, the difference between the download progress and the playback progress is calculated. If the difference is less than a predetermined time length—for example, if the predetermined time length is 3 seconds—it means that the download progress is slightly ahead of the playback progress. In this case, if network fluctuations occur afterward, the playback progress may catch up to the download progress, potentially resulting in video playback lag and affecting the video playback effect. On the other hand, if the difference between the download progress and the playback progress is greater than a predetermined time, it means that the download progress is significantly ahead of the playback progress. In this case, even if network fluctuations occur afterward, it can be guaranteed that the playback progress will not be able to catch up with the download progress, thereby avoiding video playback lag and improving the smoothness and playback effect of the video. Therefore, in the steps of this embodiment, if it is determined that the difference between the download progress and the playback progress is greater than a predetermined time, the video frame images of the video clip are played. However, if it is determined that the difference between the download progress and the playback progress is smaller than a predetermined time, the playback of the video clip may be paused and a prompt displayed. This avoids unreasonable lag during the video playback process, which would affect the smoothness of the video preview, and improves the user experience.
[0038] Step S102: If not all video clips of the initial video have been received, in response to a first editing command that places the initial video on the video editing track of the video editing interface, the video track clip corresponding to the initial video is displayed on the video editing track, and the video frame images of the video clips of the initial video that have been received are displayed in the video preview area.
[0039] In conventional technology, after receiving video clips sent from the cloud, subsequent video editing steps can only be executed after all video clips of the initial video have been received. In this embodiment, if not all video clips of the initial video have been received, in response to a first editing command in which the initial video is placed on the video editing track of the video editing interface, on the one hand, a video track clip corresponding to the initial video is displayed on the video editing track, and on the other hand, video frame images of the received video clips are displayed in the video preview area. Here, the video editing track is a component in the video editing interface that represents the content of the video playback and allows the video to be edited frame by frame. Similarly, the video editing interface also has an audio editing track, a video effects track, etc., and the audio editing track and video preview area are common settings in video editing software, so they will not be repeated here. Here, the image displayed on the video editing track is a video track clip, which contains images of multiple frames and is usually displayed in the form of microfilm. The user can select an image of one of these frames by operating the video marking track and display it in the video preview area.
[0040] Step S103: If not all video clips of the initial video have been received, in response to a second editing command for the video track clip corresponding to the initial video, the identifier of the second editing command is displayed on the editing track and the target video frame image is displayed in the video preview area, the second editing command is for editing the initial video. The target video frame image is intended to show the video frame images of the received video clips from the initial video as the result of editing by the second editing command.
[0041] For example, a video editing interface may represent a video track clip on its video editing track, and simultaneously play the video clip in the video preview area. At the same time, the terminal device can receive a second editing command for the video track clip input by the user, thereby editing the initial video and obtaining a target video frame image, such as adding a mapping effect or a filter effect. The identifier of the second editing command is then displayed on the editing track. In one possible implementation, the identifier of the second editing command may be a track such as an effects track parallel to the video editing track clip, or it may be a marker appearing on the video track clip to indicate splitting or video shifting.
[0042] Here, since the initial video consists of multiple video clips, an editing command for a video clip is equivalent to an editing command for the initial video, and specifically includes, for example, adding a video filter to a video clip or adding a video effect to a video clip. Furthermore, in response to an editing command in the video editing interface, corresponding video editing parameters are generated, and these video editing parameters indicate the content to be edited and the video frames to which the corresponding effect will be applied. For example, editing command #1 is for adding filter A to all video frames in the initial video, and editing command #2 is for adding effect mapping B to the first to the Nth video frame in the initial video. Subsequently, in response to an editing command for a video clip, after editing the video clip, a target video is obtained, which is a preview video for displaying the editing result corresponding to the video clip.
[0043] Here, the target video may overwrite the video clip in the video editing interface or it may be displayed independently in the video editing interface. Figure 6 is a schematic diagram of the video editing interface provided in an embodiment of the present disclosure, and as shown in Figure 6, the video editing interface includes a first playback component and a second playback component, the first playback component for playing the video frame images of the video clip, and the second playback component for playing the target video frame images, please refer to Figure 6. In response to an editing command, clicking the "Filter" control adds a filter to the video clip, retrieves the target video, and plays the video clip and the corresponding target video in sync by the first and second playback components based on a unified timestamp. This achieves the purpose of comparative display, displays the editing results intuitively, and allows the user to better observe the effect of editing the initial video based on the target video.
[0044] In this embodiment, the cloud receives video clips that have been sliced and sent from the initial video, and each video clip contains at least one video frame from the initial video. The video clip is played in the video editing interface. The target video frame image is displayed in the video preview area, and editing commands are for editing the video clip. The target video displays the editing result corresponding to the video clip. When downloading video material to perform editing, the method provided in this embodiment receives video clips that have been sliced and sent from the initial video by the cloud, stream loads the video clips, and then stream edits the video clips according to the editing commands, thereby achieving slice loading and slice editing of the initial video, eliminating the need to download the complete initial video locally before editing, thus avoiding long waiting times for downloads before video editing and improving the efficiency and smoothness of video editing.
[0045] Please refer to Figure 7, which is a flowchart II of the online video editing method provided in the embodiment of this disclosure. This embodiment is based on the embodiment shown in Figure 2, further subdivides the scheme, and adds a processing scheme for jump playback within the video editing page. The online video editing method provided in this embodiment includes the following: Step S201: Obtain reference information from the initial video, and the reference information characterizes the slicing rules of the initial video.
[0046] Step S202: If not all video clips of the initial video have been received, send a first download request to the cloud based on the reference information to retrieve the initial video clips.
[0047] Step S203: In response to a first editing command in which the initial video is placed on the video editing track of the video editing interface, the video track clip corresponding to the initial video is displayed on the video editing track, and the video frame images of the received video clips from the initial video are displayed in the video preview area.
[0048] For example, the reference information for the initial video is information that characterizes the slicing rules for the initial video. This reference information may be pre-stored in the cloud or locally on the terminal device. More specifically, the slicing rules can be, for example, slicing according to the size of the video clip, slicing according to the length of the video clip, or slicing according to the number of video clips. These can be set as needed, so we will not repeat them here. When the initial video is loaded for the first time, the cloud slices the initial video based on this reference information, thereby enabling the streaming loading of subsequent video slices. The specific implementation of slicing video based on the slicing rules is prior art, so we will not repeat it here.
[0049] Specifically, in this embodiment, after the terminal device receives an editing command for the initial video for the first time, it acquires reference information and sends a first download request to the cloud based on the reference information. The cloud slices the initial video based on the reference information and sends the initial video clip (i.e., the first video clip of the initial video) to the terminal device. Upon receiving the initial video clip, the terminal device performs static display (display of the first frame) or dynamic playback of the initial video clip. In this embodiment, by providing reference information, the granularity of the video clip slices is established, so that different initial videos have corresponding division methods in different application scenarios, improving the flexibility of video slicing.
[0050] Step S204: If not all video clips of the initial video have been received, in response to a video jump command, the corresponding video jump position is determined, and based on the video jump position, the corresponding video clip identifier is determined.
[0051] Step S205: Based on the reference information and video clip identifier, generate a second download request and send it to the cloud.
[0052] Exemplary, in one possible case, the terminal device receives a jump playback operation entered by the user, such as dragging a video editing track or clicking a progress position on a video editing track. Figure 8 is a schematic diagram of video jump playback provided in an embodiment of the present disclosure, and as shown in Figure 8, when the terminal device receives a jump operation command, such as clicking a target position P1 on a video editing track, the terminal device directly jumps to playback (seeks) the video clip at the location of the target position P1. In the jump playback scene, a corresponding video clip identifier is determined based on the video jump position corresponding to the video jump command, where the video clip identifier is an identifier that characterizes the playback position or playback progress, and may be determined directly based on a control value of the jump playback control, specifically the percentage of video playback. Subsequently, a download request is generated based on the video slice rule characterized by the reference information and the video clip identifier, and the download request generated based on the video slice rule characterized by the reference information and the video clip identifier can uniquely determine a single video clip, and the download request is then sent to the cloud to obtain the jump video bandwidth which is the corresponding video clip.
[0053] Step S206: Determine the target memory location.
[0054] Step S207: Pause the download of other video clips, receive the jump video clip sent from the cloud, and store the jump video clip in the target storage location.
[0055] When a terminal device streams a video, it downloads each video clip sequentially based on the playback order of the initial video. Therefore, if a jump playback occurs, and the terminal device has not downloaded the video clip corresponding to the video jump position, playback will not be possible. One possible implementation is for the terminal device to sequentially download each video clip based on the download progress of the initial video until it has downloaded the jump video clip corresponding to the video jump position, and then play the jump video clip. However, this implementation method results in a certain (download) waiting time, causing a visual lag and affecting the smoothness of video playback.
[0056] In this embodiment, when a video jump playback situation occurs, the download of other video clips is first paused, and priority is given to downloading the jump video clip corresponding to the video jump position. The jump video clip is then acquired, and subsequently stored in a predetermined target storage location. In the following step, the video jump position is loaded from the target storage location and played back. The steps in this embodiment enable rapid playback of the video after a video jump operation, eliminating the need for extra (download) waiting time. This improves the smoothness of video playback.
[0057] The specific method for pausing the download of other video clips and prioritizing the download of the jump video clip can be achieved by changing the order of the download task queue and setting the download task corresponding to the jump video clip at the top of the download task queue, so the specific method for achieving this will not be repeated here.
[0058] Here, the target storage location further includes memory or a hard disk, and an exemplary specific implementation of step S206 includes the following:
[0059] Step S2061: Detect the available local memory.
[0060] Step S2062: Determine the target storage location based on the available memory capacity, and the target storage location includes either memory or a hard disk.
[0061] For example, when storing video clips, priority is given to loading downloaded video clips into memory because memory processes data quickly and efficiently. In this embodiment, the available local memory capacity of the terminal device is first detected. If the available memory capacity is greater than a predetermined threshold, the target storage location is determined to be memory, thereby providing efficient video clip processing. On the other hand, if the available memory capacity is less than a predetermined threshold, the target storage location is determined to be the hard disk, thereby ensuring memory capacity redundancy and providing system stability. For example, the data stored in the target storage location is cache data. Subsequently, by loading the cache data, the corresponding download information, i.e., the download progress of the initial video, can be determined, thereby enabling effects such as breakpoint downloads and dynamic caching.
[0062] Step S208: The second edit command entered by the user is received, and the second edit command includes target edit parameters.
[0063] Step S209: Retrieve the pending video frame from the jump video clip from the target memory location. The pending video frame is a video frame that is after the currently playing video frame in the jump video clip.
[0064] For example, target editing parameters are information that characterizes a particular editing action, such as the type of video editing, including adding filters, sticker effects, and skin beautification. Other examples include parameters corresponding to the editing action, such as the type of filter or the sticker identifier in a sticker effect. The target editing parameters in an editing command are user-inputted information and can be determined based on the specific interface of the function implementation; therefore, they will not be repeated here.
[0065] Furthermore, pending video frames within the jump video clip are loaded from the target storage location, and these pending video frames are video frames that are after the currently playing video frame of the jump video clip. Figure 9 is a schematic diagram of pending video frames provided in an embodiment of the present disclosure. As shown in Figure 9, a video clip (e.g., a jump video clip) contains multiple video frames, and the terminal device plays each video frame sequentially. At the time an edit command is received, the corresponding currently playing video frame (current frame) is, for example, frame P0. Then, from frame P1, which follows frame P0, to frame Pn, which is the final frame of the currently playing video clip, the frames are pending video frames. Figure 10 is a schematic diagram of another pending video frame provided in an embodiment of the present disclosure. As shown in Figure 10, in another possible implementation, the frames from frame Pm to frame Pn, the final frame of the currently playing video clip, can be pending video frames. Here, frames P1 to Pm-1 are pixel data that has not been played back but has been decoded and loaded into the playback queue. The content of the video editing is not displayed in frames P1 to Pm-1, thereby improving the smoothness of video playback.
[0066] Step S210: According to the target editing parameters, the pending video frames are sequentially edited based on the corresponding timestamps to generate the corresponding target video frame images.
[0067] Step S211: When the jump video clip is played up to the video frame awaiting processing, at least one target video frame is sequentially displayed in the video preview area of the video editing interface, and the identifier of the second editing command is displayed on the editing track.
[0068] Furthermore, as shown in Figure 10, the pending video frames are processed sequentially based on timestamps according to the target editing parameters. For example, a video filter is rendered and video mapping is performed on each pending video frame, thereby generating a target video frame corresponding to each pending video frame. When the jump video clip is played up to the pending video frame, for example, if the current frame shown in the figure is the Pm frame, the corresponding target video frame generated by editing the Pm frame is displayed in the video editing interface. Subsequently, if the current frame is the Pm+1 frame, the corresponding target video frame generated by editing the Pm+1 frame is displayed in the video editing interface, and the above process is repeated until the target video frame corresponding to the last frame Pn of the jump video clip has finished playing.
[0069] As an example, specific implementation methods for step S211 include the following:
[0070] Based on the timestamp of the video awaiting processing, the first playback component is called to sequentially play the video frames awaiting processing, and the second playback component is called to sequentially play the target video frames, both in a synchronized manner. As shown in the schematic diagram of the video editing interface in Figure 6, by using the first and second playback components to synchronize the playback of the video frames awaiting processing and the target video frames based on the timestamp of the video awaiting processing, a comparative display of the video frames awaiting processing and the target video frames is achieved, allowing the user to more intuitively check the editing effect and improving the efficiency of video editing.
[0071] Selectively, after step S209, the following are also included:
[0072] Step S212: After receiving the termination command, the video clip and corresponding editing information are serialized, interruption data is generated, and stored on the hard disk.
[0073] Step S213: Exit the video editing interface.
[0074] For example, during the process of editing an initial video, the video editing interface is terminated according to the user's specific needs. Specifically, after receiving a termination command, the terminal device closes the video editing interface in response to the command, and simultaneously serializes the video clips acquired in the previous step and the corresponding editing information to generate interruption data. Here, the video clips are data downloaded from the cloud and include video clips downloaded sequentially based on the playback order of the initial video and jump video clips downloaded in response to jump commands. The editing information is recorded information for the editing commands and is used to characterize the specific editing content of the initial video. The interruption data is then stored on the hard disk. Then, the video editing interface is terminated. Here, the step of generating and storing the interruption data and the step of terminating the video editing interface are not temporally related. That is, it is possible to generate and store the interruption data on the hard disk and then terminate the video editing interface, or to terminate the video editing interface and then generate and store the interruption data on the hard disk.
[0075] Step S214: After receiving an import command for the initial video, the interrupt data is deserialized and loaded into memory, and the video clip and corresponding editing information are obtained.
[0076] Step S215: Launch the video editing interface and generate the output video based on the video clip and corresponding editing information.
[0077] Furthermore, after the user exits the video editing interface, if the user loads the same initial video and enters the corresponding video editing interface, the terminal device can, for example, deserialize the previously generated interruption data and load it into memory to restore the video clip and its corresponding editing information. Then, it can launch the video editing interface and continue playing the corresponding video clip based on the video clip and its corresponding editing information. Alternatively, it can return to step S203, jump-play the initial video, continue editing the initial video, and finally generate the edited video, i.e., the output video.
[0078] In this embodiment, when the video editing interface is terminated, video clips and corresponding editing information are generated as interruption data. This allows the previously downloaded video clips and edited target video to be restored using the generated interruption data when the same initial video is re-downloaded. This achieves the objective of generating an editing script, eliminating the need to re-download or edit the initial video, and improving video editing efficiency.
[0079] Corresponding to the online video editing method of the embodiment described in the preamble, Figure 11 is a block diagram of the configuration of the online video editing apparatus provided in the embodiment of the present disclosure. For ease of explanation, only the parts relevant to the embodiment of the present disclosure are shown. Please refer to Figure 11, but the online video editing apparatus 3 includes the following:
[0080] Acquisition module 31: In response to importing an initial video into a video editing task, the cloud slices the initial video and receives the sent video clips, each video clip containing at least one video frame from the initial video.
[0081] Display module 32: If not all video clips of the initial video have been received, in response to a first editing command that places the initial video on the video editing track of the video editing interface, it displays a video track clip corresponding to the initial video on the video editing track and displays video frame images of the received video clips of the initial video in the video preview area.
[0082] Editing module 33: In cases where not all video clips of the initial video have been received, this module displays the identifier of the second editing command on the editing track and the target video frame image in the video preview area in response to a second editing command on a video track clip corresponding to the initial video, wherein the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command on the video frame images of the received video clips from the initial video.
[0083] In one embodiment of the present disclosure, when the acquisition module 31 receives video clips that the cloud has sliced and sent from the initial video, it specifically acquires download information corresponding to the initial video, and the download information is used to characterize the current download progress of the initial video, to determine a video clip identifier based on the download information, to send a download request to the cloud based on the video clip identifier, and to receive a target video clip corresponding to the video clip identifier sent to the cloud.
[0084] In one embodiment of the present disclosure, the acquisition module 31 is used, specifically, to load cache data corresponding to the initial video and to generate download information corresponding to the initial video in accordance with the amount of cache data loaded, when acquiring download information corresponding to the initial video.
[0085] In one embodiment of the present disclosure, the acquisition module 31 is used, specifically, to acquire reference information of the initial video when sending a download request to the cloud based on a video clip identifier, to characterize the slicing rules of the initial video, and to generate and send a download request to the cloud based on the reference information and the video clip identifier.
[0086] In one embodiment of the present disclosure, the acquisition module 31 is further used to detect local free memory, determine a target storage location based on the free memory, the target storage location including memory or a hard disk, and store a target video clip in the target storage location.
[0087] In one embodiment of the present disclosure, the second editing command includes a target editing parameter, and the editing module 33 is used to display a target video frame image in the video preview area, specifically to obtain a pending video frame in the video clip, where the pending video frame is a video frame after the currently playing video frame image in the video preview area, to sequentially edit the pending video frame based on the corresponding timestamp according to the target editing parameter, and to generate a corresponding target video frame image, and to sequentially display at least one target video frame in the video preview area of the video editing interface when the video clip is played up to the pending video frame.
[0088] In one embodiment of the present disclosure, the video editing interface includes a first playback component and a second playback component, the first playback component for playing video frame images of a video clip, and the second playback component for playing target video frame images. The editing module 33 is used to sequentially display at least one target video frame in the video preview area of the video editing interface, and specifically, to synchronously call the first playback component to sequentially play video frames awaiting processing based on the timestamp of the video awaiting processing, and to call the second playback component to sequentially play target video frame images.
[0089] In one embodiment of the present disclosure, the editing module 33 is further used to serialize video clips and corresponding editing information, generate interruption data and store it on the hard disk, and, after receiving an import command for the initial video, deserialize the interruption data and load it into memory and obtain video clips and corresponding editing information.
[0090] In one embodiment of the present disclosure, the video clip includes a jump video clip, and the acquisition module 31 is used specifically to determine a corresponding video jump position in response to a video jump command, to determine a corresponding jump video clip based on the video jump position, and to download the jump video clip from the cloud and to pause the reception of other video clips until the download of the jump video clip is complete.
[0091] In one embodiment of the present disclosure, the display module 33 is specifically used to obtain the playback progress corresponding to a video clip and the download progress corresponding to the initial video, and to play the video frame images of the video clip if the difference between the download progress and the playback progress is greater than a predetermined time length.
[0092] Here, the acquisition module 31, the display module 32, and the editing module 33 are connected in order. The online video editing device 3 provided in this embodiment can implement the technical proposal of the method embodiment described above, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0093] Figure 12 is a schematic diagram of the configuration of an electronic device provided in an embodiment of the present disclosure, and as shown in Figure 12, the electronic device 4 is It includes a processor 41 and a memory 42 that is communicatively connected to the processor 41, Memory 42 stores computer execution instructions. The processor 41 executes computer execution instructions stored in memory 42 to realize the online video editing method shown in the embodiments in Figures 2 to 10.
[0094] Here, the processor 41 and memory 42 are optionally connected via the bus 43.
[0095] The related explanations can be understood by referring to the related descriptions and effects corresponding to the steps in the embodiments shown in Figures 2 to 10, so they will not be repeated here.
[0096] The embodiments of this disclosure provide a computer-readable storage medium in which computer execution instructions are stored, and when executed by a processor, the computer execution instructions are for implementing an online video editing method provided in any of the embodiments corresponding to Figures 2 to 10 of this application.
[0097] Please refer to Figure 13, which shows a schematic diagram suitable for realizing the configuration of the electronic device 900 of the embodiment of this disclosure, and the electronic device 900 may be a terminal device or a server. Here, examples of terminal devices include, but are not limited to, mobile devices such as mobile phones, laptop computers, digital broadcast receivers, Personal Digital Assistants (PADs), Portable Android Devices (PADs), Portable Media Players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Note that the electronic device shown in Figure 13 is merely an example and does not in any way limit the functions and scope of use of the embodiment of this disclosure.
[0098] As shown in Figure 13, the electronic device 900 may include a processing unit (e.g., a central processing unit, graphics processor, etc.) 901, which can perform various appropriate operations and processes based on programs stored in read-only memory (ROM) 902 or programs loaded from storage device 908 into random access memory (RAM) 903. RAM 903 also stores various programs and data necessary for the operation of the electronic device 900. The processing unit 901, ROM 902, and RAM 903 are connected to each other via bus 904. An input / output (I / O) interface 905 is also connected to bus 904.
[0099] Typically, an input device 906, including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, and gyroscope; an output device 907, including, for example, a liquid crystal display (LCD), speaker, and vibrator; a storage device 908, including, for example, magnetic tape and hard disk; and a communication device 909 may be connected to the I / O interface 905. The communication device 909 can allow the electronic device 900 to communicate with other devices wirelessly or via a wired connection to exchange data. Figure 13 shows an electronic device 900 with various devices, but 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 been included as alternatives.
[0100] In particular, according to embodiments of the present disclosure, the process of referring to the flowchart description in the preamble may be carried out as a computer software program. For example, embodiments of the present disclosure include a computer program product which includes a computer program carried on a computer-readable medium which the computer program includes program code for performing the method shown in the flowchart. In such embodiments, the computer program may be downloaded or installed from a network via a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by a processing unit 901, the functions described above, limited to the methods of embodiments of the present disclosure, are performed.
[0101] The computer-readable media described above in this disclosure may be computer-readable signal media, computer-readable storage media, or any combination thereof. Computer-readable storage media may be, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections having one or more wires, portable computer magnetic disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact magnetic disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, computer-readable storage media may be any tangible medium containing or storing a program, which may be used by or in conjunction with an instruction execution system, device, or equipment. Furthermore, in this disclosure, computer-readable signal media may include data signals propagating in baseband or as part of a carrier, which carry computer-readable program code. Such propagating data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, and such computer-readable signal medium can transmit, propagate, or transmit programs used in or in conjunction with instruction execution systems, devices, or instruments. The program code contained in the computer-readable medium can be transmitted by any suitable medium, including but not limited to electric wires, optical cables, RF (radio frequency), or any suitable combination thereof.
[0102] The computer-readable medium described above may be included in the electronic device described above, or it may exist independently and not be assembled into the electronic device.
[0103] The computer-readable medium described above carries one or more programs, and when the one or more programs are executed on the electronic device, the electronic device is made to execute the method shown in the above embodiment.
[0104] Computer program code for performing the operations of the Disclosure may be programmed in one or more programming languages or a combination thereof, and such programming languages may include object-oriented programming languages such as Java, Smalltalk, and C++, and further may include conventional procedural programming languages such as the C language or similar programming languages. The program code may run entirely on a user computer, partially on a user computer, run as a single standalone software package, partially on a user computer and partially on a remote computer, or run entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user computer via any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or it may be connected to an external computer (for example, connected via the Internet using an Internet Service Provider).
[0105] The flowcharts and block diagrams in the drawings illustrate the implementable architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions shown within a block may occur in a different order than shown in the drawings. For example, two blocks shown consecutively may actually be executed essentially in parallel or in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, may be implemented in a dedicated hardware-based system that performs a specified function or operation, or in a combination of dedicated hardware and computer instructions.
[0106] The units according to the embodiments of this disclosure may be implemented by software or by hardware. Herein, the names of the units may not constitute a limitation on the unit itself in some cases; for example, the first acquisition unit may also be described as "a unit for acquiring at least two Internet Protocol addresses."
[0107] The functions described herein may be performed, at least in part, by one or more hardware logic components. For example, non-limiting exemplary types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standards (ASSPs), systems-on-a-chip (SOCs), and composite programmable logic devices (CPLDs).
[0108] In the context of this disclosure, machine-readable media may be tangible media that may contain or store programs used in or with instruction execution systems, devices, or equipment. Machine-readable media may be machine-readable signal media or machine-readable storage media. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination thereof. More specific examples of machine-readable storage media include electrical connections having one or more wires, portable computer magnetic disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact magnetic disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0109] In the first embodiment, according to one or more embodiments of the present disclosure, In response to importing an initial video into a video editing task, the cloud receives a video clip that slices and sends the initial video, and the video clip contains at least one video frame of the initial video. If not all video clips of the initial video have been received, the system responds to a first editing command in which the initial video is placed on the video editing track of the video editing interface by displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area. If not all video clips of the initial video have been received, in response to a second editing command for a video track clip corresponding to the initial video, the identifier of the second editing command is displayed on the editing track and the target video frame image is displayed in the video preview area, the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command on the video frame images of the received video clips from the initial video. Online video editing methods, including those mentioned above, are provided.
[0110] According to one or more embodiments of the present disclosure, receiving video clips that the aforementioned cloud has sliced and transmitted from the initial video includes obtaining download information corresponding to the initial video, the download information characterizing the current download progress of the initial video, determining a video clip identifier based on the download information, sending a download request to the cloud based on the video clip identifier, and receiving a target video clip corresponding to the video clip identifier transmitted by the cloud.
[0111] According to one or more embodiments of the present disclosure, obtaining download information corresponding to the aforementioned initial video includes loading cached data corresponding to the initial video and generating download information corresponding to the video in accordance with the amount of cached data loaded.
[0112] According to one or more embodiments of the present disclosure, sending a download request to the cloud based on the aforementioned video clip identifier includes obtaining reference information for the initial video, the reference information characterizing the slicing rules for the initial video, and generating and sending the download request to the cloud based on the reference information and the video clip identifier.
[0113] According to one or more embodiments of the present disclosure, the method further includes detecting local memory free space, determining a target storage location based on the memory free space, wherein the target storage location includes memory or a hard disk, and storing the target video clip in the target storage location.
[0114] According to one or more embodiments of the present disclosure, the second editing command includes a target editing parameter, and the display of a target video frame image in the video preview area includes: obtaining a pending video frame in the video clip, the pending video frame being a video frame after the currently playing video frame image in the video preview area; sequentially editing the pending video frame based on the corresponding timestamp according to the target editing parameter to generate a corresponding target video frame image; and sequentially displaying at least one of the target video frame images in the video preview area of the video editing interface when the video clip is played up to the pending video frame.
[0115] According to one or more embodiments of the present disclosure, the video editing interface includes a first playback component and a second playback component, the first playback component for playing video frame images of the video clip, and the second playback component for playing the target video frame images. Displaying at least one of the target video frame images sequentially in the video preview area of the video editing interface includes synchronously calling the first playback component to sequentially play the video frames awaiting processing based on the timestamp of the video awaiting processing, and calling the second playback component to sequentially play the target video frame images.
[0116] According to one or more embodiments of the present disclosure, the method further includes serializing the video clip and corresponding editing information, generating interruption data and storing it on a hard disk, and, after receiving an import command for the initial video, deserializing the interruption data and loading it into memory and obtaining the video clip and corresponding editing information.
[0117] According to one or more embodiments of the present disclosure, the video clip includes a jump video clip, and the cloud receiving the video clip that slices and transmits the initial video includes, in response to a video jump command, determining a corresponding video jump position, determining a corresponding jump video clip based on the video jump position, downloading the jump video clip from the cloud, and pausing the reception of other video clips until the download of the jump video clip is complete.
[0118] According to one or more embodiments of the present disclosure, displaying video frame images of received video clips from the initial video in the video preview area includes obtaining the playback progress corresponding to the video clip and the download progress corresponding to the initial video, and playing the video frame images of the video clip if the difference between the download progress and the playback progress is greater than a predetermined time length.
[0119] In a second embodiment, according to one or more embodiments of the present disclosure, A capture module used for receiving video clips that the cloud slices and sends in response to importing an initial video into a video editing task, wherein the video clips contain at least one video frame of the initial video, A display module used to display a video track clip corresponding to the initial video on the video editing track and to display video frame images of the received video clips from the initial video in the video preview area, in response to a first editing command in which the initial video is placed on the video editing track of the video editing interface, when not all of the video clips of the initial video have been received. An editing module used for the following purposes: when not all video clips of the initial video have been received, in response to a second editing command for a video track clip corresponding to the initial video, the identifier of the second editing command is displayed on the editing track and the target video frame image is displayed in the video preview area, the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command on the video frame images of the received video clips from the initial video; Online video editing equipment, including the following, is provided.
[0120] According to one or more embodiments of the present disclosure, when the acquisition module receives video clips that the cloud has sliced and sent from the initial video, it specifically acquires download information corresponding to the initial video, the download information is used to characterize the current download progress of the initial video, to determine a video clip identifier based on the download information, to send a download request to the cloud based on the video clip identifier, and to receive a target video clip corresponding to the video clip identifier sent by the cloud.
[0121] According to one or more embodiments of the present disclosure, the acquisition module is used, specifically, to load cached data corresponding to the initial video and to generate download information corresponding to the initial video in accordance with the amount of cached data loaded, when acquiring download information corresponding to the initial video.
[0122] According to one or more embodiments of the present disclosure, the acquisition module is used, specifically, to acquire reference information of the initial video when sending a download request to the cloud based on a video clip identifier, to characterize the slicing rules of the initial video, and to generate and send a download request to the cloud based on the reference information and the video clip identifier.
[0123] According to one or more embodiments of the present disclosure, the acquisition module is further used for detecting local memory free space, determining a target storage location based on the memory free space, wherein the target storage location includes memory or a hard disk, and storing a target video clip in the target storage location.
[0124] According to one or more embodiments of the present disclosure, a second editing command is used to include a target editing parameter, which the editing module uses to display a target video frame image in the video preview area, specifically to obtain a pending video frame in a video clip, where the pending video frame is a video frame after the currently playing video frame image in the video preview area, to sequentially edit the pending video frame based on the corresponding timestamp according to the target editing parameter, and to generate a corresponding target video frame image, and to sequentially display at least one target video frame in the video preview area of the video editing interface when the video clip is played up to the pending video frame.
[0125] According to one or more embodiments of the present disclosure, a video editing interface includes a first playback component and a second playback component, the first playback component for playing video frame images of a video clip, and the second playback component for playing target video frame images. The editing module is used to sequentially display at least one target video frame in the video preview area of the video editing interface, specifically, to synchronously call the first playback component to sequentially play video frames awaiting processing based on the timestamp of the video awaiting processing, and to synchronously call the second playback component to sequentially play target video frame images.
[0126] According to one or more embodiments of the present disclosure, the editing module is further used for serializing video clips and corresponding editing information, generating interruption data and storing it on a hard disk, and, after receiving an import command for an initial video, deserializing the interruption data and loading it into memory and obtaining video clips and corresponding editing information.
[0127] According to one or more embodiments of the present disclosure, the video clip includes a jump video clip, and the acquisition module is used specifically to determine a corresponding video jump position in response to a video jump command, to determine a corresponding jump video clip based on the video jump position, and to download the jump video clip from the cloud and to pause the reception of other video clips until the download of the jump video clip is complete.
[0128] According to one or more embodiments of the present disclosure, the display module is used specifically to obtain the playback progress corresponding to a video clip and the download progress corresponding to the initial video, and to play the video frame images of the video clip if the difference between the download progress and the playback progress is greater than a predetermined time length.
[0129] In a third embodiment, according to one or more embodiments of the present disclosure, A system including a processor and a memory connected to the processor in a communicative manner, The aforementioned memory stores computer execution instructions, The processor provides an electronic device that implements the online video editing method described in the first embodiment and various possible designs of the first embodiment by executing computer execution instructions stored in the memory.
[0130] In a fourth embodiment, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided which stores computer execution instructions and, when a processor executes the computer execution instructions, enables the online video editing method described in the first embodiment and various possible designs of the first embodiment as described above.
[0131] In a fifth embodiment, embodiments of the present disclosure include a computer program product that, when executed by a processor, implements the online video editing methods described in the first embodiment and various possible designs of the first embodiment as described above.
[0132] The above description is merely an explanation of preferred embodiments and applicable technical principles of the present disclosure. Those skilled in the art will understand that the scope of the disclosure is not limited to technical solutions formed by specific combinations of the above technical features, but also covers other technical solutions formed by any combination of the above technical features or equivalent features, provided that such solutions do not deviate from the disclosed concepts described above. Examples include, but are not limited to, technical solutions formed by replacing the above features with similar functional technical features disclosed herein.
[0133] Furthermore, while each operation is described in a specific order, it should not be understood that these operations must be performed in a specific order or a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, while some specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of a single embodiment can also be implemented in combination within a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments, either individually or in any suitable subcombination.
[0134] While the subject matter has been described in terms of constituent features and / or methodological behavior, the subject matter limited by the attached claims is not necessarily limited to the specific features or behaviors described above. Rather, it should be understood that the specific features and behaviors described above are merely illustrative forms of realizing the claims.
Claims
1. In response to importing an initial video into a video editing task, the cloud receives a video clip that slices and sends the initial video, and the video clip includes at least one video frame of the initial video. If not all video clips of the initial video have been received, the initial video will respond to a first editing command placed on the video editing track of the video editing interface by displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area. If not all video clips of the initial video have been received, in response to a second editing command for a video track clip corresponding to the initial video, the identifier of the second editing command is displayed on the video editing track and the target video frame image is displayed in the video preview area, the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command on the video frame images of the received video clips from the initial video. Online video editing methods, including...
2. The aforementioned cloud receiving the video clips that sliced and sent the initial video means that The download information corresponding to the initial video is obtained, and the download information is characterized by the current download progress of the initial video. Based on the aforementioned download information, determine the video clip identifier, The method according to claim 1, comprising sending a download request to the cloud based on the video clip identifier, and receiving a target video clip corresponding to the video clip identifier sent by the cloud.
3. Obtaining download information corresponding to the aforementioned initial video is: Loading cached data corresponding to the initial video, The method according to claim 2, further comprising generating download information corresponding to the initial video in accordance with the amount of cache data loaded.
4. Sending a download request to the cloud based on the aforementioned video clip identifier is: The reference information of the initial video is obtained, and the reference information characterizes the slicing rules of the initial video. The method according to claim 2, comprising generating the download request based on the reference information and the video clip identifier and sending it to the cloud.
5. Furthermore, it detects the amount of free local memory, Based on the available memory capacity, the target storage location is determined, and the target storage location includes memory or a hard disk. The method according to claim 2, further comprising storing the target video clip in the target storage location.
6. The second editing command includes a target editing parameter, and displays the target video frame image in the video preview area. The video frame awaiting processing within the video clip is obtained, and the video frame awaiting processing is determined to be a video frame that is later than the currently playing video frame image in the video preview area. The process involves sequentially editing the pending video frames based on the corresponding timestamps according to the target editing parameters, and generating the corresponding target video frame images. The method according to claim 1, further comprising displaying at least one of the target video frame images sequentially in the video preview area of the video editing interface when the video clip is played up to the processing pending video frame.
7. The video editing interface includes a first playback component and a second playback component, the first playback component being for playing video frame images of the video clip, and the second playback component being for playing the target video frame image. Displaying at least one of the target video frame images sequentially in the video preview area of the aforementioned video editing interface is: The method according to claim 6, further comprising calling the first playback component to sequentially play the pending video frames based on the timestamps of the pending video frames, and calling the second playback component to sequentially play the target video frame images, both in a synchronized manner.
8. Furthermore, the video clip and corresponding editing information are serialized, interruption data is generated, and stored on the hard disk. The method according to claim 1, comprising receiving an import command for the initial video, deserializing the interrupted data and loading it into memory, and obtaining editing information corresponding to the video clip.
9. The aforementioned video clip includes a jump video clip, and the aforementioned cloud receives the video clip that slices and transmits the initial video. In response to a video jump command, determine the corresponding video jump position, Based on the aforementioned video jump position, the corresponding jump video clip is determined, The method according to claim 1, further comprising downloading the jump video clip from the cloud and pausing the reception of other video clips until the download of the jump video clip is complete.
10. Displaying video frame images of received video clips from the initial video in the aforementioned video preview area is: To obtain the playback progress corresponding to the aforementioned video clip and the download progress corresponding to the aforementioned initial video, The method according to claim 1, further comprising playing the video frame images of the video clip if the difference between the download progress and the playback progress is greater than a predetermined time length.
11. In response to importing an initial video into a video editing task, the cloud slices and sends video clips from the initial video, and the acquisition module includes a video clip containing at least one video frame of the initial video. If not all of the video clips of the initial video have been received, a display module for displaying a video track clip corresponding to the initial video on the video editing track and displaying video frame images of the received video clips from the initial video in the video preview area, in response to a first editing command in which the initial video is placed on the video editing track of the video editing interface, When not all video clips of the initial video have been received, an editing module is provided to display an identifier of the second editing command on the video editing track and a target video frame image in the video preview area in response to a second editing command on a video track clip corresponding to the initial video, wherein the second editing command is for editing the initial video, and the target video frame image is for indicating the editing result of the second editing command by displaying the video frame images of the received video clips from the initial video. Online video editing software, including...
12. A system including a processor and a memory connected to the processor in a communicative manner, The aforementioned memory stores computer execution instructions, The processor is an electronic device that realizes the online video editing method according to any one of claims 1 to 10 by executing computer execution instructions stored in the memory.
13. A computer-readable storage medium that stores computer execution instructions, and when a processor executes the computer execution instructions, enables the online video editing method described in any one of claims 1 to 10.
14. A computer program that, when executed by a processor, realizes the online video editing method described in any one of claims 1 to 10.