Online video editing method, apparatus, electronic device, and storage medium
The online video editing method addresses the inefficiency of local download requirements by streaming and editing video clips in real-time, enhancing editing speed and smoothness.
Patent Information
- Application Number
- JP2024575331
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-29
- Filing Date
- 2023-12-08
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2043-12-08
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.
An online video editing method that receives and displays video clips sliced from the initial video in real-time, allowing editing instructions to be applied as the clips are streamed, eliminating the need for complete download and enabling slice loading and editing.
This approach reduces waiting times and improves the efficiency and smoothness of video editing by allowing real-time editing of online videos without the need for complete local download.
Smart Images

Figure 2025521349000001_ABST
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This application claims the priority of 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 the application is incorporated herein by reference.
[0002] [Technical Field] Embodiments of the present disclosure relate to the field of Internet technologies, and in particular, to an online video editing method, apparatus, electronic device, and storage medium.
Background Art
[0003] During the process of using a video playback / video editing application (APP), users have a need to perform secondary editing on online videos they are interested in. 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, so the waiting time until video editing becomes long, and the efficiency and smoothness of video editing are reduced.
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 video clips obtained by slicing and transmitting the initial video, where the video clips include at least one video frame of the initial video, and when not all video clips of the initial video have been received, in response to a first editing instruction for placing the initial video on a video editing track of a video editing interface, displaying a video track clip corresponding to the initial video on the video editing track and displaying a video frame image of the received video clips among the initial video in a video preview area, and when not all video clips of the initial video have been received, in response to a second editing instruction for the video track clip corresponding to the initial video, displaying an identifier of the second editing instruction on the editing track and displaying a target video frame image in a video preview area, where the second editing instruction is for editing the initial video, and the target video frame image is for the video frame image of the received video clips among the initial video to show an editing result by the second editing instruction, and An online video editing method is provided, including the above.
[0007] In a second aspect, embodiments of the present disclosure are for receiving, by a cloud, video clips obtained by slicing and transmitting an initial video in response to importing the initial video into a video editing task, where the video clips include at least one video frame of the initial video, an acquisition module; and when not all 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 a video frame image of the received video clips among the initial video in a video preview area in response to a first editing instruction for placing the initial video on a video editing track of a video editing interface, and When not all video clips of the initial video have been received, in response to a second editing instruction for a video track clip corresponding to the initial video, to display an identifier of the second editing instruction in the editing track and to display a target video frame image in a video preview area, the second editing instruction is for editing the initial video, and the target video frame image is for a video frame image of a received video clip among the initial videos to show an editing result by the second editing instruction. An editing module; To provide an online video editing device including the same.
[0008] In a third aspect, an embodiment of the present disclosure is Including a processor and a memory communicably connected to the processor, The memory stores computer-executable instructions, By executing the computer-executable instructions stored in the memory, the processor provides an electronic device that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0009] In a fourth aspect, an embodiment of the present disclosure stores computer-executable instructions, and when a processor executes the computer-executable instructions, provides a computer-readable storage medium that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0010] In a fifth aspect, an embodiment of the present disclosure includes a computer program, and when the computer program is executed by a processor, provides a computer program product that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0011] The online video editing method, apparatus, electronic device, and storage medium provided in this embodiment respond to importing an initial video into a video editing task by receiving video clips sliced and sent by the cloud for the initial video, where the video clips include at least one video frame of the initial video. When not all video clips of the initial video have been received, in response to a first editing instruction for arranging the initial video on a video editing track of a video editing interface, a video track clip corresponding to the initial video is displayed on the video editing track, and a video frame image of the received video clips among the initial video is displayed in a video preview area. When not all video clips of the initial video have been received, in response to a second editing instruction for the video track clip corresponding to the initial video, an identifier of the second editing instruction is displayed on the editing track and a target video frame image is displayed in the video preview area, where the second editing instruction is for editing the initial video. The target video frame image is for the video frame images of the received video clips among the initial video to show the editing result by the second editing instruction. The method provided in this embodiment receives video clips sliced and sent by the cloud for the initial video, and performs streaming loading on the video clips, and then performs streaming editing on the video clips according to an editing instruction, thereby realizing slice loading and slice editing of the initial video, without the need to locally download the complete initial video before editing, thus avoiding the long waiting time for downloading before video editing and improving the efficiency and smoothness of video editing. Brief Description of the Drawings
[0012] To more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the following briefly introduces the attached drawings that need to be used in the description of the embodiments or the prior art. Obviously, the attached drawings in the following description are part of the embodiments of the present disclosure. For those skilled in the art, based on these drawings, other attached drawings can be obtained without creative efforts.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
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 following will clearly and completely describe the technical solutions in the embodiments of the present disclosure in light of the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a 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 all 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, data stored, data displayed, etc.) related to this application are information and data that have been 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 following will explain the application scenarios of the embodiments of the present disclosure.
[0016] FIG. 1 is an application scenario diagram of an online video editing method provided by an embodiment of the present disclosure. The method provided by the embodiment of the present disclosure can be applied to application scenarios of online video editing. Specifically, as shown in FIG. 1, the method provided by the embodiment of the present disclosure can be applied to a terminal device. The terminal device communicates with a cloud (shown as a cloud server in the figure). A short video application client is executed in the terminal device. A video playback interface is provided in the short video client. The terminal device acquires video data transmitted from the cloud and plays it in the video playback interface. When a user watches a video of interest, by triggering a video transfer or video editing component (shown as clicking a video processing component in the figure), it jumps to a video editing interface, and then uses video editing tools provided in the video editing interface to edit the currently playing video. For example, by adding video effects, adding filters, etc., a target video after editing is generated, and the purpose of secondary editing of the online video can be realized. Thereafter, according to specific needs, the target video generated in the above process can be further stored and transferred.
[0017] For the above-described application scenario of online video editing, in the prior art, before editing an online video via a terminal device, the terminal device first needs to download a complete online video locally and then edit it. For example, the short video shown in FIG. 1 needs to be completely downloaded locally and then loaded into a video editing function unit in the short video client before the above-described video can be edited. Therefore, the waiting time before video editing is long, and the efficiency and smoothness of video editing will be reduced.
[0018] Embodiments of the present disclosure provide an online video editing method for solving the above-described problems.
[0019] Please refer to FIG. 2. FIG. 2 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 an initial video for a video editing task, receive video clips sliced and sent by the cloud for the initial video. The video clips include at least one video frame of the initial video.
[0021] Exemplarily, please refer to the schematic diagram of the application scenario shown in FIG. 1. The execution entity of the method provided in this embodiment is a terminal device. A video playback client such as a short video client is running on the terminal device. By receiving the user's editing operation, the terminal device determines the initial video corresponding to the selection and editing. For example, it determines the video identifier of the initial video, and then, based on the video identifier, obtains the video clip corresponding to the initial video from the cloud that stores the initial video. The video clip includes at least one video frame of the initial video. Then, the terminal device plays the video clip on a video editing page. Here, the video clip is also called a video slice and is a video data packet. Exemplarily, the video data packet corresponding to the video clip includes a progress status identifier for characterizing the video playback position and the 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 is divided according to the size of a predetermined video data packet, and further, for example, the initial video is divided according to the number of predetermined video data packets, thereby obtaining several video data packets, that is, video clips.
[0022] FIG. 3 is a schematic flowchart of a process for obtaining a video clip provided in an embodiment of the present disclosure. As shown in FIG. 3, a terminal device sends a video request to a cloud server corresponding to a cloud, and then, based on the video request, the cloud server sends at least one video clip of a corresponding original video to the terminal device in a streaming transmission mode. After receiving the video clip, the terminal device plays each video clip in sequence according to a playback time stamp corresponding to the video clip to implement a video preview function on an editing page.
[0023] Furthermore, when the terminal device loads the initial video for the first time, on the video editing page, by default, the initial video is played from the first frame of the initial video, or the first frame of the initial video is statically displayed. In this case, the video clip of the initial video obtained by the terminal device from the cloud is the first video clip of the initial video. On the other hand, when the terminal device is not loading the initial video for the first time, such as when all or part of the initial video has been downloaded previously, a corresponding video clip is obtained based on the download progress status.
[0024] In a possible implementation manner, as shown in FIG. 4, the specific implementation manner of step S101 includes the following.
[0025] Step S1011: Obtain download information corresponding to the initial video, where the download information characterizes the current download progress status of the initial video.
[0026] Step S1012: Determine a video clip identifier based on the download information.
[0027] Step S1013: Send a download request to the cloud based on the clip identifier, thereby obtaining a target video clip corresponding to the clip identifier.
[0028] Exemplarily, after entering the video editing interface in response to an editing instruction for the initial video, the terminal device acquires download information characterizing 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, it is characterized that the download ratio of the initial video is 30%. In this case, based on the download ratio value and the progress identifier corresponding to the video clip pre-divided in the initial video, conversion needs to be performed once to obtain the corresponding video clip identifier. Further, after determining the video clip identifier, a corresponding download request is sent to the cloud based on the video clip identifier to obtain the corresponding target video clip.
[0029] Here, furthermore, in a possible implementation manner, the specific implementation manner of step S1011 includes the following.
[0030] Step S1011A: Load the cache data corresponding to the initial video.
[0031] Step S1011B: Generate download information corresponding to the initial video according to the loaded amount of the cache data.
[0032] Exemplarily, after entering the video editing interface in response to an editing instruction for the initial video, the terminal device first searches locally based on the identifier of the initial video to obtain the storage address of the corresponding cached data. Here, the cached data includes video data packets corresponding to one or more video clips, and the video data packets are stored locally in the terminal device in a predetermined data format. Specifically, the cached data may be stored in the local hard disk of the terminal device. Thereafter, the cached data is loaded into the memory, and based on the loaded amount of the cached data, the corresponding download progress status, that is, the download information, is determined. Specifically, for example, after all the cached data at the storage address is loaded, based on the ratio of the loaded amount of the cached data to the total data amount of the initial video, the corresponding download progress status, that is, the download information, is determined.
[0033] In this embodiment, in the process of receiving the video clips sliced and transmitted by the cloud for the initial video, the download information corresponding to the initial video is obtained, and based on the download information, the target video clip corresponding to the current download progress status is determined. By performing subsequent streaming downloads based on the target video clip, the function of breakpoint continuous transmission is realized. When the same initial video needs to be loaded multiple times, there is no need to repeatedly download the initial video, and the loading efficiency of the initial video is improved.
[0034] Furthermore, after obtaining the video clip, in the video editing interface, the video clip is played. In one possible implementation manner, as shown in FIG. 5, the specific implementation manner of step S102 includes the following.
[0035] Step S1021: Obtain the playback progress status corresponding to the video clip and the download progress status corresponding to the initial video.
[0036] Step S1022: When the difference between the download progress status and the playback progress status is greater than a predetermined time length, play the video frame image of the video clip.
[0037] Exemplarily, the corresponding playback progress of the video clip can be determined by the progress status identifier of the video clip. Also, the corresponding download progress status of the initial video can be obtained based on the loaded amount of cache data. Specifically, since reference can be made to the relevant introduction in the previous embodiments, it will not be repeated. Exemplarily, the playback progress status and the download progress status are converted to the same time coordinate system. For example, the playback progress status and the download progress status are converted to the playback time stamp for the unified initial video. Then, the difference between the download progress status and the playback progress status is calculated. When the difference between the download progress status and the playback progress status is less than a predetermined time length, for example, if the predetermined time length is 3 seconds, it means that the download progress status is slightly ahead of the playback progress status. At this time, if a network fluctuation occurs later, the playback progress status may catch up with the download progress status, resulting in a video playback lag problem and potentially affecting the video playback effect. On the other hand, when the difference between the download progress status and the playback progress status is greater than a predetermined time length, it means that the download progress status is significantly ahead of the playback progress status. At this time, even if a network fluctuation occurs later, it can be guaranteed that the playback progress status cannot catch up with the download progress status, thereby avoiding video playback lag and improving the smoothness and playback effect of video playback. Therefore, in the steps of this embodiment, when it is determined that the difference between the download progress status and the playback progress status is greater than a predetermined time length, play the video frame image of the video clip. However, when it is determined that the difference between the download progress status and the playback progress status is less than a predetermined time length, the playback of the video clip may be paused and a prompt may be displayed, thereby avoiding the occurrence of unreasonable lag in the video playback process and affecting the smoothness of the video preview, and improving the user experience.
[0038] Step S102: When not all video clips of the initial video have been received, in response to a first editing command for placing the initial video on the video editing track of the video editing interface, a video track clip corresponding to the initial video is displayed on the video editing track, and a video frame image of the received video clip among the initial videos is displayed in the video preview area.
[0039] In the prior art, after receiving the video clips transmitted from the cloud, subsequent video editing steps can be executed only after all the video clips of the initial video have been received. In this embodiment, when not all video clips of the initial video have been received, in response to a first editing command for placing the initial video 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, a video frame image of the received video clip is displayed in the video preview area. Here, the video editing track represents the playback content of the video in the video editing interface and is a component that can edit the video frame by frame. Similarly, the video editing interface also has an audio editing track, a video effect track, etc. Since the audio editing track and the video preview area are common settings in video editing software, they will not be repeated here. Here, the image displayed on the video editing track is the video track clip, and the video track clip includes images of multiple frames and is usually displayed in the form of a microfilm. The user can select an image of one of the frames by operating the video marking track and display it in the video preview area.
[0040] Step S103: When not all video clips of the initial video have been received, in response to a second editing instruction for the video track clip corresponding to the initial video, display the identifier of the second editing instruction on the editing track and display the target video frame image in the video preview area. The second editing instruction is for editing the initial video. The target video frame image is for the video frame images of the received video clips in the initial video to show the editing result by the second editing instruction.
[0041] Exemplarily, when representing a video track clip on the video editing track of the video editing interface and playing the video clip in the video preview area, the terminal device receives a second editing instruction for the video track clip input by the user, thereby editing the initial video and obtaining a target video frame image. For example, adding a mapping effect, adding a filter effect, etc. Then, display the identifier of the second editing instruction on the editing track. Here, in a possible implementation manner, the identifier of the second editing instruction may be a track such as an effect track parallel to the video editing track clip, or a marker for indicating splitting or video speed change that appears in the video track clip.
[0042] Here, since the initial video is composed of a plurality of video clips, editing instructions for the video clips are, that is, editing instructions for the initial video. Specifically, for example, adding a video filter to the video clip, adding a video effect to the video clip, etc. are included. Further, corresponding video editing parameters are generated for the editing instructions of the video editing interface, and the video editing parameters indicate the editing content and the video frames of the corresponding actions. For example, editing instruction #1 is for adding filter A to all video frames in the initial video, and editing instruction #2 is for adding effect mapping B from the first video frame to the Nth video frame in the initial video. Thereafter, in response to the editing instructions for the video clip, after editing the video clip, a target video, which is a preview video for displaying the editing result corresponding to the video clip, is obtained.
[0043] Here, the target video may overwrite the video clip on the video editing interface or may be independently displayed on the video editing interface. FIG. 6 is a schematic diagram of the video editing interface provided in the embodiment of the present disclosure. As shown in FIG. 6, the video editing interface includes a first playback component and a second playback component. The first playback component is for playing the video frame image of the video clip, and the second playback component is for playing the target video frame image. Referring to FIG. 6, when the "filter" control is clicked in response to the editing instruction, a filter is added to the video clip, the target video is obtained, and based on the unified time stamp, the first playback component and the second playback component synchronously play the video clip and the corresponding target video. Thereby, the purpose of comparative display is achieved, the editing result is intuitively displayed, and the user can better observe the effect of editing the initial video based on the target video.
[0044] In this embodiment, the cloud receives video clips obtained by slicing and transmitting an initial video, and the video clips include at least one video frame of the initial video. Play the video clips on the video editing interface. Display the target video frame image in the video preview area, and the editing instruction is for editing the video clips. The target video is for displaying the editing result corresponding to the video clips. When downloading video materials for performing editing, the method provided in this embodiment is that the cloud receives video clips obtained by slicing and transmitting an initial video, and performs streaming loading on the video clips, and then according to the editing instruction, performs streaming editing on the video clips, thereby realizing slice loading and slice editing of the initial video, without the need to locally download the complete initial video before editing, so as to avoid the long waiting time for downloading before video editing, and improve the efficiency and smoothness of video editing.
[0045] Please refer to FIG. 7. FIG. 7 is a flowchart II of an online video editing method provided by an embodiment of the present disclosure. This embodiment is based on the embodiment shown in FIG. 2, further subdivides the solution, and adds a processing solution for performing jump playback within the video editing page. The online video editing method provided in this embodiment includes the following: Step S201: Obtain reference information of the initial video, and the reference information characterizes the slicing rule 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 obtain the initial video clips.
[0047] Step S203: In response to a first editing instruction for arranging the initial video on the video editing track of the video editing interface, display a video track clip corresponding to the initial video on the video editing track, and display a video frame image of the received video clips of the initial video in the video preview area.
[0048] Exemplarily, the reference information of the initial video, that is, the information characterizing the slice rule of the initial video, may be pre-stored in the cloud or locally in the terminal device. More specifically, as the slice rule, for example, slicing can be performed according to the size of the video clip, slicing can be performed according to the duration of the video clip, or slicing can be performed according to the number of video clips, and it can be specifically provided as needed, so it will not be repeated here. When the initial video is loaded for the first time, the cloud slices the initial video based on the reference information, thereby realizing the streaming load of subsequent video slices. Since the specific implementation of slicing the video based on the slice rule is a prior art, it will not be repeated here.
[0049] Specifically, in this embodiment, after the terminal device receives an editing instruction for the initial video for the first time, it acquires the 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 (that is, the first video clip of the initial video) to the terminal device. When the terminal device receives the initial video clip, it performs static display (display of the first frame) or dynamic playback on the initial video clip. In this embodiment, by providing the reference information, the slice granularity of the video clip is provided, so that different initial videos have corresponding splitting methods in different application scenarios, and the flexibility of video slicing is improved.
[0050] Step S204: When not all the video clips of the initial video have been received, determine the corresponding video jump position in response to the video jump instruction, and determine the corresponding video clip identifier based on the video jump position.
[0051] Step S205: Generate a second download request based on the reference information and the video clip identifier and send it to the cloud.
[0052] Exemplarily, in one possible case, the terminal device receives a jump playback operation input by the user, such as dragging a video editing track or clicking on the progress position of a video editing track. FIG. 8 is a schematic diagram of video jump playback provided in an embodiment of the present disclosure. As shown in FIG. 8, when the terminal device receives a jump operation instruction such as clicking on the target position P1 of the video editing track, the terminal device directly jumps and plays (seeks) the video clip at the target position P1. In the scene of this jump playback, based on the video jump position corresponding to the video jump instruction, the corresponding video clip identifier is determined. Here, the video clip identifier is an identifier characterizing the playback position or the playback progress status, and may be directly determined based on the control value of the jump playback control, specifically, the ratio of video playback, etc. Then, based on the video slice rule characterized in the reference information and the video clip identifier, a download request is generated. The download request generated based on the video slice rule characterized in the reference information and the video clip identifier can uniquely determine a certain video clip. Then, the download request is sent to the cloud to obtain the jump video band that is the corresponding video clip.
[0053] Step S206: Determine the target storage position.
[0054] Step S207: Temporarily stop downloading other video clips, receive the jump video clip sent from the cloud, and store the jump video clip at the target storage position.
[0055] When the terminal device performs streaming download for the initial video, each video clip is downloaded sequentially based on the playback order of the initial video. Therefore, if a jump playback situation occurs and the terminal device has not downloaded the video clip at the corresponding video jump position, a phenomenon where playback is not possible will occur. As a possible implementation method, until the terminal device downloads the jump video clip corresponding to the video jump position, based on the download progress status of the initial video, each video clip is downloaded sequentially, and then the jump video clip can be played. However, such an implementation method will result in a certain (download) waiting time, a visual lag, and affect the smoothness of video playback.
[0056] In this embodiment, when a jump playback situation of the video occurs, first, the download of other video clips is temporarily stopped, and the download of the jump video clip corresponding to the video jump position is prioritized, thereby obtaining the jump video clip. Then, the jump video clip is stored in a predetermined target storage location, so that in subsequent steps, the video jump position is loaded from the target storage location and played. Through the steps of this embodiment, rapid playback of the video after a video jump operation can be realized, and no extra (download) waiting time is required. Thereby, the smoothness of video playback is improved.
[0057] Here, the specific implementation method of temporarily stopping the download of other video clips and prioritizing the download of the jump video clip can be realized by changing the order of the download task queue and setting the download task corresponding to the jump video clip at the head of the download task queue, so the specific implementation method will not be repeated here.
[0058] Here, furthermore, the target storage location includes a memory or a hard disk. Exemplarily, the specific implementation method of step S206 includes the following.
[0059] Step S2061: Detect the available local memory capacity.
[0060] Step S2062: Determine a target storage location based on the available memory capacity, where the target storage location includes memory or a hard disk.
[0061] Exemplarily, when storing a video clip, since the memory processes data quickly and efficiently, it is prioritized to load the downloaded video clip into the memory. In this embodiment, first, the available local memory capacity of the terminal device is detected. When the available memory capacity is greater than a predetermined threshold, the target storage location is determined to be the memory, thereby providing the processing efficiency of the video clip. On the other hand, when the available memory capacity is less than the predetermined threshold, the target storage location is determined to be the hard disk, thereby ensuring the redundancy of the memory capacity and providing the stability of the system. Exemplarily, 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 realizing effects such as breakpoint download and dynamic caching.
[0062] Step S208: Receive a second editing instruction input by the user, where the second editing instruction includes target editing parameters.
[0063] Step S209: Obtain a video frame waiting for processing in the jump video clip from the target storage location, where the video frame waiting for processing is a video frame behind the currently playing video frame of the jump video clip.
[0064] Exemplarily, the target editing parameter is information that characterizes a specific editing content. For example, it includes the type of video editing, such as adding filters, sticker effects, skin beautification, etc. Also, parameters corresponding to the editing content, such as the type of filter, sticker identifier in the sticker effect, etc., can be mentioned. The target editing parameter in the editing instruction is information input by the user. As a specific implementation form, it can be determined based on the specific interface for function realization, so it will not be repeated here.
[0065] Furthermore, from the target memory location, the video frames waiting for processing in the jump video clip are loaded. The video frames waiting for processing are video frames behind the currently playing video frame of the jump video clip. FIG. 9 is a schematic diagram of the video frames waiting for processing provided in an embodiment of the present disclosure. As shown in FIG. 9, in a video clip (for example, a jump video clip), it includes a plurality of video frames. The terminal device sequentially plays each video frame. At the time when the editing instruction is received, the corresponding currently playing video frame (the current frame) is, for example, the P0 frame. Then, from the P1 frame behind the P0 frame to the Pn frame, which is the last frame of the currently playing video clip, they are video frames waiting for processing. FIG. 10 is a schematic diagram of another video frame waiting for processing provided in an embodiment of the present disclosure. As shown in FIG. 10, in another possible implementation manner, from the Pm frame to the Pn frame, which is the last frame of the currently playing video clip, they can be video frames waiting for processing. Here, the P1 frame to the Pm-1 frame are pixel data that have not been played but have been decoded and loaded into the playback queue. The content of video editing is not displayed in the P1 frame to the Pm-1 frame, thereby improving the smoothness of video playback.
[0066] Step S210: Sequentially edit the video frames waiting for processing according to the target editing parameter based on the corresponding timestamp, and generate the corresponding target video frame image.
[0067] Step S211: When the jump video clip is played up to the video frame waiting to be processed, 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 instruction is displayed on the editing track.
[0068] Furthermore, refer to FIG. 10. According to the target editing parameters, the video frames waiting to be processed are sequentially processed based on the time stamps. For example, a video filter is rendered for each video frame waiting to be processed, and video mapping and the like are performed, thereby generating target video frames corresponding to each video frame waiting to be processed. When the jump video clip is played up to the video frame waiting to be processed, 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 on 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 on the video editing interface, and the above process is repeated until the playback of the target video frame corresponding to the last frame Pn of the jump video clip is completed.
[0069] Exemplarily, the specific implementation manner of step S211 includes the following.
[0070] Based on the time stamps of the videos waiting to be processed, call the first playback component to sequentially play the video frame images of the videos waiting to be processed, and call the second playback component to sequentially play the target video frame images, and perform them synchronously. Refer to the schematic diagram of the video editing interface shown in FIG. 6. Based on the time stamps of the videos waiting to be processed, by using the first playback component and the second playback component to synchronously play the images of the video frames waiting to be processed and the target video frames, the comparative display of the video frames waiting to be processed and the target video frames can be realized, enabling the user to more intuitively confirm the editing effect and improving the efficiency of video editing.
[0071] Optionally, after step S209, it further includes the following.
[0072] Step S212: After receiving the end command, serialize the video clip and the corresponding editing information, generate interruption data, and store it in the hard disk.
[0073] Step S213: End the video editing interface.
[0074] Exemplarily, during the process of editing the initial video, according to the specific needs of the user, the video editing interface is terminated. Specifically, that is, after receiving the termination instruction, the terminal device closes the video editing interface in response to the termination instruction. At the same time, the terminal device serializes the video clip obtained in the previous step and the corresponding editing information to generate interruption data. Here, the video clip is data downloaded from the cloud, including the video clips sequentially downloaded based on the playback order of the initial video and the jump video clips downloaded in response to the jump instruction. The editing information is the recording information for the editing instruction and is used to characterize the specific editing content of the initial video. Then, the interruption data is stored in the hard disk. And 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 terminate the video editing interface after generating and storing the interruption data in the hard disk, or it is also possible to generate and store the interruption data in the hard disk after terminating the video editing interface.
[0075] Step S214: After receiving the import instruction for the initial video, deserialize the interruption data and load it into the memory to obtain the video clip and the corresponding editing information.
[0076] Step S215: Start the video editing interface and generate an output video based on the video clip and the 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 the memory, thereby restoring the video clip and the corresponding editing information. Then, the terminal device can start the video editing interface and continue to play the corresponding video clip based on the video clip and the corresponding editing information. Alternatively, the process can return to step S203 to perform jump playback of the initial video while continuing to edit the initial video, and finally generate the edited video, i.e., the output video.
[0078] In this embodiment, when exiting the video editing interface, by generating the editing information corresponding to the video clip as interruption data, when re-downloading the same initial video, the generated interruption data is used to restore the previously downloaded video clip and the edited target video. Thereby, the purpose of generating the editing manuscript is realized, there is no need to re-download or edit the initial video, and the video editing efficiency can be improved.
[0079] Corresponding to the online video editing method of the previous embodiment, FIG. 11 is a block diagram of the configuration of an online video editing device provided in an embodiment of the present disclosure. For ease of explanation, only the parts related to the embodiments of the present disclosure are shown. Referring to FIG. 11, the online video editing device 3 includes the following.
[0080] Acquisition module 31: In response to importing the initial video for the video editing task, receive the video clips sliced and sent by the cloud for the initial video. The video clips include at least one video frame of the initial video.
[0081] Presentation module 32: When not all video clips of the initial video have been received, in response to a first editing command for placing the initial video on the video editing track of the video editing interface, display a video track clip corresponding to the initial video on the video editing track, and display a video frame image of the received video clip of the initial video in the video preview area.
[0082] Editing module 33: When 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, display the identifier of the second editing command on the editing track and display a target video frame image in the video preview area. The second editing command is for editing the initial video, and the target video frame image is for the video frame image of the received video clip of the initial video to show the editing result by the second editing command.
[0083] In an embodiment of the present disclosure, when the acquisition module 31 receives the video clips sliced and transmitted by the cloud for the initial video, specifically, it is used for obtaining the download information corresponding to the initial video. The download information characterizes the current download progress status of the initial video, determining the video clip identifier based on the download information, sending a download request to the cloud based on the video clip identifier, and receiving the target video clip corresponding to the video clip identifier sent to the cloud.
[0084] In an embodiment of the present disclosure, when the acquisition module 31 obtains the download information corresponding to the initial video, specifically, it is used for loading the cache data corresponding to the initial video and generating the download information corresponding to the initial video according to the amount of the loaded cache data.
[0085] In one embodiment of the present disclosure, when the acquisition module 31 sends a download request to the cloud based on the video clip identifier, specifically, it is used to obtain the reference information of the initial video, where the reference information characterizes the slice rule of the initial video, and based on the reference information and the video clip identifier, generate a download request and send it to the cloud.
[0086] In one embodiment of the present disclosure, the acquisition module 31 is further used to detect the available local memory capacity, determine the target storage location based on the available memory capacity, where the target storage location includes memory or a hard disk, and store the target video clip at the target storage location.
[0087] In one embodiment of the present disclosure, the second editing instruction includes target editing parameters. When the editing module 33 displays the target video frame image in the video preview area, specifically, it is used to obtain the video frames waiting for processing in the video clip, where the video frames waiting for processing are the video frames behind the currently playing video frame image in the video preview area, sequentially edit the video frames waiting for processing according to the target editing parameters based on the corresponding timestamps to generate the corresponding target video frame images, and when the video clip is played until the video frames waiting for processing, sequentially display at least one target video frame in the video preview area of the video editing interface.
[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 is for playing the video frame images of the video clip, and the second playback component is for playing the 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. Specifically, based on the time stamp of the video waiting to be processed, the first playback component is called to sequentially play the video frames waiting to be processed, and the second playback component is called to sequentially play the target video frame images, and these are performed synchronously respectively.
[0089] In one embodiment of the present disclosure, the editing module 33 is further used to serialize the editing information corresponding to the video clip, generate interruption data, and store it in the hard disk. After receiving the import instruction for the initial video, the interruption data is deserialized and loaded into the memory to obtain the editing information corresponding to the video clip.
[0090] In one embodiment of the present disclosure, the video clip includes a jump video clip. Specifically, the acquisition module 31 is used to determine the corresponding video jump position in response to the video jump instruction, determine the corresponding jump video clip based on the video jump position, download the jump video clip from the cloud, and suspend the reception of other video clips until the download of the jump video clip is completed.
[0091] In one embodiment of the present disclosure, the display module 33 is specifically used to obtain the playback progress status corresponding to the video clip and the download progress status corresponding to the initial video. When the difference between the download progress status and the playback progress status is greater than a predetermined time length, play the video frame images of the video clip.
[0092] Here, the acquisition module 31, the display module 32, and the editing module 33 are connected in sequence. The online video editing device 3 provided in this embodiment can execute the technical solutions of the above-described method embodiments, and their realization principles and technical effects are similar, so this embodiment will not be repeated here.
[0093] FIG. 12 is a schematic configuration diagram of an electronic device provided in an embodiment of the present disclosure. As shown in FIG. 12, the electronic device 4 includes a processor 41 and a memory 42 communicably connected to the processor 41, wherein the memory 42 stores computer-executable instructions, and the processor 41 realizes the online video editing method in the embodiments shown in FIGS. 2 to 10 by executing the computer-executable instructions stored in the memory 42.
[0094] Here, optionally, the processor 41 and the memory 42 are connected via a bus 43.
[0095] Related descriptions can be understood by referring to the related descriptions and effects corresponding to the steps in the embodiments corresponding to FIGS. 2 to 10, so they will not be repeated here.
[0096] An embodiment of the present disclosure provides a computer-readable storage medium, on which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are for realizing the online video editing method provided in any of the embodiments corresponding to FIGS. 2 to 10 of the present application.
[0097] Please refer to FIG. 13, which shows a schematic diagram suitable for realizing the configuration of the electronic device 900 according to an embodiment of the present disclosure. The electronic device 900 can be a terminal device or a server. Here, examples of the terminal device include, but are not limited to, mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (abbreviated as PAD), portable Android (registered trademark) devices (abbreviated as PAD), portable media players (abbreviated as PMP), in-vehicle terminals (e.g., in-vehicle navigation terminals), and other mobile terminals, as well as fixed terminals such as digital TVs and desktop computers. Note that the electronic device shown in FIG. 13 is merely an example and does not limit the functions and usage scope of the embodiments of the present disclosure in any way.
[0098] As shown in FIG. 13, the electronic device 900 can include a processing device (e.g., a central processing unit, a graphics processor, etc.) 901, which can execute various appropriate operations and processes based on a program stored in a read-only memory (abbreviated as ROM) 902 or a program loaded from a storage device 908 into a random access memory (abbreviated as RAM) 903. Various programs and data necessary for the operation of the electronic device 900 are also stored in the RAM 903. The processing device 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0099] Typically, an input device 906 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc., an output device 907 including, for example, a liquid crystal display (abbreviated as LCD), a speaker, a vibrator, etc., a storage device 908 including, for example, a magnetic tape, a hard disk, etc., and a communication device 909 can be connected to the I / O interface 905. The communication device 909 can permit the electronic device 900 to communicate with other devices wirelessly or wiredly to exchange data. FIG. 13 shows the electronic device 900 equipped with various devices, but it should be understood that it is not required to implement or include all the shown devices. More or fewer devices may alternatively be implemented or included.
[0100] In particular, according to the embodiments of the present disclosure, the process of referring to the foregoing flowchart description can be implemented as a computer software program. For example, the embodiments of the present disclosure include a computer program product including a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded or installed from a network via the communication device 909, or may be installed from the storage device 908, or may be installed from the ROM 902. When the computer program is executed by the processing device 901, the above-described functions limited to the methods of the embodiments of the present disclosure are executed.
[0101] Note that the computer-readable medium described above in the present disclosure may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. The computer-readable storage medium may 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 the computer-readable storage medium may include, but are not limited to, an electrical connection having one or more conductors, a portable computer magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact magnetic disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, the computer-readable storage medium may be any tangible medium that includes or stores a program, and the program may be used by or in conjunction with an instruction execution system, apparatus, or device. Also, in the present disclosure, the computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier, in which computer-readable program code is carried. Such a propagated data signal may take various forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium may be any computer-readable medium other than the computer-readable storage medium, and the computer-readable signal medium can transmit, propagate, or transmit a program used by or in conjunction with an instruction execution system, apparatus, or device. The program code included in the computer-readable medium can be transmitted via any suitable medium, including, but not limited to, wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.
[0102] The above computer-readable medium may be included in the above electronic device or may exist alone and not be assembled in the electronic device.
[0103] The computer-readable medium carries one or more programs, and when the one or more programs are executed on the electronic device, the electronic device is caused to execute the method shown in the above embodiments.
[0104] The computer program code for performing the operations of the present disclosure can be programmed in one or more programming languages or combinations thereof, and the programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, and further include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user computer, may be partially executed on the user computer, may be executed as an independent software package, may be partially executed on the user computer and partially executed on a remote computer, or may be executed entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user computer via any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, connected via the Internet using a provider that provides Internet services).
[0105] Flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram can represent a module, a program segment, or a portion of code, which includes one or more executable instructions for implementing the specified logical function. Also, it should be noted that in some alternative implementations, the functions shown within a block may occur in an order different from that shown in the drawings. For example, two blocks shown consecutively may actually be executed substantially in parallel or in the reverse order, depending on the functions involved. Further, each block in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or by a combination of dedicated hardware and computer instructions.
[0106] The units according to the embodiments of the present disclosure may be implemented by software or by hardware. Here, the name of the unit, in some cases, does not constitute a limitation to the unit itself. 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 above in this specification may be executed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0108] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can include or store a program used in or with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium include an electrical connection having one or more conductors, a portable computer magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact magnetic disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0109] In a first aspect, 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 video clips that the cloud has sliced and transmitted from the initial video, the video clips including at least one video frame of the initial video, and when not all of the video clips of the initial video have been received, in response to a first edit command to place the initial video on a video editing track of a video editing interface, 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 of the initial video in a video preview area. When not all video clips of the initial video have been received, in response to a second editing instruction for a video track clip corresponding to the initial video, display an identifier of the second editing instruction in the editing track and display a target video frame image in a video preview area, where the second editing instruction is for editing the initial video, and the target video frame image is for showing the editing result of the received video clip of the initial video according to the second editing instruction. An online video editing method including is provided.
[0110] According to one or more embodiments of the present disclosure, receiving the video clip sliced and transmitted by the cloud for the initial video includes: obtaining download information corresponding to the initial video, where the download information characterizes 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 sent by the cloud.
[0111] According to one or more embodiments of the present disclosure, obtaining the download information corresponding to the initial video includes: loading cache data corresponding to the initial video; and generating the download information corresponding to the initial video according to the loaded amount of the cache data.
[0112] According to one or more embodiments of the present disclosure, sending a download request to the cloud based on the video clip identifier includes: obtaining reference information of the initial video, where the reference information characterizes the slicing rule of 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 the local memory free space, determining a target storage location based on the memory free space, where the target storage location includes a memory or a hard disk, and storing the target video clip at the target storage location.
[0114] According to one or more embodiments of the present disclosure, the second editing instruction includes target editing parameters. Displaying a target video frame image in the video preview area described above includes obtaining a video frame waiting for processing in the video clip, where the video frame waiting for processing is a video frame behind the currently playing video frame image in the video preview area, sequentially editing the video frame waiting for processing based on the corresponding time stamp according to the target editing parameters 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 video frame waiting for processing.
[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 is for playing the video frame image of the video clip, and the second playback component is for playing the target video frame image. Sequentially displaying at least one of the target video frame images in the video preview area of the video editing interface described above includes synchronously calling the first playback component to sequentially play the video frame waiting for processing and calling the second playback component to sequentially play the target video frame image based on the time stamp of the video frame waiting for processing.
[0116] According to one or more embodiments of the present disclosure, the method further includes serializing editing information corresponding to the video clip, generating interruption data, and storing the interruption data in a hard disk; and after receiving an import command for the initial video, deserializing the interruption data, loading the interruption data into a memory, and obtaining the editing information corresponding to the video clip.
[0117] According to one or more embodiments of the present disclosure, the video clip includes a jump video clip, and receiving the video clip obtained by slicing and transmitting the initial video by the cloud includes determining a corresponding video jump position in response to a video jump command; determining a corresponding jump video clip based on the video jump position; and downloading the jump video clip from the cloud and temporarily stopping receiving other video clips until the download of the jump video clip is completed.
[0118] According to one or more embodiments of the present disclosure, displaying a video frame image of a received video clip in the initial video in the video preview area includes obtaining a playback progress status corresponding to the video clip and a download progress status corresponding to the initial video; and playing the video frame image of the video clip when a difference between the download progress status and the playback progress status is greater than a predetermined time length.
[0119] In a second aspect, according to one or more embodiments of the present disclosure, an acquisition module used for receiving, in response to importing an initial video into a video editing task, a video clip obtained by slicing and transmitting the initial video by a cloud, the video clip including at least one video frame of the initial video; When not all video clips of the initial video have been received, in response to a first editing command for arranging the initial video on a video editing track of a video editing interface, a video track clip corresponding to the initial video is displayed on the video editing track, and a video frame image of the received video clip among the initial videos is displayed in a video preview area. A display module used for this purpose; When 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, an identifier of the second editing command is displayed on the editing track and a 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 the video frame image of the received video clip among the initial videos to show the editing result by the second editing command. An editing module used for this purpose; An online video editing device including the above is provided.
[0120] According to one or more embodiments of the present disclosure, when the acquisition module receives a video clip sliced and transmitted by the cloud for the initial video, specifically, it acquires download information corresponding to the initial video, and the download information characterizes the current download progress status of the initial video. Based on the download information, determining a video clip identifier, 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. Used for this purpose.
[0121] According to one or more embodiments of the present disclosure, when the acquisition module acquires download information corresponding to the initial video, specifically, it is used for loading cache data corresponding to the initial video and generating download information corresponding to the initial video according to the amount of loaded cache data.
[0122] According to one or more embodiments of the present disclosure, when the acquisition module sends a download request to the cloud based on the video clip identifier, specifically, it is used for acquiring reference information of the initial video, where the reference information characterizes the slice rule of the initial video, and generating and sending 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 the available local memory capacity, determining a target storage location based on the available memory capacity, where the target storage location includes a memory or a hard disk, and storing the target video clip at the target storage location.
[0124] According to one or more embodiments of the present disclosure, the second editing instruction includes target editing parameters. When the editing module displays a target video frame image in the video preview area, specifically, it is used for acquiring video frames waiting for processing in the video clip, where the video frames waiting for processing are video frames behind the currently playing video frame image in the video preview area, sequentially editing the video frames waiting for processing according to the target editing parameters based on the corresponding timestamps to generate corresponding target video frame images, and sequentially displaying at least one target video frame in the video preview area of the video editing interface when the video clip is played to the video frames waiting for processing.
[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 is for playing video frame images of video clips, and the second playback component is for playing target video frame images. The editing module is used for, when sequentially displaying at least one target video frame in the video preview area of the video editing interface, specifically, based on the time stamp of the video waiting to be processed, synchronously calling the first playback component to sequentially play the video frames waiting to be processed and calling the second playback component to sequentially play the target video frame images.
[0126] According to one or more embodiments of the present disclosure, the editing module is further used for serializing editing information corresponding to a video clip, generating interruption data, and storing the interruption data in a hard disk, and after receiving an import instruction for an initial video, deserializing the interruption data and loading the interruption data into a memory to obtain the editing information corresponding to the video clip.
[0127] According to one or more embodiments of the present disclosure, the video clip includes a jump video clip. The acquisition module is specifically used for, in response to a video jump instruction, 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 suspending the reception of other video clips until the download of the jump video clip is completed.
[0128] According to one or more embodiments of the present disclosure, the display module is specifically used for obtaining the playback progress status corresponding to the video clip and the download progress status corresponding to the initial video, and for playing the video frame image of the video clip when the difference between the download progress status and the playback progress status is greater than a predetermined time length.
[0129] In a third aspect, according to one or more embodiments of the present disclosure, It includes a processor and a memory communicably connected to the processor, The memory stores computer-executable instructions, The processor executes the computer-executable instructions stored in the memory to provide an electronic device that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0130] In a fourth aspect, according to one or more embodiments of the present disclosure, it stores computer-executable instructions, and when the processor executes the computer-executable instructions, it provides a computer-readable storage medium that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0131] In a fifth aspect, an embodiment of the present disclosure includes a computer program, and when the computer program is executed by a processor, it provides a computer program product that realizes the online video editing method described in the first aspect and various possible designs of the first aspect as described above.
[0132] The above description is only an explanation of the preferred embodiments of the present disclosure and the applied technical principles. The scope of the disclosure related to the present disclosure is not limited to the technical solutions formed by specific combinations of the above technical features. Those skilled in the art should understand that other technical solutions formed by any combination of the above technical features or their equivalent features are also covered under the condition of not departing from the above disclosure concept. For example, technical solutions (but not limited to these) formed by replacing the above features with technical features having similar functions disclosed in the present disclosure can be cited.
[0133] Furthermore, although each operation is depicted in a specific order, it should not be understood that these operations are required to be executed in the specific order shown or in a consecutive order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Specific features described in the context of a single embodiment can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments either alone or in any suitable sub-combination.
[0134] The subject matter has been described in terms of language specific to structural features and / or methodological logical operations, but the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described above. Rather, it should be understood that the specific features and operations described above are merely exemplary forms for implementing the claims.
Claims
1. In response to importing an initial video for a video editing task, the cloud receives video clips sliced and sent by the cloud for the initial video, the video clips including at least one video frame of the initial video, and when not all video clips of the initial video have been received, in response to a first editing command for placing the initial video on a video editing track of a video editing interface, displaying a video track clip corresponding to the initial video on the video editing track and displaying a video frame image of the received video clips of the initial video in a video preview area, and when 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, displaying an identifier of the second editing command on the video 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 being for the video frame image of the received video clips of the initial video to show an editing result by the second editing command, and An online video editing method comprising the above.
2. The cloud receiving the video clips sliced and sent by the cloud for the initial video as described above is obtaining download information corresponding to the initial video, the download information characterizing a current download progress status of the initial video, and determining a video clip identifier based on the download information, and 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. The method according to claim 1.
3. Obtaining the download information corresponding to the initial video as described above is loading cache data corresponding to the initial video, and generating download information corresponding to the initial video according to an amount of the loaded cache data. The method according to claim 2.
4. Sending a download request to the cloud based on the video clip identifier as described above is Obtain the reference information of the initial video, where the reference information characterizes the slicing rule 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 the download request to the cloud.
5. Further, detecting the available local memory capacity, Determining a target storage location based on the available memory capacity, where the target storage location includes a memory or a hard disk, The method according to claim 2, comprising storing the target video clip in the target storage location.
6. The second editing command includes target editing parameters, and displaying the target video frame image in the video preview area described above is Obtaining the video frames waiting for processing in the video clip, where the video frames waiting for processing are video frames behind the currently playing video frame image in the video preview area, Sequentially editing the video frames waiting for processing according to the target editing parameters based on the corresponding timestamps to generate corresponding target video frame images, The method according to claim 1, comprising 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 video frames waiting for processing.
7. The video editing interface includes a first playback component and a second playback component. The first playback component is for playing the video frame images of the video clip, and the second playback component is for playing the target video frame images. Sequentially displaying at least one of the target video frame images in the video preview area of the video editing interface described above is The method according to claim 6, comprising synchronously calling the first playback component to sequentially play the video frames waiting for processing and calling the second playback component to sequentially play the target video frame images based on the timestamps of the video frames waiting for processing.
8. Further, serialize the editing information corresponding to the video clip, generate interruption data, and store it in a hard disk, and After receiving an import command for the initial video, deserialize the interruption data, load it into a memory, and obtain the editing information corresponding to the video clip. The method according to claim 1.
9. The video clip includes a jump video clip, and receiving the video clip obtained by slicing and transmitting the initial video by the cloud described above is In response to a video jump command, determining a corresponding video jump position, and Based on the video jump position, determining a corresponding jump video clip, and Downloading the jump video clip from the cloud, and temporarily stopping receiving other video clips until the download of the jump video clip is completed. The method according to claim 1.
10. Displaying a video frame image of a received video clip among the initial videos in the above-described video preview area is Obtaining a reproduction progress status corresponding to the video clip and a download progress status corresponding to the initial video, and When a difference between the download progress status and the reproduction progress status is greater than a predetermined time length, reproducing a video frame image of the video clip. The method according to claim 1.
11. For receiving a video clip obtained by slicing and transmitting the initial video by a cloud in response to importing the initial video into a video editing task, the video clip including at least one video frame of the initial video, an acquisition module, and When not all of the video clips of the initial video have been received, in response to a first editing command for arranging the initial video on a video editing track of a video editing interface, display a video track clip corresponding to the initial video on the video editing track, and a display module for displaying a video frame image of a received video clip among the initial videos in a video preview area 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, to display an identifier of the second editing command in the video editing track and to display a target video frame image in a video preview area, wherein the second editing command is for editing the initial video, and the target video frame image is for the video frame image of the received video clip among the initial videos to show an editing result by the second editing command, an editing module; An online video editing device including the same. **Claim 12** Including a processor and a memory communicably connected to the processor, The memory stores computer-executable instructions, The processor executes the computer-executable instructions stored in the memory to implement the online video editing method according to any one of Claims 1 to 10, an electronic device. **Claim 13** A computer-readable storage medium storing computer-executable instructions, and when the processor executes the computer-executable instructions, implementing the online video editing method according to any one of Claims 1 to 10. **Claim 14** Including a computer program, and when the computer program is executed by a processor, a computer program product implementing the online video editing method according to any one of Claims 1 to 10.
Citation Information
Patent Citations
Video editing method and device, computer equipment and storage medium
CN115120968A
Visual effects network-based rendering and steering
JP2015502678A
Media clip creation and distribution systems, apparatus, and methods
US20180012629A1
Information processing device, information processing method, and program
WO2021199473A1