Video collaborative editing method and device
The video collaborative editing is realized through peer-to-peer networks, solving the problem of storage pressure and delay of centralized servers, real-time collaboration and efficient data transmission are realized by multi-user.
Patent Information
- Application Number
- CN202510045616.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2025-04-08
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing video editor relies on a centralized server to store and collaboratively edit video drafts, resulting in increased server storage pressure and bandwidth consumption, serious latency problems, affecting the real-time collaboration and synchronization efficiency of multiple users.
Co-edited videos are realized through peer-to-peer networks, allowing video drafts to be directly shared between the first client and the second client, establish a connection, and collaborative editing. The method includes real-time acquisition and synchronization of the content and editing progress of the video draft, and optimized data transmission through shard configuration and incremental synchronization.
Reduce the server storage burden through peer-to-peer networks, reduce the delay problem of video collaborative editing, ensure real-time collaboration between users, improve the efficiency of video collaborative editing, and optimize data transmission.
Smart Images

Figure CN119788927A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of network technology, and in particular, to a video collaborative editing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] Currently, many video editors rely on centralized servers for the storage and collaborative editing of video drafts. In this model, video files are usually uploaded to the server, which provides storage and management.
[0003] However, as the size of video draft files increases, especially in HD or 4K video editing scenarios, the server's storage pressure and bandwidth consumption will increase significantly; and centralized storage is also prone to latency problems, affecting real-time collaboration between multiple users and resulting in low synchronization efficiency.
[0004] It should be noted that the above content is not necessarily prior art, nor is it intended to limit the scope of patent protection of this application. Summary of the invention
[0005] The embodiments of the present application provide a video collaborative editing method, apparatus, computer device, computer-readable storage medium, and computer program product to solve or alleviate one or more of the technical problems raised above.
[0006] One aspect of an embodiment of the present application provides a video collaborative editing method, which is applied to a first client, and the method includes: Sending a sharing request of a video draft to a second client via a peer-to-peer network, or receiving a sharing request of a video draft sent by the second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client; Establishing a connection between the first client and the second client based on the sharing request and a peer-to-peer network; The video draft is collaboratively edited based on operations of the first client and the second client.
[0007] Optionally, the collaboratively editing the video draft based on operations of the first client and the second client includes: Acquire the first content and the first editing progress of the video draft of the first client in real time; Sending the first content and the first editing progress to the second client, so that the second client synchronizes the first content and the first editing progress; receiving second content and second editing progress synchronized by the second client, where the second content and the second editing progress are acquired by the second client in real time; When the second content and the second editing progress are received, the second content and the second editing progress are synchronized on the first client.
[0008] Optionally, the method further comprises: Get the shard configuration; Segmenting the video draft based on the segmentation configuration; Correspondingly, sending the first content and the first editing progress to the second client includes: Determine, based on the first content, a target slice corresponding to modification by the first client; The target segment and the first editing progress are sent to the second client.
[0009] Optionally, after establishing a connection between the first client and the second client based on the sharing request and the peer network, the method further includes: In a case where the video draft is created by the first client, sending target metadata of the video draft to the second client; In a case where the video draft is created by the second client, receiving target metadata of the video draft sent by the second client; The target metadata at least includes at least part of the basic information, file attribute information, segment information and collaborative editing information of the video draft.
[0010] Optionally, the target metadata is stored in a server.
[0011] Optionally, the method further comprises: A request for creating the video draft is sent to the server, so that the server creates the video draft according to the creation request and assigns a unique identifier to the video draft, wherein the unique identifier is used to search and transmit the video draft in a peer-to-peer network.
[0012] Optionally, the collaboratively editing the video draft based on operations of the first client and the second client includes: Recording an editing log based on collaborative editing of the video draft by the first client and the second client; When an editing conflict is detected, the editing conflict is processed based on the editing log.
[0013] Another aspect of an embodiment of the present application provides a video collaborative editing device, applied to a first client, the device comprising: a sharing module, configured to send a sharing request of a video draft to a second client via a peer-to-peer network, or to receive a sharing request of a video draft sent by the second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client; a connection module, configured to establish a connection between the first client and the second client based on the sharing request and a peer-to-peer network; An editing module is used to collaboratively edit the video draft based on operations of the first client and the second client.
[0014] Another aspect of an embodiment of the present application provides a computer device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein: the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method described above.
[0015] Another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method described above is implemented.
[0016] Another aspect of an embodiment of the present application provides a computer program product, including a computer program, which implements the method described above when executed by a processor.
[0017] The above technical solution adopted in the embodiment of the present application may have the following advantages: A sharing request for a video draft is sent to a second client through a peer-to-peer network, or a sharing request for a video draft sent by the second client is received through the peer-to-peer network, a connection is established between the first client and the second client based on the sharing request and the peer-to-peer network, and the video draft is collaboratively edited based on operations of the first client and the second client. Collaborative editing of videos can be achieved through the peer-to-peer network, and storage of complete video drafts on a centralized server can be avoided, thereby reducing the storage burden of the server. At the same time, due to the high real-time performance of the peer-to-peer network, the delay problem of collaborative video editing can be reduced, thereby ensuring real-time collaboration between users and improving the efficiency of collaborative video editing. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0019] Figure 1A flowchart of a video collaborative editing method according to Embodiment 1 of the present application is schematically shown; Figure 2 Schematically shows Figure 1 Flow chart of sub-steps of step S204; Figure 3 The newly added process of the video collaborative editing method according to the first embodiment of the present application is schematically shown; Figure 4 Another newly added process of the video collaborative editing method according to the first embodiment of the present application is schematically shown; Figure 5 Schematically illustrates another newly added process of the video collaborative editing method according to the first embodiment of the present application; Figure 6 Schematically shows Figure 1 Another sub-step flow chart of step S204; Figure 7 A block diagram schematically shows a video collaborative editing device according to Embodiment 2 of the present application; and Figure 8 The hardware architecture diagram of the computer device according to the third embodiment of the present application is schematically shown. DETAILED DESCRIPTION
[0020] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0021] It should be noted that the descriptions involving "first", "second", etc. in the embodiments of the present application are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0022] In the description of the present application, it should be understood that the numerical labels before the steps do not indicate the order in which the steps are executed, but are only used to facilitate the description of the present application and to distinguish each step, and therefore should not be understood as a limitation on the present application.
[0023] First, the following terms are explained: Peer-to-Peer Network (P2P Network): refers to a computer network communication method in which each node (computer) can exchange data directly without going through a centralized server. Each node can be both a client and a server, enabling data sharing and distribution.
[0024] WebSocket: is a TCP-based network protocol used to establish a persistent connection between the client and the server and achieve full-duplex communication.
[0025] Secondly, in order to facilitate those skilled in the art to understand the technical solutions provided in the embodiments of the present application, the relevant technologies are described below: Video collaborative editing refers to the process of multiple people editing, modifying and sharing the same video simultaneously, in real time or asynchronously. Multiple people can collaborate to improve the efficiency of video editing.
[0026] Currently, many video editors rely on central servers for video draft storage and collaborative editing. In this mode, video files are usually uploaded to the server, which provides storage and management. However, as video quality continues to improve, video draft files are getting larger and larger, especially in HD or 4K video editing scenarios, the server's storage pressure and bandwidth consumption will increase significantly. In addition, centralized storage is prone to editing delays, which will seriously affect real-time collaboration between users and have low synchronization efficiency.
[0027] To this end, the embodiment of the present application provides a technical solution for collaborative video editing. In this technical solution, collaborative video editing through a peer-to-peer network can avoid the centralized server from storing complete video drafts, reducing the storage burden of the server; at the same time, it can reduce the delay problem of collaborative video editing, ensure real-time collaboration between users, and improve the efficiency of collaborative video editing; in addition, through incremental synchronization and video draft segmentation, data transmission is optimized, bandwidth usage is reduced, and data transmission efficiency is improved. See below for details.
[0028] The technical solutions of the present application are described below through multiple embodiments. It should be noted that these embodiments can be implemented in a variety of different forms and should not be construed as being limited to the embodiments described here.
[0029] Embodiment 1 Figure 1 The flowchart of the video collaborative editing method according to the first embodiment of the present application is schematically shown.
[0030] like Figure 1 As shown, the video collaborative editing method is applied to the first client and may include steps S200 to S204, wherein: Step S200: sending a sharing request for a video draft to a second client via a peer-to-peer network, or receiving a sharing request for a video draft sent by a second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client.
[0031] Step S202: establishing a connection between the first client and the second client based on the sharing request and the peer-to-peer network.
[0032] Step S204: collaboratively edit the video draft based on operations of the first client and the second client.
[0033] The video collaborative editing method provided in this embodiment sends a sharing request for a video draft to a second client through a peer-to-peer network, or receives a sharing request for a video draft sent by a second client through a peer-to-peer network, establishes a connection between the first client and the second client based on the sharing request and the peer-to-peer network, and collaboratively edits the video draft based on operations of the first client and the second client. Collaborative editing of videos can be achieved through a peer-to-peer network, and storage of complete video drafts by a centralized server can be avoided, thereby reducing the storage burden of the server. At the same time, due to the high real-time performance of the peer-to-peer network, the delay problem of video collaborative editing can be reduced, thereby ensuring real-time collaboration between users and improving the efficiency of video collaborative editing.
[0034] The following combination Figure 1 , each step in steps S200~S204 and other optional steps are described in detail.
[0035] Step S200 , sending a sharing request of a video draft to a second client through a peer-to-peer network, or receiving a sharing request of a video draft sent by the second client through a peer-to-peer network, wherein the video draft is created by the first client or the second client.
[0036] The first client or the second client may be one or more.
[0037] Specifically, the first client or the second client may first create a video draft, and then send a sharing request for the video draft to the second client or the first client through a peer-to-peer network. When creating a video draft, it may be created directly in the client or indirectly through the server. When creating a video draft directly on the client, the client may send relevant information of the video draft to the server to facilitate the user to search and manage the relevant information. The relevant information of the video draft may include metadata such as the title, description, creation time, and other information of the video draft. In the sharing request, the metadata of the video draft (such as the size and format of the video draft) may be included so that the second client or the first client obtains the metadata of the video draft according to the sharing request.
[0038] In an optional embodiment, the video collaborative editing method of the embodiment of the present application may also include: sending a request to create a video draft to the server, so that the server creates a video draft according to the creation request and assigns a unique identifier to the video draft, and the unique identifier is used to search and transmit the video draft in a peer-to-peer network.
[0039] Specifically, the first client sends a request to create a video draft to the server, such as sending an HTTP request to the server to request the creation of a video draft. When the server receives the creation request, it can perform a validity check on the creation request. If the check passes, the video draft is created and a unique identifier is assigned to the video draft by a method such as a UUID or a timestamp.
[0040] In this embodiment, a request to create a video draft is sent to the server through the first client or the second client, so that the server creates the video draft according to the creation request and assigns a unique identifier to the video draft. The unique identifier can be given in a coordinated manner by the server to facilitate subsequent collaborative editing and management based on the unique identifier.
[0041] When a video draft is created directly on the client, a unique identifier may be assigned to the created video draft through a UUID or a timestamp.
[0042] Before the first client sends a request to share the draft video to the second client, the first client can use the server to discover the second client, and then send the request to share the draft video to other clients through the peer-to-peer network. Alternatively, if the address of the second client is known, the request to share the draft video is directly sent to the address of the second client through the peer-to-peer network. For example, if the first client knows the IP address of the second client, it directly sends the request to share the draft video to the second client through the peer-to-peer network according to the address of the second client.
[0043] Step S202 , a connection is established between the first client and the second client based on the sharing request and the peer-to-peer network.
[0044] Specifically, when a client receives a sharing request, it can accept or reject the sharing request. In the case of acceptance, a connection with the client that sends the sharing request is established through the peer-to-peer network; in the case of rejection, no connection is established with the client that sends the sharing request. For example, the second client creates a video draft and then sends a sharing request for the video draft to the first client. When the first client receives the sharing request, it can click to confirm its agreement and then establish a connection with the second client through the peer-to-peer network. The connection between the first client and the second client can be a TCP connection, a UDP connection, or a WebSocket.
[0045] Step S204 , based on the operations of the first client and the second client, the video draft is collaboratively edited.
[0046] After establishing a peer-to-peer network connection between the first client and the second client, users corresponding to the first client and the second client can edit the video draft respectively in their respective clients, and synchronously update their respective edits to other clients to achieve collaborative editing of the video draft.
[0047] In an optional embodiment, if Figure 2 As shown, step S204 may include: Step S300, obtaining the first content and the first editing progress of the video draft of the first client in real time.
[0048] Step S302: Send the first content and the first editing progress to the second client, so that the second client synchronizes the first content and the first editing progress.
[0049] Step S304: receiving the second content and the second editing progress synchronized by the second client, where the second content and the second editing progress are acquired by the second client in real time.
[0050] Step S306: upon receiving the second content and the second editing progress, synchronizing the second content and the second editing progress at the first client.
[0051] It can be understood that (step S300, step S302) and (step S304, step S306) can be performed synchronously, that is, the first client can synchronize the first content and the first editing progress of the video draft to the second client, and at the same time, can synchronize the second content and the second editing progress of the video draft sent by the second client.
[0052] The first content or the second content may include video clips, audio clips, subtitles, pictures, transition effects, special effects, key frames and the like.
[0053] Specifically, the first client obtains the first content and the first editing progress of the video draft on the first client in real time, and sends the first content and the first editing progress to the second client; when the second client receives the first content and the first editing progress, it synchronizes the first content and the first editing progress on the second client. Similarly, the second client can also obtain the second content and the second editing progress of the video draft on the second client in real time, and send the second content and the second editing progress to the first client; when the first client receives the second content and the second editing progress, it synchronizes the second content and the second editing progress on the first client.
[0054] In this embodiment, by sending the content and editing progress of the video draft in this client to other clients for synchronization, or synchronizing according to the content and editing progress of the video draft sent by other clients, it is possible to achieve synchronous updating of the video draft in the first client and the second client, ensuring the consistency of the editing content between multiple clients and facilitating collaborative editing of the video draft.
[0055] In an optional embodiment, if Figure 3 As shown, the video collaborative editing method of the embodiment of the present application may also include: Step S400, obtaining shard configuration.
[0056] Step S402, segment the video draft based on the segment configuration.
[0057] Correspondingly, if Figure 4 As shown, in step S302, sending the first content and the first editing progress to the second client may include: Step S404: determining a target segment corresponding to modification by the first client based on the first content.
[0058] Step S406: Send the target segment and the first editing progress to the second client.
[0059] Among them, the segmentation configuration can be configured by the developer or customized by the user. For example, when the video draft is created through the server, the developer can configure the segmentation configuration of the video draft. For another example, when the video draft is created directly through the client, a configuration interface for the segmentation configuration can be provided on the client, and the user configures the relevant parameters of the segmentation configuration in the configuration interface. Optionally, the client or server can also automatically adjust or set the segmentation configuration according to the real-time network status, the client's device performance, or historical editing operation data. The segmentation configuration can be determined based on the video size, editing operation frequency, network bandwidth, client storage space, and device performance. For example, for video drafts with a high editing operation frequency, finer segmentation can be performed to minimize the amount of data synchronized for each edit; for another example, when the network bandwidth is low, finer segmentation can be performed to minimize the pressure on network transmission.
[0060] Specifically, the first client obtains the segmentation configuration, and segments the video draft according to the segmentation configuration; when the first content needs to be sent to the second client, the portion modified by the first client is determined according to the first content, the target segment corresponding to the modified portion is determined, and then the target segment and the first editing progress are sent to the second client, so that the second client synchronizes according to the target segment and the first editing progress. For example, assuming that the video draft is divided into 10 segments according to the segmentation configuration, if it is determined that the target segment corresponding to the portion modified by the first client is segment 2 and segment 3, then segment 2 and segment 3 and the first editing progress are sent to the second client, so that the second client synchronizes according to segment 2, segment 3 and the first editing progress.
[0061] In this embodiment, by obtaining the segmentation configuration, the video draft is segmented based on the segmentation configuration; the target segment corresponding to the modification of the first client is determined based on the first content, and the target segment and the first editing progress are sent to the second client. The video draft can be segmented to reduce the amount of data transmitted each time and reduce the use of bandwidth; at the same time, by only sending the target segment corresponding to the modification to other clients for synchronization, incremental synchronization can be achieved, avoiding the transmission of the entire video draft, and improving the efficiency of data transmission synchronization.
[0062] In an optional embodiment, after step S202, that is, after the connection between the first client and the second client is established based on the sharing request and the peer network, as shown in FIG. Figure 5 As shown, the video collaborative editing method of the embodiment of the present application may also include: Step S500: When the video draft is created by the first client, the target metadata of the video draft is sent to the second client.
[0063] Step S502, when the video draft is created by the second client, receiving target metadata of the video draft sent by the second client, wherein the target metadata at least includes at least part of basic information of the video draft, file attribute information, segmentation information and collaborative editing information.
[0064] Among them, basic information may include video name, description, tag, creation time, modification time, creator and other information; file attribute information may include video format, encoding format, resolution, frame rate, bit rate, duration, file size and other information; segment information may include number of segments, segment size, segment index, segment content summary and other information; collaborative editing information may include editing history, current status, version control and other information.
[0065] Specifically, in the case where the video draft is created by the first client, the first client can send the target metadata of the video draft to the second client when sending a sharing request for the video draft, and the second client can determine whether to agree to the sharing request based on the target metadata of the video draft; in the case where the video draft is created by the second client, the second client can send the target metadata of the video draft to the first client when sending a sharing request for the video draft, and the first client receives the target metadata of the video draft and can determine whether to agree to the sharing request based on the target metadata of the video draft.
[0066] In this embodiment, by sending the target metadata of the video draft to the second client through the first client, or by receiving the target metadata of the video draft sent by the second client, synchronization and real-time collaboration can be conveniently performed based on the metadata of the video draft, while maintaining data consistency.
[0067] In an optional embodiment, the target metadata is stored in the server.
[0068] It is understandable that the target metadata can also be stored in the client, but relatively speaking, storing it in the server can make it easier for each client to find and use it. For example, when two clients do not establish a connection through a peer-to-peer network or a client is unavailable, storing it in the server is obviously more convenient for the client in need to obtain it. In addition, the server only stores the target metadata of the video draft, and does not store the video draft itself, so it does not increase the storage burden of the server.
[0069] In an optional embodiment, if Figure 6 As shown, in step S204, collaboratively editing the video draft based on the operations of the first client and the second client may include: Step S600: Recording an editing log based on the collaborative editing of the video draft by the first client and the second client.
[0070] Step S602: When an editing conflict is detected, the editing conflict is processed based on the editing log.
[0071] The content of the edit log record may include the operation type (such as adding, deleting, modifying), operation time, operation object (such as video clips, special effects, subtitles), specific operation content, operation user, version number, etc.
[0072] When detecting whether there is an editing conflict, it is possible to detect whether two or more clients modify the same part at the same time. If so, it is determined that there is an editing conflict.
[0073] When handling editing conflicts based on the editing log, the retained content can be determined based on the order of operations. For example, when the first client and the second client modify the same part at the same time, it is determined based on the editing log that the operation of the first client is earlier, and the operation content of the first client is retained. Optionally, the edit log record of the conflicting part can also be displayed to the first client and the second client, and relevant merge options can be provided. The users of the first client and the second client negotiate and merge the content to determine the retained content.
[0074] In actual applications, when a client modifies a certain part, it can first be determined whether other clients are modifying the part. If other clients are modifying the part, the modification operation of the current client on the part is rejected.
[0075] In this embodiment, an editing log is recorded based on the collaborative editing of the video draft by the first client and the second client. When an editing conflict is detected, the editing conflict is handled based on the editing log. The editing log can be used to resolve editing conflicts that may exist in the collaborative editing of the video and ensure the consistency and integrity of each editing content.
[0076] Embodiment 2 Figure 7 The block diagram of the video collaborative editing device according to the second embodiment of the present application is schematically shown. The device can be divided into one or more program modules, one or more program modules are stored in a storage medium, and are executed by one or more processors to complete the embodiment of the present application. The program module referred to in the embodiment of the present application refers to a series of computer program instruction segments that can complete specific functions. The following description will specifically introduce the functions of each program module in this embodiment. Figure 7 As shown, the device 700 can be applied to a first client and can include a sharing module 710, a connection module 720 and an editing module 730, wherein: A sharing module 710, configured to send a sharing request of a video draft to a second client via a peer-to-peer network, or receive a sharing request of a video draft sent by the second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client; A connection module 720, configured to establish a connection between the first client and the second client based on the sharing request and a peer-to-peer network; The editing module 730 is used to collaboratively edit the video draft based on operations of the first client and the second client.
[0077] In an optional embodiment, the editing module 730 is further configured to: Acquire the first content and the first editing progress of the video draft of the first client in real time; Sending the first content and the first editing progress to the second client, so that the second client synchronizes the first content and the first editing progress; receiving second content and second editing progress synchronized by the second client, where the second content and the second editing progress are acquired by the second client in real time; When the second content and the second editing progress are received, the second content and the second editing progress are synchronized on the first client.
[0078] In an optional embodiment, the device 700 is further used for: Get the shard configuration; Segmenting the video draft based on the segmentation configuration; Correspondingly, the editing module 730 is also used for: Determine, based on the first content, a target slice corresponding to modification by the first client; The target segment and the first editing progress are sent to the second client.
[0079] In an optional embodiment, the device 700 is further used for: In a case where the video draft is created by the first client, sending target metadata of the video draft to the second client; In a case where the video draft is created by the second client, receiving target metadata of the video draft sent by the second client; The target metadata at least includes at least part of the basic information, file attribute information, segment information and collaborative editing information of the video draft.
[0080] In an optional embodiment, the target metadata is stored in a server.
[0081] In an optional embodiment, the device 700 is further used for: A request for creating the video draft is sent to the server, so that the server creates the video draft according to the creation request and assigns a unique identifier to the video draft, wherein the unique identifier is used to search and transmit the video draft in a peer-to-peer network.
[0082] In an optional embodiment, the editing module 730 is further configured to: Recording an editing log based on collaborative editing of the video draft by the first client and the second client; When an editing conflict is detected, the editing conflict is processed based on the editing log.
[0083] Embodiment 3 Figure 8 The schematic diagram of the hardware architecture of a computer device 10000 suitable for implementing a video collaborative editing method according to the third embodiment of the present application is shown schematically. In some embodiments, the computer device 10000 may be a terminal device such as a smart phone, a wearable device, a tablet computer, a personal computer, a vehicle-mounted terminal, a game console, a virtual device, a workbench, a digital assistant, a set-top box, a robot, etc. In other embodiments, the computer device 10000 may be a rack server, a blade server, a tower server, or a cabinet server (including an independent server, or a server cluster composed of multiple servers), etc. Figure 8 As shown, the computer device 10000 includes but is not limited to: a memory 10010, a processor 10020, and a network interface 10030 that can communicate with each other through a system bus. Among them: The memory 10010 includes at least one type of computer-readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (such as SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 10010 can be an internal storage module of the computer device 10000, such as a hard disk or memory of the computer device 10000. In other embodiments, the memory 10010 can also be an external storage device of the computer device 10000, such as a plug-in hard disk equipped on the computer device 10000, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Of course, the memory 10010 can also include both the internal storage module of the computer device 10000 and its external storage device. In this embodiment, the memory 10010 is generally used to store an operating system and various application software installed in the computer device 10000, such as program codes of a video collaborative editing method, etc. In addition, the memory 10010 can also be used to temporarily store various data that have been output or are to be output.
[0084] In some embodiments, the processor 10020 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other chips. The processor 10020 is generally used to control the overall operation of the computer device 10000, such as performing control and processing related to data interaction or communication with the computer device 10000. In this embodiment, the processor 10020 is used to run the program code stored in the memory 10010 or process data.
[0085] The network interface 10030 may include a wireless network interface or a wired network interface, and the network interface 10030 is generally used to establish a communication link between the computer device 10000 and other computer devices. For example, the network interface 10030 is used to connect the computer device 10000 to an external terminal through a network, and to establish a data transmission channel and a communication link between the computer device 10000 and the external terminal. The network may be a wireless or wired network such as an intranet, the Internet, the Global System of Mobile communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network, 5G network, Bluetooth, Wi-Fi, etc.
[0086] It should be pointed out that Figure 8 Only a computer device having components 10010 - 10030 is shown, but it should be understood that implementation of all of the components shown is not a requirement, and more or fewer components may alternatively be implemented.
[0087] In this embodiment, the video collaborative editing method stored in the memory 10010 can also be divided into one or more program modules and executed by one or more processors (such as processor 10020) to complete the embodiment of the present application.
[0088] Embodiment 4 An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the video collaborative editing method in the embodiment are implemented.
[0089] In this embodiment, the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device. In other embodiments, the computer-readable storage medium may also be an external storage device of a computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the computer device. Of course, the computer-readable storage medium may also include both an internal storage unit of a computer device and an external storage device thereof. In this embodiment, the computer-readable storage medium is generally used to store an operating system and various application software installed on a computer device, such as the program code of the video collaborative editing method in the embodiment, etc. In addition, the computer-readable storage medium may also be used to temporarily store various types of data that have been output or are to be output.
[0090] Embodiment 5 An embodiment of the present application also provides a computer program product, including a computer program, which implements the method in the above embodiment when executed by a processor.
[0091] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present application can be implemented by general-purpose computer devices, they can be concentrated on a single computer device, or distributed on a network composed of multiple computer devices, optionally, they can be implemented by executable program codes of computer devices, so that they can be stored in a storage device and executed by the computer device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0092] It should be noted that the above are only preferred embodiments of the present application, and the patent protection scope of the present application is not limited thereto. Any equivalent structure or equivalent process transformation made using the contents of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A video collaborative editing method, characterized in that: Applied to a first client, the method includes: Sending a sharing request of a video draft to a second client via a peer-to-peer network, or receiving a sharing request of a video draft sent by the second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client; Establishing a connection between the first client and the second client based on the sharing request and a peer-to-peer network; The video draft is collaboratively edited based on operations of the first client and the second client.
2. The method according to claim 1, characterized in that: The collaborative editing of the video draft based on the operations of the first client and the second client includes: Acquire the first content and the first editing progress of the video draft of the first client in real time; Sending the first content and the first editing progress to the second client, so that the second client synchronizes the first content and the first editing progress; receiving second content and second editing progress synchronized by the second client, where the second content and the second editing progress are acquired by the second client in real time; When the second content and the second editing progress are received, the second content and the second editing progress are synchronized on the first client.
3. The method according to claim 2, characterized in that The method further comprises: Get the shard configuration; Segmenting the video draft based on the segmentation configuration; Correspondingly, sending the first content and the first editing progress to the second client includes: Determine, based on the first content, a target slice corresponding to modification by the first client; The target segment and the first editing progress are sent to the second client.
4. The method according to claim 1, characterized in that: After establishing a connection between the first client and the second client based on the sharing request and the peer network, the method further includes: In a case where the video draft is created by the first client, sending target metadata of the video draft to the second client; In a case where the video draft is created by the second client, receiving target metadata of the video draft sent by the second client; The target metadata at least includes at least part of the basic information, file attribute information, segment information and collaborative editing information of the video draft.
5. The method according to claim 4, characterized in that The target metadata is stored in the server.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: A request for creating the video draft is sent to the server, so that the server creates the video draft according to the creation request and assigns a unique identifier to the video draft, wherein the unique identifier is used to search and transmit the video draft in a peer-to-peer network.
7. The method according to any one of claims 1 to 5, characterized in that: The collaborative editing of the video draft based on the operations of the first client and the second client includes: Recording an editing log based on collaborative editing of the video draft by the first client and the second client; When an editing conflict is detected, the editing conflict is processed based on the editing log.
8. A video collaborative editing device, characterized in that: Applied to a first client, the device comprises: a sharing module, configured to send a sharing request of a video draft to a second client via a peer-to-peer network, or to receive a sharing request of a video draft sent by the second client via a peer-to-peer network, wherein the video draft is created by the first client or the second client; a connection module, configured to establish a connection between the first client and the second client based on the sharing request and a peer-to-peer network; An editing module is used to collaboratively edit the video draft based on operations of the first client and the second client.
9. A computer device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein: The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Online collaborative video editing method and device
CN111277905A
Collaborative video processing method and device, electronic equipment and storage medium
CN113099130A
Data processing method and device
CN115706811A
Video production method and device, equipment and medium
CN118018811A
Multi-user collaborative editing method and device, terminal and storage medium
CN118138599A