WO2022082457A1 - Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system - Google Patents

Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system Download PDF

Info

Publication number
WO2022082457A1
WO2022082457A1 PCT/CN2020/122279 CN2020122279W WO2022082457A1 WO 2022082457 A1 WO2022082457 A1 WO 2022082457A1 CN 2020122279 W CN2020122279 W CN 2020122279W WO 2022082457 A1 WO2022082457 A1 WO 2022082457A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
file
frame
encoder
proxy
Prior art date
Application number
PCT/CN2020/122279
Other languages
French (fr)
Chinese (zh)
Inventor
王强
王博
朱超
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2020/122279 priority Critical patent/WO2022082457A1/en
Priority to CN202080015467.7A priority patent/CN113491122A/en
Publication of WO2022082457A1 publication Critical patent/WO2022082457A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENTS OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • B64D47/08Arrangements of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • the present disclosure relates to the technical field of video processing, and in particular, to a video processing method, device and device, unmanned aerial vehicle, and image transmission system.
  • the proxy file is a video file that is basically synchronized with the main video file but has a lower image quality. It occupies a small space and requires less hardware when decoding and playing. By using the proxy file, the time-consuming to download the original video can be effectively reduced and the load on the playback hardware can be reduced. For example, when using editing software for video editing, you can preview, crop, and add special effects to the proxy file first, and then call the main video file for rendering.
  • the proxy file needs to be synchronized with the main video file to avoid the inconsistency between the proxy file previewed by the user and the main video content.
  • the traditional way of synchronizing proxy files generally uses an additional device outside the video capture device to downsample the main video file to obtain the proxy file. Since the downsampling method takes a long time, the process of generating the proxy file is less efficient.
  • the present disclosure provides a video processing method, device and equipment, an unmanned aerial vehicle, and a picture transmission system, which can improve the efficiency of generating proxy files.
  • an embodiment of the present disclosure provides a video processing method, which is applied to a video processing device including a first encoder and a second encoder, the method comprising: acquiring a first video frame generated by the first encoder and the second video frame generated by the second encoder; the first video frame is written into the main video file, the second video frame is written into the proxy file, and the first video frame in the main video file is written.
  • the video frame is synchronized with the second video frame in the proxy file, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  • an embodiment of the present disclosure provides a video processing apparatus, including a processor, wherein the processor is configured to perform the following steps: acquiring a first video frame generated by the first encoder and the second video frame a second video frame generated by an encoder; writing the first video frame into a main video file, writing the second video frame into a proxy file, and combining the first video frame in the main video file with the The second video frame in the proxy file is synchronized, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  • embodiments of the present disclosure provide a video processing device, including a first encoder, a second encoder, and a processor; the first encoder is configured to acquire a video code stream, and generate a first video code stream according to the video code stream.
  • the second encoder is configured to obtain the video code stream, generate a second video frame according to the video code stream, and convert the second video frame
  • the video frame is sent to the processor;
  • the processor is configured to perform the following operations: obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
  • the video frame is written into the main video file, the second video frame is written into the proxy file, and the first video frame in the main video file is synchronized with the second video frame in the proxy file, wherein all the The proxy file is used for the user to preview and select the video segment to be processed before the main video file is processed by the video display device.
  • an embodiment of the present disclosure provides an unmanned aerial vehicle, comprising: a body; a camera disposed on the body for capturing video streams; The video processing device described above.
  • an embodiment of the present disclosure provides an image transmission system, the image transmission system includes: a pan-tilt camera, and the pan-tilt camera includes: a housing; a pan-tilt mounted on the housing; The camera on the PTZ is used for collecting video streams; and the video processing device according to any embodiment of the present disclosure is provided in the casing.
  • an embodiment of the present disclosure provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the video processing method described in any of the embodiments of the present disclosure.
  • the first video frame and the second video frame are generated in parallel by the two-channel encoder in the video processing device, the main video file is generated based on the first video frame, and the second video frame is generated synchronously based on the second video frame.
  • proxy file so that after the video processing device collects the video stream, the proxy file can be generated inside the video processing device, which ensures the generation efficiency of the proxy file and the synchronization between the proxy file and the main video file.
  • FIG. 1 is a schematic diagram of a traditional way of generating a proxy file.
  • FIG. 2 is a flowchart of a video processing method according to an embodiment of the present disclosure.
  • FIG. 3 is a schematic diagram of a generation method of a proxy file according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of a synchronization process when an encoder is started according to an embodiment of the present disclosure.
  • FIG. 5 is a schematic diagram illustrating the flow of video frames of the second encoder during a normal recording process according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of a synchronization process in a pause and resume process according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of a synchronization process in a file splitting process according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of an audio and video synchronization manner according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of a video processing apparatus according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic diagram of a video processing device according to an embodiment of the present disclosure.
  • FIG. 11A and 11B are schematic diagrams of drones of embodiments of the present disclosure.
  • FIG. 12 is a schematic diagram of an image transmission system according to an embodiment of the present disclosure.
  • first, second, third, etc. may be used in this disclosure to describe various pieces of information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information, without departing from the scope of the present disclosure.
  • word "if” as used herein can be interpreted as "at the time of” or "when” or "in response to determining.”
  • the image sensor 101 a in the camera 101 captures a video stream, and then the encoder 101 b in the camera 101 generates a video frame based on the video stream, and the video frame is written into the main video file 103 .
  • the camera 101 transmits the main video file 103 to the mobile phone 102 in real time, and the mobile phone 102 downsamples the received main video file to generate a proxy file 104 .
  • an embodiment of the present disclosure provides a video processing method, as shown in FIG. 2 , the method may include:
  • Step 201 Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
  • Step 202 Write the first video frame into a main video file, write the second video frame into a proxy file, and write the first video frame in the main video file with the second video frame in the proxy file.
  • the video frames are synchronized, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  • the main video file refers to the original video file generated based on the video code stream collected by the image sensor.
  • the main video file generally has high image quality, but occupies a large storage space, and requires more hardware during decoding and playback. high.
  • a proxy file is a video file with roughly the same content as the main video file, but with lower quality. Compared with the main video file, the proxy file occupies less storage space and requires less hardware when decoding and playing.
  • the video processing method of the embodiment of the present disclosure may be executed by a processor.
  • the processor may be a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and other types.
  • the processor may be a single processor or a processor cluster including multiple processors.
  • the video processing device in the embodiment of the present disclosure may be a device with a video capture function, for example, a camera.
  • a video code stream may be collected through an image sensor in a video processing device.
  • the first encoder and the second encoder can obtain the original video code stream, and respectively generate the first video frame and the second video frame according to the original video code stream.
  • the original video code stream obtained by the first encoder and the second encoder may be the video code stream collected by the same image sensor, so as to reduce the hardware cost.
  • the first encoder and the second encoder may be encoders internal to the video processing device. By arranging two encoders inside the video processing device, after the video processing device captures the video stream, the proxy file can be generated inside the video processing device, and no additional device is needed to generate the proxy file. After the first encoder and the second encoder generate corresponding video frames, the video frames may be sent to the processor.
  • the processor may invoke a write process to write the first video frame to the main video file and the second video frame to the proxy file, a process referred to as video recording.
  • the recorded main video file and proxy file can be stored in a storage unit (eg, SD card) of the video processing device.
  • the first video frame in the main video file needs to be synchronized with the second video frame in the proxy file.
  • the certain error may be less than or equal to the duration corresponding to one video frame. That is to say, when the time difference between the first video frame in the main video file and the second video frame in the proxy file is less than the duration corresponding to one video frame, it can be regarded as the first video frame and the second video frame Frames are synchronized.
  • the duration corresponding to one video frame may be the duration corresponding to one video frame in the file with a higher frame rate.
  • the proxy file of the present application can be used on a video display device for a user to preview and select video clips to be processed.
  • the segmented download function means that the camera body stores the main video file, and the video display device downloads the proxy file. The user selects the video clip to be downloaded in the proxy file, and then requests the camera side to transmit the main video file with a higher resolution. High raw footage.
  • the proxy editing function means that both the proxy file and the original file are completely downloaded to the video display device. The preview, editing, and cropping operations performed by the user on the video display device are all performed for the proxy file. Only the corresponding video clips in the main video file are processed. By using the proxy editing function, the time required to decode the complete main video file can be saved.
  • the processor can read the proxy file from the storage space of the video processing device in response to receiving the video preview instruction, and send the read proxy file to the video display device for decoding and display, and obtain the decoded proxy file.
  • the video preview instruction may be sent by the user to the processor through an interactive control (eg, button, touch screen) on the video processing device, or sent by the user through the video display device, or may also be sent in other ways sent to the processor.
  • the selection request in the main video file corresponding to the first video segment may be responsive to the selection request.
  • the second video segment is sent to the video display device for processing.
  • a download request can be sent to the processor through the video display device.
  • the download request may carry identification information of the first video segment in the proxy file.
  • the processor may send the second video segment in the main video file that is synchronized with the first video segment to the video display device, which is called segmented download.
  • the second video clip includes a first video clip, and the duration of the second video clip may be slightly longer than the first video clip.
  • An application scenario is: the video processing device transmits the captured real-time image to the video playback device, such as a mobile phone for preview display, and the user can trigger the video processing device to record the video through the preview image.
  • the video processing device will separately store For the main video file and the proxy file, when the recording is over, if the user wants to play the recorded video through the video display device, the video processing device can first transmit the proxy file to the video display device for playback, saving transmission overhead and time.
  • the video display device decodes the received proxy file, and then plays the video image corresponding to the second video frame, and the user determines the video segment to be edited by watching the video played by the video display device.
  • the video display device After the user selects the video clip to be edited from the playing video screen, the video display device sends the time stamp information corresponding to the video clip to the video processing device, and the video processing device searches the main video file based on the time stamp information.
  • the corresponding file data is sent to the video display device, and after the video display device receives and decodes this part of the data, it performs the post-editing process.
  • the processor may send the main video file and the proxy file to the video display device respectively, wherein the proxy file is used for the user to preview and edit the video display device on the video display device.
  • the display device may perform the first processing on the first video clip in the proxy file based on the user operation, and perform the first processing on the second video clip corresponding to the first video clip in the main video file based on the first processing.
  • the second process is to obtain the processing result of the high-resolution video frames in the main video file.
  • a first encoder 301 and a second encoder 302 may be set in the camera 300 , and the first encoder 301 and the second encoder 302 respectively receive video streams from the image sensor 303 , and generate the first video frame and the second video frame respectively.
  • the first video frame is used to generate the main video file
  • the second video frame is used to generate the proxy file.
  • the video parameters of the main video file and the video parameters of the proxy file may be different.
  • the video parameters may include, but are not limited to, at least one of resolution, bit rate, frame rate, and group of pictures.
  • the video parameters of the proxy file can be set according to actual needs. For example, it can be set according to at least one of user preferences, hardware resources, application scenarios and other conditions. For example, in a situation where a user tends to preview a proxy file with higher quality, or in a scenario where high-precision processing of a video file is required, the resolution of the proxy file can be set higher. For another example, when the transmission bandwidth is limited, the code rate of the proxy file may be set lower.
  • the code rate of the proxy file can be set to an integral multiple of the code rate of the main video file, or the code rate of the main video file can be set to an integral multiple of the code rate of the proxy file.
  • the frame rate of the main video file is 60fps and the frame rate of the proxy file is 30fps; or the frame rate of the main video file is 30fps and the frame rate of the proxy file is 60fps. In this way, the synchronization accuracy of the second video frame in the proxy file and the first video frame in the main video file can be improved.
  • the instant decoding refresh (Instantaneous Decoding Refresh) sent by the first encoder may be used.
  • IDR Instant Decoding Refresh
  • the role of an IDR frame is to clear the reference frame queue, so as to block the reference of the subsequent video frame of the IDR frame to the video frame before the IDR frame during video decoding.
  • the first video frame (including the first IDR frame) sent by the first encoder is synchronized with the second video frame (including the second IDR frame) sent by the second encoder to the corresponding video file.
  • the startup process of the first encoder and the second encoder if the startup of the first encoder and the second encoder are synchronized, if the first IDR sent by the first encoder is simultaneously received frame and the second IDR frame sent by the second encoder, the first video frame including the first IDR frame can be directly written into the main video file, and the second video frame including the second IDR frame can be written Write the proxy file. Simultaneous here does not mean the same moment, but means that the time interval is less than a certain threshold, for example, less than the duration of one video frame.
  • the start of the first encoder and the second encoder are not synchronized, if only the first IDR frame or the second IDR frame is received, the first IDR frame or the second IDR frame is sent to the The encoder of two IDR frames cyclically sends IDR requests until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and the first video frame including the first IDR frame A second video frame of the second IDR frame is written to the proxy file.
  • FIG. 4 it is a schematic diagram of a synchronization process of a first video frame and a second video frame in the case that the startup of the first encoder and the second encoder are not synchronized.
  • the start-up asynchronous may be that the start-up durations of the first encoder and the second encoder are different, or the start-up time of the first encoder and the second encoder may be different.
  • Figure 4 shows the case where the first encoder starts faster and the second encoder starts slower.
  • the first encoder generates a first video frame when the startup is completed.
  • the first video frame of the first frame generated by the first encoder is the first IDR frame.
  • the video frame generated after the first IDR frame may be a B frame or a P frame, as shown by a blank white square in the figure.
  • the first encoder may send the first IDR frame to the processor.
  • the processor can determine whether the second IDR frame sent by the second encoder is received. If it is not received, the IDR request is sent again to the encoder that starts faster (ie, the first encoder), and the first encoder will generate the first IDR frame again when the IDR request is received.
  • the processor does not start video recording until the processor receives the first IDR frame and the second IDR frame synchronously, that is, writes the first video frame including the first IDR frame into the main video file, and synchronously records the first IDR frame.
  • the second video frame including the two IDR frames, is written to the proxy file.
  • the first video frame and the second video frame written into the corresponding video file are shown as gray squares in the dotted box in the figure.
  • the first video frame received before the first IDR frame and the second IDR frame are received synchronously may be discarded, and the discarded video frame is shown as a white square outside the dotted box in the figure.
  • the video frame after the IDR frame in the dashed box may be a B frame or a P frame.
  • first encoder and the second encoder are started synchronously is limited by hardware conditions.
  • the synchronization mechanism during the startup of the encoder can be preset according to the hardware conditions at the factory. If the hardware conditions support the simultaneous startup of the first encoder and the second encoder, the video recording will be performed directly after startup; if the hardware conditions do not support the first encoder and the second encoder.
  • the encoder and the second encoder are activated at the same time, video recording is performed in the manner shown in FIG. 4 . In practical applications, it may also happen that the first encoder starts slowly and the second encoder starts faster. This situation is similar in principle to the situation shown in FIG. 4 , and can be handled with reference to the situation shown in FIG. 4 , which will not be repeated here.
  • the frame rate of the proxy file and the main video file may be different, and there may be a situation in which the frame output time of the two encoders is not synchronized. Therefore, as shown in FIG. 5 , during the video recording process, the first video frame can be directly written into the main video file, and the second video frame can be written into the buffer first. In the case that the timestamp of the second video frame in the cache satisfies the time condition for writing the proxy file, the second video frame is then written into the proxy file from the cache.
  • the second video frame may be written into the cache, and when a frame of the first video frame is acquired, the first timestamp corresponding to the first video frame is detected, and the second video frame in the cache is If the time interval between the second time stamp of the frame and the first time stamp is less than a preset value, write the second video frame in the buffer into the proxy file.
  • the second time stamp t2 of the second video frame in the buffer is compared with t1. If the difference between t2 and t1 is smaller than the preset ⁇ t, write the second video frame in the buffer into the proxy file. If the difference between t2 and t1 is greater than or equal to ⁇ t, the second video frame continues to be stored in the buffer.
  • the second video frame generated by the second encoder can also be used for real-time transmission to the video display device.
  • the second video frame transmitted in real time can be directly transmitted to the video display device through the communication link without being affected by the recording process.
  • the user may pause the video recording process. Since the video parameters of the proxy file may be different from the video parameters of the main video file, the first video frame and the second video frame may lose synchronization during the pause process, so that the proxy file cannot play its due role.
  • it may be determined whether to write the second video frame into a proxy file based on whether the second video frame encoded by the second encoder is used for real-time image transmission, to keep the synchronization of the first video frame and the second video frame.
  • both the first encoder and the second encoder may enter a pause state.
  • a pause instruction may be sent to the first encoder and the second encoder synchronously, so that the first encoder and the second encoder synchronously pause to generate corresponding video frames.
  • the writing of the first video frame to the main video file can be suspended, and the second video frame can be continued to be written to the proxy file. video frames until the duration of the main video file and the proxy file are equal.
  • the second video frame can be written into the cache first, and when the first video frame is received, the time stamp corresponding to the first video frame is detected.
  • the time stamp corresponding to the second video frame is smaller than the time stamp corresponding to the first video frame, it means that the main The duration of the video file is longer than that of the proxy file, so that at least one second video frame in the cache can be supplemented into the proxy file to fill the duration of the proxy file to a length substantially equal to that of the main video file.
  • the basic equality may be that the difference between the durations of the main video file and the proxy file is less than the duration of one video frame.
  • the first encoder enters the pause state after 2 frames of the first video frame (as shown by the two gray squares between pause and resume in the figure), and then pauses the generation of first video frame. Since the main video file has two more frames than the proxy file after the pause, the second video frame continues to be read from the cache for two frames and the proxy file is added.
  • the gray squares in the figure represent the video frames written to the proxy file or the main video file, and the white squares represent no video frames are generated.
  • the time stamp of the second video frame in the buffer is greater than the time stamp of the first video frame of the last frame received after the pause state, all the second video frames in the buffer will be Writing the proxy file will make the proxy file longer than the main video file. Therefore, at least one second video frame in the cache may be discarded, and the discarded second video frame will not be written into the proxy file, so as to keep the duration of the proxy file and the main video file substantially equal.
  • the synchronization process in resuming video recording is similar to the startup process, that is, the IDR request is cyclically sent to the encoder that was resumed first, and the first encoder is received at the same time.
  • the video recording is started in the case of the IDR frame of the second encoder and the IDR frame of the second encoder.
  • the specific process please refer to the synchronization method of the encoder startup process, which will not be repeated here.
  • the second group of encoders cannot be paused or stopped, and will always keep working because real-time image transmission (referred to as image transmission for short) is not interrupted.
  • the encoder may send a pause instruction to the first encoder, so that the first encoder pauses to generate the first video frame, and continues to write the second video frame to the proxy file, when the duration of the proxy file is Stop writing the second video frame to the proxy file when the duration is equal to the duration of the main video file.
  • the manner in which the duration of continuing to write the second video frame to the proxy file is equal to the duration of the main video file is similar to the manner shown in FIG. 6 , and details are not repeated here. It should be noted that the equality here does not mean absolute equality, but may also be basic equality.
  • an IDR request may be sent to the second encoder, and a start instruction may be sent to the first encoder, to write the first video frame generated after the first encoder resumes startup. the main video file, and write into the proxy file a second video frame starting from the last IDR frame generated by the second encoder before the first encoder resumes startup.
  • the processor first requests the second encoder to send an IDR frame, and determines whether the first encoder is restarted after receiving the IDR frame sent by the second encoder.
  • the second encoder is requested again to send the IDR frame until the first encoder is restarted (R in the figure indicates that the first encoder is restarted).
  • the processor may write the first video frame to the main video file starting from the first video frame of the first frame sent after the first encoder restarts, and start from the last IDR frame sent by the second encoder to write the second video frame. Video frames are written to proxy files.
  • the An encoder and the second encoder send an IDR request, if the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is greater than the time when the IDR frame sent by the second encoder is received Set the value to send an IDR request to the first encoder and the second encoder again.
  • the The main video file and the proxy file are split to write the first video frame and the second video frame into the split main video file and the split proxy file, respectively.
  • the video splitting condition may be that the duration or data volume of the main video file reaches a critical value. For example, when the data volume of the main video file reaches 3.8 Gbit, it is considered that the splitting condition is satisfied.
  • IDR requests will be sent to the first encoder and the second encoder respectively, and only when the IDR frames returned by the first encoder and the second encoder are received at the same time, The file is split, and the received first video frame and the second video frame are written into new files respectively. Otherwise, the first video frame and the second video frame are still written into the original file.
  • the gray video frame in the figure represents the second video frame written into the original proxy file or the first video frame written into the original main video file
  • the video frame in the dotted box represents the second video frame written into the new proxy file or the first video frame written into the original main video file.
  • the processor may split the proxy file after the main video file starts to be split.
  • the processor may set the flag bit representing the split state as the first flag bit to indicate that at least one of the main video file and the proxy file has not been split.
  • the flag bit is set as the second flag bit to indicate that the splitting of the main video file and the proxy file is completed.
  • the first flag bit and the second flag bit may be represented by a Boolean type constant (for example, "0" or "1"), respectively.
  • each time a first video frame is written to the main video file one audio frame may be synchronously written to the main video file.
  • the traditional audio and video synchronization method is to synchronize the audio frame and the video frame first, and then write the synchronized audio frame and video frame into a file.
  • the corresponding audio frames are written into the main video file and the proxy file respectively. Due to the difference in the audio and video synchronization mechanisms, the problem of out-of-sync audio frames and video frames may occur during the file splitting process.
  • the audio frames received in the process of splitting the main video file and the proxy file can be buffered, and after the splitting of the main video file and the proxy file is completed, The audio frame in the buffer is written into the proxy file synchronously with the corresponding second video frame.
  • the audio frame when the audio frame can be written into the main video file, one copy of the audio frame is made to obtain two identical audio frames.
  • One of the audio frames is written to the main video file, and the other audio frame is written to the proxy file depending on whether a file split is currently in progress. If file splitting is currently in progress, write the audio frame to the cache, otherwise, determine whether the split has just been completed. If the file has just been split, the audio frames in the buffer are read out until the buffer is emptied. Wherein, the splitting just completed may be that the time difference between the current time and the time when the splitting is completed is less than a preset time interval. If the split is not just completed, the audio frames are written to the proxy file in the order in which they are written to the buffer.
  • the file splitting is completed here means that both the main video file and the proxy file are split.
  • the splitting process of the main video file and the proxy file may not be synchronized. As long as either the main video file or the proxy file has not completed the file splitting, it is considered that the file splitting is not completed currently.
  • the present disclosure adopts the first encoder and the second encoder to respectively realize the recording of the main video file and the proxy file, and ensures that the first video frame and the second video frame in the main video file are basically synchronized, and realizes the internal synchronization of the video processing device.
  • the proxy file is generated without using additional equipment, which reduces the process expense in the process of generating the proxy file.
  • Both the generated proxy file and the main video file are saved in the storage medium of the camera. You can download the proxy file to preview and select the area of interest, and then download the corresponding video clip from the main video file, or use the proxy file to preview and edit, and then The editing result is applied to the main video file, which saves the processing time consumption of the video file and facilitates user editing.
  • the proxy file generation scheme in the present disclosure can ensure that pause recovery and file splitting do not affect the synchronization effect between the proxy file and the main video file, and the user's recording process is more free and convenient.
  • the video parameters of the proxy file can be different from the main video file, which relieves the traditional restriction that the proxy file needs to keep the same video parameters as the main video file.
  • the definition of the proxy file can be improved by reducing the frame rate or increasing the picture group. , so as to improve the user experience.
  • An embodiment of the present disclosure further provides a video processing apparatus, including a processor, wherein the processor is configured to perform the following steps:
  • the main video file and the proxy file have different video parameters.
  • the video parameters include at least one of the following: resolution, bit rate, frame rate, and group of pictures.
  • the code rate of the main video file is an integral multiple of the code rate of the proxy file, or the code rate of the proxy file is an integral multiple of the code rate of the main video file.
  • the processor is further configured to: control the second encoder to start synchronously with the first encoder, so that the first encoder and the second encoder synchronously generate the the first video frame and the second video frame.
  • the processor is configured to: under the condition that the startup of the first encoder and the second encoder are synchronized, if the first IDR frame and the first IDR frame sent by the first encoder are received simultaneously For the second IDR frame sent by the second encoder, write the first video frame including the first IDR frame into the main video file, and write the second video frame including the second IDR frame into the proxy file ; Or, in the case that the startup of the first encoder and the second encoder is not synchronized, if only the first IDR frame or the second IDR frame is received, send the first IDR frame to the The encoder of the frame or the second IDR frame cyclically sends the IDR request until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and writing a second video frame including the second IDR frame into the proxy file.
  • the processor is configured to: write the second video frame into a cache; when a frame of the first video frame is acquired, detect a first timestamp corresponding to the first video frame; When the time interval between the second time stamp of the second video frame in the cache and the first time stamp is less than a preset value, write the second video frame in the cache to the proxy file .
  • the processor is configured to: determine whether to convert the second video frame based on whether the second video frame encoded by the second encoder is used for real-time image transmission if the video recording is paused Frames are written to the proxy file.
  • the processor is further configured to: if the second video frame is not used for real-time image transmission, send a pause instruction to the first encoder and the second encoder synchronously, to synchronously pause the generation of corresponding video frames by the first encoder and the second encoder.
  • the processor is further configured to: in the case of paused video recording, if the duration of the main video file is greater than the duration of the proxy file, suspend writing the first video to the main video file frame, and continue to write second video frames to the proxy file until the duration of the main video file and the proxy file are equal.
  • the processor is further configured to: if the second video frame is used for real-time image transmission, send a pause instruction to the first encoder, so as to cause the first encoder to pause the generation of the first encoder a video frame, and continue to write a second video frame to the proxy file, and stop writing the second video frame to the proxy file when the duration of the proxy file is equal to the duration of the main video file.
  • the processor is configured to: in the case of resuming video recording, send an IDR request to the second encoder, and send a start instruction to the first encoder; Write the first video frame generated after the recovery start into the main video file, and write the second video frame starting from the last IDR frame generated by the second encoder before the first encoder is restarted the proxy file.
  • the processor is further configured to send an IDR request to the first encoder and the second encoder respectively when the main video file reaches a video splitting condition; if receiving The time difference between the time when the IDR frame sent by the first encoder and the time when the IDR frame sent by the second encoder is received is greater than the second preset value, and the first encoder and the second The encoder sends an IDR request.
  • the processor is further configured to: if the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is not greater than the time difference
  • the second preset value is to split the main video file and the proxy file, so as to write the first video frame and the second video frame into the split main video file and the split main video file respectively. proxy file.
  • the moment when the main video file starts to be split is not synchronized with the moment when the proxy file starts to be split.
  • the processor is further configured to: synchronously write one audio frame into the main video file every time one frame of the first video frame is written to the main video file.
  • the processor is further configured to: buffer audio frames received in the process of splitting the main video file and the proxy file; After the proxy file is split, the audio frame in the cache and the corresponding second video frame are synchronously written into the proxy file.
  • the processor is further configured to: generate a flag bit according to the current split state, where the flag bit is used to indicate whether the split of the main video file and the proxy file is completed.
  • the processor is further configured to: send the proxy file to the video display device for decoding and display, to obtain a decoded video image; receive the video image sent by the video display device for the video image A selection request of the first video clip in the main video file; in response to the selection request, sending a second video clip corresponding to the first video clip in the main video file to the video display device for processing.
  • the processor is further configured to: send the main video file and the proxy file to the video display device respectively, so that the video display device obtains information about the first video in the proxy file A first process is performed on a video segment, and a second process is performed on a second video segment in the main video file corresponding to the first video segment based on the first process.
  • FIG. 9 shows a schematic diagram of the hardware structure of a more specific video processing apparatus provided by an embodiment of this specification.
  • the apparatus may include: a processor 901 , a memory 902 , an input/output interface 903 , a communication interface 904 and a bus 905 .
  • the processor 901 , the memory 902 , the input/output interface 903 and the communication interface 904 realize the communication connection between each other within the device through the bus 905 .
  • the clock synchronization apparatus is used to execute the above method applied to the first subsystem
  • the processor 901 is a first processor
  • the communication interface 904 is a first communication interface.
  • the processor 901 is a second processor
  • the communication interface 904 is a second communication interface.
  • the processor 901 can be implemented by a general-purpose CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc. program to implement the technical solutions provided by the embodiments of this specification.
  • a general-purpose CPU Central Processing Unit, central processing unit
  • a microprocessor central processing unit
  • an application specific integrated circuit Application Specific Integrated Circuit, ASIC
  • ASIC Application Specific Integrated Circuit
  • the memory 902 can be implemented in the form of a ROM (Read Only Memory, read-only memory), a RAM (Random Access Memory, random access memory), a static storage device, a dynamic storage device, and the like.
  • the memory 902 may store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 902 and invoked by the processor 901 for execution.
  • the input/output interface 903 is used for connecting input/output modules to realize information input and output.
  • the input/output/module can be configured in the device as a component (not shown in the figure), or can be externally connected to the device to provide corresponding functions.
  • the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc.
  • the output device may include a display, a speaker, a vibrator, an indicator light, and the like.
  • the communication interface 904 is used to connect a communication module (not shown in the figure), so as to realize the communication interaction between the device and other devices.
  • the communication module may implement communication through wired means (eg, USB, network cable, etc.), or may implement communication through wireless means (eg, mobile network, WIFI, Bluetooth, etc.).
  • Bus 905 includes a path to transfer information between the various components of the device (eg, processor 901, memory 902, input/output interface 903, and communication interface 904).
  • the above device only shows the processor 901, the memory 902, the input/output interface 903, the communication interface 904 and the bus 905, in the specific implementation process, the device may also include the necessary components for normal operation. other components.
  • the above-mentioned device may only include components necessary to implement the solutions of the embodiments of the present specification, rather than all the components shown in the figures.
  • an embodiment of the present disclosure further provides a video processing device 1000, including a first encoder 1001, a second encoder 1002, and a processor 1003;
  • the first encoder 1001 is configured to obtain a video code stream, generate a first video frame according to the video code stream, and send the first video frame to the processor 1003;
  • the second encoder 1002 is configured to acquire the video code stream, generate a second video frame according to the video code stream, and send the second video frame to the processor 1003;
  • the processor 1003 is configured to perform the following operations:
  • an embodiment of the present disclosure further provides an unmanned aerial vehicle 1100, including:
  • a camera 1102 arranged on the body 1101 for capturing video streams
  • the video stream collected by the camera 1102 can be used for real-time output to the terminal communicatively connected to the drone 1000 for the user to preview.
  • the terminal may be a remote controller with a screen dedicated to the drone, or an intelligent terminal such as a mobile phone, a tablet computer, and a desktop computer.
  • the camera 1102 is disposed on the body 1101 , which may mean that the camera 1102 is directly disposed on the body 1101 , or is disposed on a pan/tilt connected to the body 1101 .
  • the UAV 1000 may further include blades 1104 disposed on the body, and a power system for providing power to the UAV 1000 .
  • the embodiment of the video processing device 1000 used in the drone 1000 is the same as the embodiment of the video processing device 1000 described above, and details are not repeated here.
  • an embodiment of the present disclosure further provides an image transmission system 1200, including a pan-tilt camera 1201, and the pan-tilt camera 1201 includes:
  • pan/tilt 1201b mounted on the housing 1201a;
  • a camera 1201c installed on the PTZ 1201b for capturing video streams
  • a video processing device (not shown in the figure) provided in the casing 1201a.
  • the embodiment of the video processing device used in the image transmission system 1200 is the same as the embodiment of the aforementioned video processing device 1000 , and details are not repeated here.
  • the image transmission system 1200 may further include a video display device (eg, a display screen) 1202 communicatively connected to the video processing device.
  • the video display device 1202 is configured to: receive the proxy file; display a video picture obtained after decoding the proxy file; and send a video for the first video segment in the proxy file to the video processing device.
  • a download request ; processing a second video segment corresponding to the first video segment in the main video file according to the selection request.
  • the video display device 1202 is configured to send a download request for the second video clip to the video processing device according to the selection request; receive the second video clip sent by the video processing device; The second video segment is displayed, so as to implement a segmented download function.
  • the video display device 1202 is configured to receive the main video file sent by the video processing device; perform a clipping operation on the second video segment according to the selection request to generate a clipped video, thereby Implement proxy editing.
  • the video display device 1202 can be a portable mobile device such as a mobile phone and a tablet computer.
  • the video display device 1202 and the PTZ camera 1201 can communicate via wired or wireless means such as a USB interface, Bluetooth, etc.
  • the PTZ camera 1201 can convert the generated proxy file.
  • the real-time image is transmitted to the video display device 1202 for preview, and the video display device 1202 can send instructions for functions such as pausing recording, resuming recording, downloading video files, etc. to the PTZ camera 1201 .
  • a fixing bracket 1203 may also be installed on the housing 1201a of the PTZ camera 1201 for fixing the video display device 1202 to facilitate the user to view video files.
  • the fixing bracket 1203 can be fixedly or detachably mounted on the housing 1201a.
  • the pan-tilt camera 1201 shown in FIG. 12 is only an example, and the pan-tilt camera 1201 may also include a display screen and the like.
  • Embodiments of the present disclosure also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to perform the method described in any of the foregoing embodiments.
  • Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology.
  • Information may be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
  • computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
  • a typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, e-mail device, game control desktop, tablet, wearable device, or a combination of any of these devices.

Abstract

The present disclosure provides a video processing method, apparatus, and device, an unmanned aerial vehicle, and an image transmission system, which are applied to a video processing device comprising a first encoder and a second encoder. The method comprises: obtaining a first video frame generated by a first encoder and a second video frame generated by a second encoder; and writing the first video frame to a main video file, writing the second video frame to a proxy file, and synchronizing the first video frame in the main video file with the second video frame in the proxy file, wherein the proxy file allows a user to preview and select a video segment to be processed, before a video display device processes the main video file.

Description

视频处理方法、装置和设备、无人机、图传系统Video processing method, device and equipment, unmanned aerial vehicle, image transmission system 技术领域technical field
本公开涉及视频处理技术领域,尤其涉及一种视频处理方法、装置和设备、无人机、图传系统。The present disclosure relates to the technical field of video processing, and in particular, to a video processing method, device and device, unmanned aerial vehicle, and image transmission system.
背景技术Background technique
代理文件是与主视频文件基本同步但是画质较低的视频文件,其占用空间小,解码播放时对硬件的要求较低。通过采用代理文件,可以有效减少下载原视频的耗时并能够降低对播放硬件的负载。例如,在用剪辑软件进行视频剪辑时,可以先对代理文件进行预览,裁剪,加特效等,然后再调用主视频文件进行渲染。代理文件需要与主视频文件进行同步,以避免用户预览的代理文件与主视频内容不一致。传统的代理文件同步方式一般是在视频采集设备外部采用额外的设备,对主视频文件进行下采样处理,得到代理文件。由于下采样的方式耗时较长,因此,生成代理文件的过程效率较低。The proxy file is a video file that is basically synchronized with the main video file but has a lower image quality. It occupies a small space and requires less hardware when decoding and playing. By using the proxy file, the time-consuming to download the original video can be effectively reduced and the load on the playback hardware can be reduced. For example, when using editing software for video editing, you can preview, crop, and add special effects to the proxy file first, and then call the main video file for rendering. The proxy file needs to be synchronized with the main video file to avoid the inconsistency between the proxy file previewed by the user and the main video content. The traditional way of synchronizing proxy files generally uses an additional device outside the video capture device to downsample the main video file to obtain the proxy file. Since the downsampling method takes a long time, the process of generating the proxy file is less efficient.
发明内容SUMMARY OF THE INVENTION
本公开提供了一种视频处理方法、装置和设备、无人机、图传系统,能够提高生成代理文件的效率。The present disclosure provides a video processing method, device and equipment, an unmanned aerial vehicle, and a picture transmission system, which can improve the efficiency of generating proxy files.
第一方面,本公开实施例提供一种视频处理方法,应用于包括第一编码器和第二编码器的视频处理设备,所述方法包括:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。In a first aspect, an embodiment of the present disclosure provides a video processing method, which is applied to a video processing device including a first encoder and a second encoder, the method comprising: acquiring a first video frame generated by the first encoder and the second video frame generated by the second encoder; the first video frame is written into the main video file, the second video frame is written into the proxy file, and the first video frame in the main video file is written. The video frame is synchronized with the second video frame in the proxy file, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
第二方面,本公开实施例提供一种视频处理装置,包括处理器,其特征在于,所述处理器用于执行以下步骤:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。In a second aspect, an embodiment of the present disclosure provides a video processing apparatus, including a processor, wherein the processor is configured to perform the following steps: acquiring a first video frame generated by the first encoder and the second video frame a second video frame generated by an encoder; writing the first video frame into a main video file, writing the second video frame into a proxy file, and combining the first video frame in the main video file with the The second video frame in the proxy file is synchronized, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
第三方面,本公开实施例提供一种视频处理设备,包括第一编码器、第二编码器和处理器;所述第一编码器用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器;所述第二编码器用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器;所述处理 器用于执行以下操作:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。In a third aspect, embodiments of the present disclosure provide a video processing device, including a first encoder, a second encoder, and a processor; the first encoder is configured to acquire a video code stream, and generate a first video code stream according to the video code stream. video frame, and send the first video frame to the processor; the second encoder is configured to obtain the video code stream, generate a second video frame according to the video code stream, and convert the second video frame The video frame is sent to the processor; the processor is configured to perform the following operations: obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder; The video frame is written into the main video file, the second video frame is written into the proxy file, and the first video frame in the main video file is synchronized with the second video frame in the proxy file, wherein all the The proxy file is used for the user to preview and select the video segment to be processed before the main video file is processed by the video display device.
第四方面,本公开实施例提供一种无人机,包括:机体;设于所述机体上的摄像头,用于采集视频流;以及设于所述机体内的如本公开任一实施例所述的视频处理设备。In a fourth aspect, an embodiment of the present disclosure provides an unmanned aerial vehicle, comprising: a body; a camera disposed on the body for capturing video streams; The video processing device described above.
第五方面,本公开实施例提供一种图传系统,所述图传系统包括:云台相机,所述云台相机包括:壳体;安装在所述壳体上的云台;安装在所述云台上的摄像头,用于采集视频码流;以及设于所述壳体内的如本公开任一实施例所述的视频处理设备。In a fifth aspect, an embodiment of the present disclosure provides an image transmission system, the image transmission system includes: a pan-tilt camera, and the pan-tilt camera includes: a housing; a pan-tilt mounted on the housing; The camera on the PTZ is used for collecting video streams; and the video processing device according to any embodiment of the present disclosure is provided in the casing.
第六方面,本公开实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行本公开任一实施例所述的视频处理方法。In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the video processing method described in any of the embodiments of the present disclosure.
本公开实施例中,通过视频处理设备中的两路编码器来并行地生成第一视频帧和第二视频帧,再基于第一视频帧生成主视频文件,并同步地基于第二视频帧生成代理文件,从而可以在视频处理设备采集到视频码流之后,在视频处理设备内部生成代理文件,保证了代理文件的生成效率,同时也保证了代理文件与主视频文件的同步性。In the embodiment of the present disclosure, the first video frame and the second video frame are generated in parallel by the two-channel encoder in the video processing device, the main video file is generated based on the first video frame, and the second video frame is generated synchronously based on the second video frame. proxy file, so that after the video processing device collects the video stream, the proxy file can be generated inside the video processing device, which ensures the generation efficiency of the proxy file and the synchronization between the proxy file and the main video file.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.
附图说明Description of drawings
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative labor.
图1是传统的代理文件生成方式的示意图。FIG. 1 is a schematic diagram of a traditional way of generating a proxy file.
图2是本公开实施例的视频处理方法的流程图。FIG. 2 is a flowchart of a video processing method according to an embodiment of the present disclosure.
图3是本公开实施例的代理文件生成方式的示意图。FIG. 3 is a schematic diagram of a generation method of a proxy file according to an embodiment of the present disclosure.
图4是本公开实施例的编码器启动时的同步过程示意图。FIG. 4 is a schematic diagram of a synchronization process when an encoder is started according to an embodiment of the present disclosure.
图5是本公开实施例的正常录制过程中第二编码器视频帧流向的示意图。FIG. 5 is a schematic diagram illustrating the flow of video frames of the second encoder during a normal recording process according to an embodiment of the present disclosure.
图6是本公开实施例的暂停和恢复过程中的同步过程示意图。FIG. 6 is a schematic diagram of a synchronization process in a pause and resume process according to an embodiment of the present disclosure.
图7是本公开实施例的文件拆分过程中的同步过程示意图。FIG. 7 is a schematic diagram of a synchronization process in a file splitting process according to an embodiment of the present disclosure.
图8是本公开实施例的音频和视频同步方式的示意图。FIG. 8 is a schematic diagram of an audio and video synchronization manner according to an embodiment of the present disclosure.
图9是本公开实施例的视频处理装置的示意图。FIG. 9 is a schematic diagram of a video processing apparatus according to an embodiment of the present disclosure.
图10是本公开实施例的视频处理设备的示意图。FIG. 10 is a schematic diagram of a video processing device according to an embodiment of the present disclosure.
图11A和11B是本公开实施例的无人机的示意图。11A and 11B are schematic diagrams of drones of embodiments of the present disclosure.
图12是本公开实施例的图传系统的示意图。FIG. 12 is a schematic diagram of an image transmission system according to an embodiment of the present disclosure.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. Where the following description refers to the drawings, the same numerals in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the illustrative examples below are not intended to represent all implementations consistent with this disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as recited in the appended claims.
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used in this disclosure and the appended claims, the singular forms "a," "the," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various pieces of information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information, without departing from the scope of the present disclosure. Depending on the context, the word "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determining."
传统的代理文件大多采用的是外部设备如工作站、手机等获取到主视频文件,再通过画质压缩(如下采样等)将主视频文件转换为低画质的代理文件。如图1所示,是一种传统的代理文件生成方式。首先,相机101中的图像传感器101a采集视频码流,然后相机101中的编码器101b基于所述视频码流生成视频帧,该视频帧被写入主视频文件103中。与此同时,相机101将主视频文件103实时地传输给手机102,手机102对接收到的主视频文件进行下采样处理,生成代理文件104。在上述过程中,由于下采样处理所花费的时间较多,因此,生成代理文件的效率较低。除此之外,还有一些方案虽然能够在视频采集设备内生成代理文件,但是需要统一代理文件与主视频文件主要参数,如码率、帧率(Frame Per Second,FPS)、画面组(Group of Pictures,GOP)等,难以满足不同应用场景的需要。Most of the traditional proxy files use external devices such as workstations, mobile phones, etc. to obtain the main video file, and then convert the main video file into a low-quality proxy file through image quality compression (such as sampling below). As shown in Figure 1, it is a traditional way of generating proxy files. First, the image sensor 101 a in the camera 101 captures a video stream, and then the encoder 101 b in the camera 101 generates a video frame based on the video stream, and the video frame is written into the main video file 103 . At the same time, the camera 101 transmits the main video file 103 to the mobile phone 102 in real time, and the mobile phone 102 downsamples the received main video file to generate a proxy file 104 . In the above process, since the downsampling process takes more time, the efficiency of generating the proxy file is low. In addition, although there are some solutions that can generate proxy files in the video capture device, they need to unify the main parameters of the proxy file and the main video file, such as bit rate, frame rate (Frame Per Second, FPS), and group of pictures (Group). of Pictures, GOP), etc., it is difficult to meet the needs of different application scenarios.
基于此,本公开实施例提供一种视频处理方法,如图2所示,所述方法可包括:Based on this, an embodiment of the present disclosure provides a video processing method, as shown in FIG. 2 , the method may include:
步骤201:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;Step 201: Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
步骤202:将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Step 202: Write the first video frame into a main video file, write the second video frame into a proxy file, and write the first video frame in the main video file with the second video frame in the proxy file. The video frames are synchronized, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
在本公开实施例中,主视频文件是指基于图像传感器采集到的视频码流生成的原始视频文件,主视频文件一般画质较高,但占用存储空间较大,解码播放时对硬件要求较高。代理文件是指与主视频文件内容大致相同,但画质较低的视频文件。相比于主视频文件,代理文件占用存储空间较小,解码播放时对硬件要求较低。In the embodiment of the present disclosure, the main video file refers to the original video file generated based on the video code stream collected by the image sensor. The main video file generally has high image quality, but occupies a large storage space, and requires more hardware during decoding and playback. high. A proxy file is a video file with roughly the same content as the main video file, but with lower quality. Compared with the main video file, the proxy file occupies less storage space and requires less hardware when decoding and playing.
本公开实施例的视频处理方法可以由处理器执行。所述处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)等类型。所述处理器可以是单台处理器,也可以是包括多台处理器的处理器集群。The video processing method of the embodiment of the present disclosure may be executed by a processor. The processor may be a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and other types. The processor may be a single processor or a processor cluster including multiple processors.
本公开实施例的视频处理设备可以是具有视频采集功能的设备,例如,相机。在步骤201中,可以通过视频处理设备中的图像传感器采集视频码流。第一编码器和第二编码器可以获取原始视频码流,并根据原始视频码流分别生成第一视频帧和第二视频帧。其中,所述第一编码器和第二编码器获取的原始视频码流可以是同一个图像传感器采集的视频码流,以降低硬件成本。The video processing device in the embodiment of the present disclosure may be a device with a video capture function, for example, a camera. In step 201, a video code stream may be collected through an image sensor in a video processing device. The first encoder and the second encoder can obtain the original video code stream, and respectively generate the first video frame and the second video frame according to the original video code stream. Wherein, the original video code stream obtained by the first encoder and the second encoder may be the video code stream collected by the same image sensor, so as to reduce the hardware cost.
第一编码器和第二编码器可以是视频处理设备内部的编码器。通过在视频处理设备内部设置两路编码器,使得视频处理设备在采集到视频码流之后,在该视频处理设备的内部就可以生成代理文件,无需采用额外的设备来生成代理文件。第一编码器和第二编码器在生成对应的视频帧后,可以将视频帧发送给处理器。The first encoder and the second encoder may be encoders internal to the video processing device. By arranging two encoders inside the video processing device, after the video processing device captures the video stream, the proxy file can be generated inside the video processing device, and no additional device is needed to generate the proxy file. After the first encoder and the second encoder generate corresponding video frames, the video frames may be sent to the processor.
在步骤202中,处理器可以调用写进程来将第一视频帧写入主视频文件,以及将第二视频帧写入代理文件,该过程称为视频录制。录制得到的主视频文件和代理文件可以存储在视频处理设备的存储单元(例如,SD卡)中。In step 202, the processor may invoke a write process to write the first video frame to the main video file and the second video frame to the proxy file, a process referred to as video recording. The recorded main video file and proxy file can be stored in a storage unit (eg, SD card) of the video processing device.
在视频录制过程中,需要主视频文件中的第一视频帧与代理文件中的第二视频帧保持同步。应当说明的是,此处的同步并非是指绝对同步,而是指在一定误差内基本同步。所述一定误差可以小于或等于1帧视频帧对应的时长。也就是说,在主视频文件中的第一视频帧与代理文件中的第二视频帧之间的时差小于1帧视频帧对应的时长的情况下,可视为第一视频帧与第二视频帧是同步的。在主视频文件与代理文件帧率不同的情况下,所述1帧视频帧对应的时长可以是帧率较大的文件中1帧视频帧对应的时长。During the video recording process, the first video frame in the main video file needs to be synchronized with the second video frame in the proxy file. It should be noted that the synchronization here does not mean absolute synchronization, but basic synchronization within a certain error. The certain error may be less than or equal to the duration corresponding to one video frame. That is to say, when the time difference between the first video frame in the main video file and the second video frame in the proxy file is less than the duration corresponding to one video frame, it can be regarded as the first video frame and the second video frame Frames are synchronized. When the frame rates of the main video file and the proxy file are different, the duration corresponding to one video frame may be the duration corresponding to one video frame in the file with a higher frame rate.
本申请的代理文件可用于在视频显示设备上供用户进行预览以及选择待处理的视频片段。具体来说,可以用于实现分段下载和代理剪辑两种功能。其中,分段下载功能是指相机的机身存储主视频文件,由视频显示设备下载代理文件,用户在代理文件中选择真正要下载的视频片段,再请求相机侧传输主视频文件中分辨率较高的原始片段。通过采用分段下载功能,只需下载主视频文件的一部分,可以节省下载完整的主视频文件的时间和对完整的主视频文件进行解码的时间。代理剪辑功能是指代理文件和原文件都完整地下载到视频显示设备上,用户在视频显示设备上进行的预览、剪辑、裁切等操作都是针对代理文件进行的,只有在真正渲染时,才针对主视频文件中对应的视频片段进行处理,通过采用代理剪辑功能,可以节省解码完整的主视频文件所需的时间。The proxy file of the present application can be used on a video display device for a user to preview and select video clips to be processed. Specifically, it can be used to implement two functions of segment download and proxy editing. Among them, the segmented download function means that the camera body stores the main video file, and the video display device downloads the proxy file. The user selects the video clip to be downloaded in the proxy file, and then requests the camera side to transmit the main video file with a higher resolution. High raw footage. By adopting the segment download function, only a part of the main video file is downloaded, and the time for downloading the complete main video file and the time for decoding the complete main video file can be saved. The proxy editing function means that both the proxy file and the original file are completely downloaded to the video display device. The preview, editing, and cropping operations performed by the user on the video display device are all performed for the proxy file. Only the corresponding video clips in the main video file are processed. By using the proxy editing function, the time required to decode the complete main video file can be saved.
在进行分段下载时,处理器可以响应于接收到视频预览指令,从视频处理设备 的存储空间中读取代理文件,并将读取到的代理文件发送至视频显示设备进行解码显示,得到解码后的视频图像,以供用户进行预览。其中,所述视频预览指令可以是用户通过视频处理设备上的交互控件(例如,按钮、触摸屏)向处理器发送的,或者是用户通过所述视频显示设备发送的,或者也可以是通过其他方式向处理器发送的。在接收到所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求之后,可以响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。When performing segment download, the processor can read the proxy file from the storage space of the video processing device in response to receiving the video preview instruction, and send the read proxy file to the video display device for decoding and display, and obtain the decoded proxy file. The post video image for the user to preview. Wherein, the video preview instruction may be sent by the user to the processor through an interactive control (eg, button, touch screen) on the video processing device, or sent by the user through the video display device, or may also be sent in other ways sent to the processor. After receiving the selection request for the first video segment in the video image sent by the video display device, the selection request in the main video file corresponding to the first video segment may be responsive to the selection request. The second video segment is sent to the video display device for processing.
当用户需要下载视频文件时,可以通过视频显示设备向处理器发送下载请求。所述下载请求中可以携带代理文件中的第一视频片段的标识信息。处理器可以响应该下载请求,将所述主视频文件中与所述第一视频片段同步的第二视频片段发送给视频显示设备,这种方式称为分段下载。其中,所述第二视频片段中包括第一视频片段,且所述第二视频片段时长可以略大于所述第一视频片段。When a user needs to download a video file, a download request can be sent to the processor through the video display device. The download request may carry identification information of the first video segment in the proxy file. In response to the download request, the processor may send the second video segment in the main video file that is synchronized with the first video segment to the video display device, which is called segmented download. Wherein, the second video clip includes a first video clip, and the duration of the second video clip may be slightly longer than the first video clip.
一种应用场景为:视频处理设备将拍摄的实时画面传输给视频播放设备,例如手机进行预览显示,用户可以通过预览画面触发视频处理设备进行视频录制,在录制过程中,视频处理设备会分别存储主视频文件和代理文件,当录制结束后,若用户想通过视频显示设备播放录制的视频,则视频处理设备可以先将代理文件传输至视频显示设备进行播放,节省传输开销以及时间。视频显示设备将接收到的代理文件进行解码,进而播放第二视频帧对应的视频画面,用户通过观看视频显示设备播放的视频来确定需要进行剪辑的视频片段。当用户从播放的视频画面中选择了要进行剪辑的视频片段后,视频显示设备向视频处理设备发送该段视频片段对应的时间戳信息,视频处理设备基于该时间戳信息从主视频文件中查找对应的文件数据,发送至视频显示设备,视频显示设备接收到该部分数据并进行解码后,进行后期的剪辑过程。An application scenario is: the video processing device transmits the captured real-time image to the video playback device, such as a mobile phone for preview display, and the user can trigger the video processing device to record the video through the preview image. During the recording process, the video processing device will separately store For the main video file and the proxy file, when the recording is over, if the user wants to play the recorded video through the video display device, the video processing device can first transmit the proxy file to the video display device for playback, saving transmission overhead and time. The video display device decodes the received proxy file, and then plays the video image corresponding to the second video frame, and the user determines the video segment to be edited by watching the video played by the video display device. After the user selects the video clip to be edited from the playing video screen, the video display device sends the time stamp information corresponding to the video clip to the video processing device, and the video processing device searches the main video file based on the time stamp information. The corresponding file data is sent to the video display device, and after the video display device receives and decodes this part of the data, it performs the post-editing process.
在进行代理剪辑时,处理器可以将所述主视频文件和所述代理文件分别发送至所述视频显示设备,其中,代理文件用于在所述视频显示设备上供用户进行预览以及剪辑,视频显示设备可以基于用户操作,针对代理文件中的第一视频片段进行第一处理,并基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理,以得到对主视频文件中高分辨率的视频帧的处理结果。When performing proxy editing, the processor may send the main video file and the proxy file to the video display device respectively, wherein the proxy file is used for the user to preview and edit the video display device on the video display device. The display device may perform the first processing on the first video clip in the proxy file based on the user operation, and perform the first processing on the second video clip corresponding to the first video clip in the main video file based on the first processing. The second process is to obtain the processing result of the high-resolution video frames in the main video file.
参见图3,在一种实际应用场景下,可以在相机300中设置第一编码器301和第二编码器302,第一编码器301和第二编码器302分别从图像传感器303接收视频码流,并分别生成第一视频帧和第二视频帧。第一视频帧用于生成主视频文件,第二视频帧用于生成代理文件。Referring to FIG. 3 , in a practical application scenario, a first encoder 301 and a second encoder 302 may be set in the camera 300 , and the first encoder 301 and the second encoder 302 respectively receive video streams from the image sensor 303 , and generate the first video frame and the second video frame respectively. The first video frame is used to generate the main video file, and the second video frame is used to generate the proxy file.
本公开实施例中主视频文件的视频参数与代理文件的视频参数可以不同。其中,所述视频参数可以包括但不限于分辨率、码率、帧率、画面组中的至少一者。代理文件的视频参数可以根据实际需求设置。例如,可以根据用户偏好、硬件资源、应用场景等条件中的至少一者设置。例如,在用户倾向于预览画质较高的代理文件的情况下,或者在需要对视频文件进行高精度处理的场景下,可以将代理文件的分辨率设置得较高。又例如,在传输带宽受限的情况下,可以将代理文件的码率设置得较低。In the embodiment of the present disclosure, the video parameters of the main video file and the video parameters of the proxy file may be different. The video parameters may include, but are not limited to, at least one of resolution, bit rate, frame rate, and group of pictures. The video parameters of the proxy file can be set according to actual needs. For example, it can be set according to at least one of user preferences, hardware resources, application scenarios and other conditions. For example, in a situation where a user tends to preview a proxy file with higher quality, or in a scenario where high-precision processing of a video file is required, the resolution of the proxy file can be set higher. For another example, when the transmission bandwidth is limited, the code rate of the proxy file may be set lower.
可选地,可以将代理文件的码率设置为主视频文件码率的整数倍,或者将主视 频文件的码率设置为代理文件码率的整数倍。例如,主视频文件的帧率为60fps,代理文件帧率为30fps;或者主视频文件的帧率为30fps,代理文件帧率为60fps。这样,可以提高代理文件中第二视频帧与主视频文件中第一视频帧的同步精确度。Optionally, the code rate of the proxy file can be set to an integral multiple of the code rate of the main video file, or the code rate of the main video file can be set to an integral multiple of the code rate of the proxy file. For example, the frame rate of the main video file is 60fps and the frame rate of the proxy file is 30fps; or the frame rate of the main video file is 30fps and the frame rate of the proxy file is 60fps. In this way, the synchronization accuracy of the second video frame in the proxy file and the first video frame in the main video file can be improved.
下文将具体阐述对第一视频帧与第二视频帧进行同步的方式。本公开实施例在开始录制视频文件的情况下,或者在暂停录制以后又恢复录制的情况下,或者在发生文件拆分的情况下,可以基于第一编码器发送的即时解码刷新(Instantaneous Decoding Refresh,IDR)帧和第二编码器发送的IDR帧来进行第一视频帧与第二视频帧的同步。一个IDR帧的作用在于,清空参考帧队列,以在视频解码时阻断该IDR帧的后续视频帧对该IDR帧之前的视频帧的参考。具体来说,在开始录制视频文件的情况下,或者在暂停录制以后又恢复录制的情况下,或者在发生文件拆分的情况下,如果同步接收到第一编码器发送的第一IDR帧和第二编码器发送的第二IDR帧,将所述第一编码器发送的第一视频帧(包括第一IDR帧)和第二编码器发送的第二视频帧(包括第二IDR帧)同步地写入对应的视频文件。The manner of synchronizing the first video frame and the second video frame will be described in detail below. In the embodiment of the present disclosure, in the case of starting to record a video file, or in the case of resuming the recording after pausing the recording, or in the case of file splitting, the instant decoding refresh (Instantaneous Decoding Refresh) sent by the first encoder may be used. , IDR) frame and the IDR frame sent by the second encoder to synchronize the first video frame and the second video frame. The role of an IDR frame is to clear the reference frame queue, so as to block the reference of the subsequent video frame of the IDR frame to the video frame before the IDR frame during video decoding. Specifically, in the case of starting to record a video file, or in the case of resuming recording after pausing the recording, or in the case of file splitting, if the first IDR frame sent by the first encoder and the For the second IDR frame sent by the second encoder, the first video frame (including the first IDR frame) sent by the first encoder is synchronized with the second video frame (including the second IDR frame) sent by the second encoder to the corresponding video file.
在第一编码器和第二编码器启动过程中,在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,可以直接将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件。这里的同时并非指同一时刻,而是指时间间隔小于某个阈值,例如,小于1帧视频帧的时长。During the startup process of the first encoder and the second encoder, if the startup of the first encoder and the second encoder are synchronized, if the first IDR sent by the first encoder is simultaneously received frame and the second IDR frame sent by the second encoder, the first video frame including the first IDR frame can be directly written into the main video file, and the second video frame including the second IDR frame can be written Write the proxy file. Simultaneous here does not mean the same moment, but means that the time interval is less than a certain threshold, for example, less than the duration of one video frame.
在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。In the case that the start of the first encoder and the second encoder are not synchronized, if only the first IDR frame or the second IDR frame is received, the first IDR frame or the second IDR frame is sent to the The encoder of two IDR frames cyclically sends IDR requests until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and the first video frame including the first IDR frame A second video frame of the second IDR frame is written to the proxy file.
如图4所示,是所述第一编码器和所述第二编码器的启动不同步的情况下,第一视频帧和第二视频帧的同步过程的示意图。其中,启动不同步可以是第一编码器和第二编码器的启动时长不同,也可以是第一编码器和第二编码器开始启动的时刻不同。图4示出了第一编码器启动较快,第二编码器启动较慢的情况。As shown in FIG. 4 , it is a schematic diagram of a synchronization process of a first video frame and a second video frame in the case that the startup of the first encoder and the second encoder are not synchronized. Wherein, the start-up asynchronous may be that the start-up durations of the first encoder and the second encoder are different, or the start-up time of the first encoder and the second encoder may be different. Figure 4 shows the case where the first encoder starts faster and the second encoder starts slower.
第一编码器在启动完成的情况下,生成第一视频帧。其中,第一编码器生成的第1帧第一视频帧为第一IDR帧。第一IDR帧之后生成的视频帧可以是B帧或者P帧,如图中空白的白色方块所示。第一编码器在生成第一IDR帧之后,可以将第一IDR帧发送给处理器。处理器此时可判断是否接收到第二编码器发送的第二IDR帧。如果未接收到,则再次向启动较快的编码器(即第一编码器)发送IDR请求,第一编码器在接收到该IDR请求的情况下将再次生成第一IDR帧。直到处理器同步接收到第一IDR帧和第二IDR帧,处理器才开始进行视频录制,即,将包括第一IDR帧在内的第一视频帧写入主视频文件,并同步地将第二IDR帧在内的第二视频帧写入代理文件。写入对应视频文件的第一视频帧和第二视频帧如图中虚线框内的灰色方块所示。在同步接收到第一IDR帧和第二IDR帧之前接收到的第一视频帧可以丢弃,丢弃的视频帧如图中虚线框外的白色方块所示。其中,虚线框内的IDR帧之后的视频帧可以是B帧 或者P帧。The first encoder generates a first video frame when the startup is completed. The first video frame of the first frame generated by the first encoder is the first IDR frame. The video frame generated after the first IDR frame may be a B frame or a P frame, as shown by a blank white square in the figure. After generating the first IDR frame, the first encoder may send the first IDR frame to the processor. At this time, the processor can determine whether the second IDR frame sent by the second encoder is received. If it is not received, the IDR request is sent again to the encoder that starts faster (ie, the first encoder), and the first encoder will generate the first IDR frame again when the IDR request is received. The processor does not start video recording until the processor receives the first IDR frame and the second IDR frame synchronously, that is, writes the first video frame including the first IDR frame into the main video file, and synchronously records the first IDR frame. The second video frame, including the two IDR frames, is written to the proxy file. The first video frame and the second video frame written into the corresponding video file are shown as gray squares in the dotted box in the figure. The first video frame received before the first IDR frame and the second IDR frame are received synchronously may be discarded, and the discarded video frame is shown as a white square outside the dotted box in the figure. The video frame after the IDR frame in the dashed box may be a B frame or a P frame.
第一编码器和二编码器是否同步启动,受限于硬件条件。可以在出厂时根据硬件条件预先设置好编码器启动过程中的同步机制,如果硬件条件支持第一编码器和二编码器同时启动,则在启动后直接进行视频录制;如果硬件条件不支持第一编码器和二编码器同时启动,则通过图4所示的方式进行视频录制。在实际应用中,也可能出现第一编码器启动较慢,第二编码器启动较快的情况。这种情况与图4所示的情况原理类似,可参考图4所示的情况进行处理,此处不再赘述。Whether the first encoder and the second encoder are started synchronously is limited by hardware conditions. The synchronization mechanism during the startup of the encoder can be preset according to the hardware conditions at the factory. If the hardware conditions support the simultaneous startup of the first encoder and the second encoder, the video recording will be performed directly after startup; if the hardware conditions do not support the first encoder and the second encoder. When the encoder and the second encoder are activated at the same time, video recording is performed in the manner shown in FIG. 4 . In practical applications, it may also happen that the first encoder starts slowly and the second encoder starts faster. This situation is similar in principle to the situation shown in FIG. 4 , and can be handled with reference to the situation shown in FIG. 4 , which will not be repeated here.
由于代理文件与主视频文件的帧率可能不同,且可能存在两路编码器出帧时间不同步的情况。因此,如图5所示,在视频录制过程中,可以将第一视频帧直接写入主视频文件,并将第二视频帧先写入缓存。在缓存中的第二视频帧的时间戳满足写入代理文件的时间条件的情况下,再从缓存中将第二视频帧写入代理文件。具体来说,可以将所述第二视频帧写入缓存,在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳,在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。Because the frame rate of the proxy file and the main video file may be different, and there may be a situation in which the frame output time of the two encoders is not synchronized. Therefore, as shown in FIG. 5 , during the video recording process, the first video frame can be directly written into the main video file, and the second video frame can be written into the buffer first. In the case that the timestamp of the second video frame in the cache satisfies the time condition for writing the proxy file, the second video frame is then written into the proxy file from the cache. Specifically, the second video frame may be written into the cache, and when a frame of the first video frame is acquired, the first timestamp corresponding to the first video frame is detected, and the second video frame in the cache is If the time interval between the second time stamp of the frame and the first time stamp is less than a preset value, write the second video frame in the buffer into the proxy file.
例如,处理器当前接收到的第一视频帧f1的第一时间戳为t1,则将缓存中的第二视频帧的第二时间戳t2与t1进行比较。如果t2与t1的差值小于预设的△t,则将缓存中的第二视频帧写入代理文件。如果t2与t1的差值大于或等于△t,则将第二视频帧继续存储在缓存中。For example, if the first time stamp of the first video frame f1 currently received by the processor is t1, the second time stamp t2 of the second video frame in the buffer is compared with t1. If the difference between t2 and t1 is smaller than the preset Δt, write the second video frame in the buffer into the proxy file. If the difference between t2 and t1 is greater than or equal to Δt, the second video frame continues to be stored in the buffer.
第二编码器生成的第二视频帧除了用于生成代理文件之外,还可以用于实时传输到视频显示设备。实时传输的第二视频帧可以直接通过通信链路传输给视频显示设备,而不受到录制过程的影响。In addition to generating the proxy file, the second video frame generated by the second encoder can also be used for real-time transmission to the video display device. The second video frame transmitted in real time can be directly transmitted to the video display device through the communication link without being affected by the recording process.
在一些实施例中,用户可以对视频录制过程进行暂停。由于代理文件的视频参数与主视频文件的视频参数可能不同,可能导致暂停过程中第一视频帧和第二视频帧失去同步,导致代理文件无法起到其应有的作用。为了解决上述问题,在视频录制暂停的情况下,可以基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件,以保持第一视频帧和第二视频帧的同步。In some embodiments, the user may pause the video recording process. Since the video parameters of the proxy file may be different from the video parameters of the main video file, the first video frame and the second video frame may lose synchronization during the pause process, so that the proxy file cannot play its due role. In order to solve the above problem, in the case of video recording pause, it may be determined whether to write the second video frame into a proxy file based on whether the second video frame encoded by the second encoder is used for real-time image transmission, to keep the synchronization of the first video frame and the second video frame.
具体来说,若所述第二视频帧未被用于进行实时图像传输,则第一编码器和第二编码器均可以进入暂停状态。在这种情况下,可以同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。Specifically, if the second video frame is not used for real-time image transmission, both the first encoder and the second encoder may enter a pause state. In this case, a pause instruction may be sent to the first encoder and the second encoder synchronously, so that the first encoder and the second encoder synchronously pause to generate corresponding video frames.
在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,可以暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。第二视频帧可以先写入缓存,在接收到第一视频帧时,检测第一视频帧对应的时间戳,如果第二视频帧对应的时间戳小于第一视频帧对应的时间戳,表示主视频文件的时长大于代理文件的时长,从而可以将缓存中的至少一帧第二视频帧补入代理文件,以将代理文件的时长填充至与主 视频文件基本相等的长度。其中,所述基本相等可以是主视频文件与代理文件的时长之差小于1帧视频帧的时长。When the video recording is paused, if the duration of the main video file is greater than the duration of the proxy file, the writing of the first video frame to the main video file can be suspended, and the second video frame can be continued to be written to the proxy file. video frames until the duration of the main video file and the proxy file are equal. The second video frame can be written into the cache first, and when the first video frame is received, the time stamp corresponding to the first video frame is detected. If the time stamp corresponding to the second video frame is smaller than the time stamp corresponding to the first video frame, it means that the main The duration of the video file is longer than that of the proxy file, so that at least one second video frame in the cache can be supplemented into the proxy file to fill the duration of the proxy file to a length substantially equal to that of the main video file. The basic equality may be that the difference between the durations of the main video file and the proxy file is less than the duration of one video frame.
如图6所示,用户发送暂停指令后,第一编码器经过2帧第一视频帧(如图中暂停与恢复之间的两个灰色方块所示)对应的时长后进入暂停状态,暂停生成第一视频帧。由于暂停之后主视频文件比代理文件多两帧,则从缓存中继续读取两帧第二视频帧并补入代理文件。图中灰色方格表示写入代理文件或主视频文件的视频帧,白色方格表示未生成视频帧。As shown in Figure 6, after the user sends the pause command, the first encoder enters the pause state after 2 frames of the first video frame (as shown by the two gray squares between pause and resume in the figure), and then pauses the generation of first video frame. Since the main video file has two more frames than the proxy file after the pause, the second video frame continues to be read from the cache for two frames and the proxy file is added. The gray squares in the figure represent the video frames written to the proxy file or the main video file, and the white squares represent no video frames are generated.
在另一种情况下,如果进入暂停状态后,缓存中的第二视频帧的时间戳大于暂停后接收到的最后一帧第一视频帧的时间戳,则将缓存中的第二视频帧全部写入代理文件后会使得代理文件的时长超过主视频文件。因此,可以丢弃缓存中的至少一帧第二视频帧,丢弃的第二视频帧将不会写入代理文件,以保持代理文件与主视频文件的时长基本相等。In another case, if the time stamp of the second video frame in the buffer is greater than the time stamp of the first video frame of the last frame received after the pause state, all the second video frames in the buffer will be Writing the proxy file will make the proxy file longer than the main video file. Therefore, at least one second video frame in the cache may be discarded, and the discarded second video frame will not be written into the proxy file, so as to keep the duration of the proxy file and the main video file substantially equal.
在第二视频帧用于进行实时图像传输的情况下,恢复视频录制中的同步过程与启动过程类似,即,向先恢复启动的编码器循环发送IDR请求,并在同时接收到第一编码器的IDR帧和第二编码器的IDR帧的情况下开始视频录制,具体过程可参见编码器启动过程的同步方式,此处不再赘述。In the case where the second video frame is used for real-time image transmission, the synchronization process in resuming video recording is similar to the startup process, that is, the IDR request is cyclically sent to the encoder that was resumed first, and the first encoder is received at the same time. The video recording is started in the case of the IDR frame of the second encoder and the IDR frame of the second encoder. For the specific process, please refer to the synchronization method of the encoder startup process, which will not be repeated here.
若所述第二视频帧用于进行实时图像传输,由于需要保证实时图像传输(简称为图传)不中断,第二组编码器不能暂停或停止,将会始终保持工作。编码器可以向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。继续写入第二视频帧至代理文件的时长与主视频文件的时长相等的方式与图6所示的方式类似,此处不再赘述。应当说明的是,这里的相等并非指绝对相等,也可以是基本相等。If the second video frame is used for real-time image transmission, the second group of encoders cannot be paused or stopped, and will always keep working because real-time image transmission (referred to as image transmission for short) is not interrupted. The encoder may send a pause instruction to the first encoder, so that the first encoder pauses to generate the first video frame, and continues to write the second video frame to the proxy file, when the duration of the proxy file is Stop writing the second video frame to the proxy file when the duration is equal to the duration of the main video file. The manner in which the duration of continuing to write the second video frame to the proxy file is equal to the duration of the main video file is similar to the manner shown in FIG. 6 , and details are not repeated here. It should be noted that the equality here does not mean absolute equality, but may also be basic equality.
在视频录制恢复的情况下,可以向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令,将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。如图6所示,在恢复视频录制之后,处理器先请求第二编码器发送IDR帧,并在接收到第二编码器发送的IDR帧的情况下判断第一编码器是否重新启动。如果第一编码器未启动,则再次请求第二编码器发送IDR帧,直到第一编码器重新启动(图中的R表示第一编码器重新启动)。处理器可以从第一编码器重新启动后发送的第1帧第一视频帧开始,将第一视频帧写入主视频文件,并从第二编码器最后一次发送的IDR帧开始,将第二视频帧写入代理文件。In the case of resuming video recording, an IDR request may be sent to the second encoder, and a start instruction may be sent to the first encoder, to write the first video frame generated after the first encoder resumes startup. the main video file, and write into the proxy file a second video frame starting from the last IDR frame generated by the second encoder before the first encoder resumes startup. As shown in FIG. 6 , after resuming video recording, the processor first requests the second encoder to send an IDR frame, and determines whether the first encoder is restarted after receiving the IDR frame sent by the second encoder. If the first encoder is not started, the second encoder is requested again to send the IDR frame until the first encoder is restarted (R in the figure indicates that the first encoder is restarted). The processor may write the first video frame to the main video file starting from the first video frame of the first frame sent after the first encoder restarts, and start from the last IDR frame sent by the second encoder to write the second video frame. Video frames are written to proxy files.
在一些实施例中,为了防止文件过大导致文件系统不支持或录制时长过长,需要在视频文件达到临界值前进行文件拆分。为了保证在拆分前后的主视频文件和代理文件中,第一视频帧和第二视频帧均能够保持同步,可以在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求,若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。In some embodiments, in order to prevent the file system from being unsupported or the recording duration being too long due to the excessively large file size, it is necessary to perform file splitting before the video file reaches a critical value. In order to ensure that in the main video file and proxy file before and after splitting, both the first video frame and the second video frame can maintain synchronization, when the main video file reaches the video splitting condition, the An encoder and the second encoder send an IDR request, if the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is greater than the time when the IDR frame sent by the second encoder is received Set the value to send an IDR request to the first encoder and the second encoder again.
只有在接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值的情况下,才对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。Only when the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is not greater than the second preset value, the The main video file and the proxy file are split to write the first video frame and the second video frame into the split main video file and the split proxy file, respectively.
其中,所述视频拆分条件可以是主视频文件的时长或数据量达到临界值,例如,主视频文件的数据量达到3.8Gbit时,认为满足拆分条件。如图7所示,在拆分过程中,将分别向第一编码器和第二编码器发送IDR请求,只有在同时接收到第一编码器和第二编码器返回的IDR帧的情况下,才进行文件拆分,并将接收到的第一视频帧和第二视频帧分别写入新的文件。否则,仍然将第一视频帧和第二视频帧写入原文件中。图中灰色的视频帧表示写入原代理文件的第二视频帧或者写入原主视频文件的第一视频帧,虚线框中的视频帧表示写入新的代理文件的第二视频帧或者写入新的主视频文件的第一视频帧。The video splitting condition may be that the duration or data volume of the main video file reaches a critical value. For example, when the data volume of the main video file reaches 3.8 Gbit, it is considered that the splitting condition is satisfied. As shown in Figure 7, during the splitting process, IDR requests will be sent to the first encoder and the second encoder respectively, and only when the IDR frames returned by the first encoder and the second encoder are received at the same time, The file is split, and the received first video frame and the second video frame are written into new files respectively. Otherwise, the first video frame and the second video frame are still written into the original file. The gray video frame in the figure represents the second video frame written into the original proxy file or the first video frame written into the original main video file, and the video frame in the dotted box represents the second video frame written into the new proxy file or the first video frame written into the original main video file. The first video frame of the new main video file.
进一步地,由于主视频文件和代理文件的视频参数不同,在主视频文件和代理文件中的一者满足拆分条件时,另一者可能还不满足拆分条件。也就是说,主视频文件和代理文件的拆分过程不同步,主视频文件开始拆分的时刻可能早于代理文件开始拆分的时刻,也可能晚于代理文件开始拆分的时刻。以主视频文件开始拆分的时刻早于代理文件开始拆分的时刻为例,处理器可以在主视频文件开始拆分之后,再对代理文件进行拆分。在主视频文件开始拆分之后,处理器可以将表征拆分状态的标志位设置为第一标志位,以指示主视频文件和代理文件中的至少一者未拆分完成。在主视频文件和代理文件均拆分完成的情况下,将所述标志位设置为第二标志位,以指示主视频文件和代理文件均拆分完成。所述第一标志位和第二标志位可以分别用一个布尔类型的常量(例如“0”或者“1”)来表示。Further, since the video parameters of the main video file and the proxy file are different, when one of the main video file and the proxy file satisfies the splitting condition, the other may not yet satisfy the splitting condition. That is to say, the splitting process of the main video file and the proxy file is not synchronized, and the time when the main video file starts to be divided may be earlier than the time when the proxy file starts to be divided, or it may be later than the time when the proxy file starts to be divided. Taking the moment when the main video file starts to be split is earlier than the moment when the proxy file starts to be split, the processor may split the proxy file after the main video file starts to be split. After the main video file starts to be split, the processor may set the flag bit representing the split state as the first flag bit to indicate that at least one of the main video file and the proxy file has not been split. In the case that the splitting of the main video file and the proxy file is completed, the flag bit is set as the second flag bit to indicate that the splitting of the main video file and the proxy file is completed. The first flag bit and the second flag bit may be represented by a Boolean type constant (for example, "0" or "1"), respectively.
在一些实施例中,每向所述主视频文件写入一帧第一视频帧,可以将一帧音频帧同步地写入所述主视频文件。应当说明的是,传统的音视频同步方式是先对音频帧和视频帧进行同步,再将同步后的音频帧和视频帧写入文件。而本公开实施例的方式是在将第一视频帧和第二视频帧分别写入主视频文件和代理文件之后,再将对应的音频帧分别写入主视频文件和代理文件。由于音视频同步机制的不同,导致了在文件拆分过程中可能出现音频帧和视频帧不同步的问题。为了解决这一问题,可以对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存,在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。In some embodiments, each time a first video frame is written to the main video file, one audio frame may be synchronously written to the main video file. It should be noted that the traditional audio and video synchronization method is to synchronize the audio frame and the video frame first, and then write the synchronized audio frame and video frame into a file. However, in the method of the embodiment of the present disclosure, after the first video frame and the second video frame are written into the main video file and the proxy file respectively, the corresponding audio frames are written into the main video file and the proxy file respectively. Due to the difference in the audio and video synchronization mechanisms, the problem of out-of-sync audio frames and video frames may occur during the file splitting process. In order to solve this problem, the audio frames received in the process of splitting the main video file and the proxy file can be buffered, and after the splitting of the main video file and the proxy file is completed, The audio frame in the buffer is written into the proxy file synchronously with the corresponding second video frame.
如图8所示,在音频帧可以写入主视频文件的情况下,将音频帧复制一份,得到两份相同的音频帧。其中一份音频帧写入主视频文件,另一份音频帧视当前是否正在进行文件拆分而决定如何写入代理文件。如果当前正在进行文件拆分,则将音频帧写入缓存,否则,判断是否刚刚拆分完成。如果文件刚刚拆分完成,则将缓存中的音频帧读出直至清空缓存。其中,所述刚刚拆分完成可以是当前时间与拆分完成的时间之间的时间差小于预设的时间间隔。如果不是刚刚拆分完成,则按照各音频帧写入缓存的顺序,将各音频帧写入代理文件。这里的文件拆分完成是指主视频文件和代理文 件均拆分完成。主视频文件和代理文件的拆分过程可能不同步,只要主视频文件和代理文件中的任意一者未完成文件拆分,则认为当前未完成文件拆分。As shown in FIG. 8 , when the audio frame can be written into the main video file, one copy of the audio frame is made to obtain two identical audio frames. One of the audio frames is written to the main video file, and the other audio frame is written to the proxy file depending on whether a file split is currently in progress. If file splitting is currently in progress, write the audio frame to the cache, otherwise, determine whether the split has just been completed. If the file has just been split, the audio frames in the buffer are read out until the buffer is emptied. Wherein, the splitting just completed may be that the time difference between the current time and the time when the splitting is completed is less than a preset time interval. If the split is not just completed, the audio frames are written to the proxy file in the order in which they are written to the buffer. The file splitting is completed here means that both the main video file and the proxy file are split. The splitting process of the main video file and the proxy file may not be synchronized. As long as either the main video file or the proxy file has not completed the file splitting, it is considered that the file splitting is not completed currently.
本公开采用第一编码器和第二编码器分别实现主视频文件和代理文件的录制,并保证了主视频文件中的第一视频帧和第二视频帧基本同步,实现了在视频处理设备内部生成代理文件,无需借助额外的设备,减少了代理文件的生成过程的流程开支。生成的代理文件与主视频文件均保存于相机的存储介质内,可以先下载代理文件预览并选取兴趣区域,再到主视频文件中下载对应视频片段,或使用代理文件进行预览和剪辑,再将剪辑结果应用于主视频文件,节省了视频文件的处理时间消耗,并方便用户剪辑。The present disclosure adopts the first encoder and the second encoder to respectively realize the recording of the main video file and the proxy file, and ensures that the first video frame and the second video frame in the main video file are basically synchronized, and realizes the internal synchronization of the video processing device. The proxy file is generated without using additional equipment, which reduces the process expense in the process of generating the proxy file. Both the generated proxy file and the main video file are saved in the storage medium of the camera. You can download the proxy file to preview and select the area of interest, and then download the corresponding video clip from the main video file, or use the proxy file to preview and edit, and then The editing result is applied to the main video file, which saves the processing time consumption of the video file and facilitates user editing.
此外,本公开中的代理文件生成方案能够保证暂停恢复、文件拆分不影响代理文件与主视频文件的同步效果,用户录制过程更加自由便利。同时代理文件的视频参数可以与主视频文件不同,解除了传统的代理文件需要保持与主视频文件视频参数完全相同的限制,可以通过降低帧率或增加画面组的方法来提升代理文件的清晰度,从而提升用户体验。In addition, the proxy file generation scheme in the present disclosure can ensure that pause recovery and file splitting do not affect the synchronization effect between the proxy file and the main video file, and the user's recording process is more free and convenient. At the same time, the video parameters of the proxy file can be different from the main video file, which relieves the traditional restriction that the proxy file needs to keep the same video parameters as the main video file. The definition of the proxy file can be improved by reducing the frame rate or increasing the picture group. , so as to improve the user experience.
本公开实施例还提供一种视频处理装置,包括处理器,其特征在于,所述处理器用于执行以下步骤:An embodiment of the present disclosure further provides a video processing apparatus, including a processor, wherein the processor is configured to perform the following steps:
获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Writing the first video frame to a main video file, writing the second video frame to a proxy file, and performing a comparison between the first video frame in the main video file and the second video frame in the proxy file Synchronization, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
在一些实施例中,所述主视频文件与所述代理文件的视频参数不同。In some embodiments, the main video file and the proxy file have different video parameters.
在一些实施例中,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。In some embodiments, the video parameters include at least one of the following: resolution, bit rate, frame rate, and group of pictures.
在一些实施例中,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。In some embodiments, the code rate of the main video file is an integral multiple of the code rate of the proxy file, or the code rate of the proxy file is an integral multiple of the code rate of the main video file.
在一些实施例中,所述处理器还用于:控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。In some embodiments, the processor is further configured to: control the second encoder to start synchronously with the first encoder, so that the first encoder and the second encoder synchronously generate the the first video frame and the second video frame.
在一些实施例中,所述处理器用于:在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视 频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。In some embodiments, the processor is configured to: under the condition that the startup of the first encoder and the second encoder are synchronized, if the first IDR frame and the first IDR frame sent by the first encoder are received simultaneously For the second IDR frame sent by the second encoder, write the first video frame including the first IDR frame into the main video file, and write the second video frame including the second IDR frame into the proxy file ; Or, in the case that the startup of the first encoder and the second encoder is not synchronized, if only the first IDR frame or the second IDR frame is received, send the first IDR frame to the The encoder of the frame or the second IDR frame cyclically sends the IDR request until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and writing a second video frame including the second IDR frame into the proxy file.
在一些实施例中,所述处理器用于:将所述第二视频帧写入缓存;在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。In some embodiments, the processor is configured to: write the second video frame into a cache; when a frame of the first video frame is acquired, detect a first timestamp corresponding to the first video frame; When the time interval between the second time stamp of the second video frame in the cache and the first time stamp is less than a preset value, write the second video frame in the cache to the proxy file .
在一些实施例中,所述处理器用于:在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。In some embodiments, the processor is configured to: determine whether to convert the second video frame based on whether the second video frame encoded by the second encoder is used for real-time image transmission if the video recording is paused Frames are written to the proxy file.
在一些实施例中,所述处理器还用于:若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。In some embodiments, the processor is further configured to: if the second video frame is not used for real-time image transmission, send a pause instruction to the first encoder and the second encoder synchronously, to synchronously pause the generation of corresponding video frames by the first encoder and the second encoder.
在一些实施例中,所述处理器还用于:在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。In some embodiments, the processor is further configured to: in the case of paused video recording, if the duration of the main video file is greater than the duration of the proxy file, suspend writing the first video to the main video file frame, and continue to write second video frames to the proxy file until the duration of the main video file and the proxy file are equal.
在一些实施例中,所述处理器还用于:若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。In some embodiments, the processor is further configured to: if the second video frame is used for real-time image transmission, send a pause instruction to the first encoder, so as to cause the first encoder to pause the generation of the first encoder a video frame, and continue to write a second video frame to the proxy file, and stop writing the second video frame to the proxy file when the duration of the proxy file is equal to the duration of the main video file.
在一些实施例中,所述处理器用于:在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。In some embodiments, the processor is configured to: in the case of resuming video recording, send an IDR request to the second encoder, and send a start instruction to the first encoder; Write the first video frame generated after the recovery start into the main video file, and write the second video frame starting from the last IDR frame generated by the second encoder before the first encoder is restarted the proxy file.
在一些实施例中,所述处理器还用于:在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。In some embodiments, the processor is further configured to send an IDR request to the first encoder and the second encoder respectively when the main video file reaches a video splitting condition; if receiving The time difference between the time when the IDR frame sent by the first encoder and the time when the IDR frame sent by the second encoder is received is greater than the second preset value, and the first encoder and the second The encoder sends an IDR request.
在一些实施例中,所述处理器还用于:若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。In some embodiments, the processor is further configured to: if the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is not greater than the time difference The second preset value is to split the main video file and the proxy file, so as to write the first video frame and the second video frame into the split main video file and the split main video file respectively. proxy file.
在一些实施例中,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。In some embodiments, the moment when the main video file starts to be split is not synchronized with the moment when the proxy file starts to be split.
在一些实施例中,所述处理器还用于:每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频文件。In some embodiments, the processor is further configured to: synchronously write one audio frame into the main video file every time one frame of the first video frame is written to the main video file.
在一些实施例中,所述处理器还用于:对在对所述主视频文件和所述代理文件 进行拆分的过程中接收到的音频帧进行缓存;在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。In some embodiments, the processor is further configured to: buffer audio frames received in the process of splitting the main video file and the proxy file; After the proxy file is split, the audio frame in the cache and the corresponding second video frame are synchronously written into the proxy file.
在一些实施例中,所述处理器还用于:根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。In some embodiments, the processor is further configured to: generate a flag bit according to the current split state, where the flag bit is used to indicate whether the split of the main video file and the proxy file is completed.
在一些实施例中,所述处理器还用于:将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。In some embodiments, the processor is further configured to: send the proxy file to the video display device for decoding and display, to obtain a decoded video image; receive the video image sent by the video display device for the video image A selection request of the first video clip in the main video file; in response to the selection request, sending a second video clip corresponding to the first video clip in the main video file to the video display device for processing.
在一些实施例中,所述处理器还用于:将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。In some embodiments, the processor is further configured to: send the main video file and the proxy file to the video display device respectively, so that the video display device obtains information about the first video in the proxy file A first process is performed on a video segment, and a second process is performed on a second video segment in the main video file corresponding to the first video segment based on the first process.
本公开实施例中处理器所执行的方法详见前述视频处理方法的实施例,此处不再赘述。For details of the method executed by the processor in the embodiment of the present disclosure, refer to the foregoing embodiments of the video processing method, and details are not described herein again.
图9示出了本说明书实施例所提供的一种更为具体的视频处理装置的硬件结构示意图,该设备可以包括:处理器901、存储器902、输入/输出接口903、通信接口904和总线905。其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。在所述时钟同步装置用于执行上述应用于第一子系统的方法时,所述处理器901为第一处理器,所述通信接口904为第一通信接口。在所述时钟同步装置用于执行上述应用于第二子系统的方法时,所述处理器901为第二处理器,所述通信接口904为第二通信接口。FIG. 9 shows a schematic diagram of the hardware structure of a more specific video processing apparatus provided by an embodiment of this specification. The apparatus may include: a processor 901 , a memory 902 , an input/output interface 903 , a communication interface 904 and a bus 905 . The processor 901 , the memory 902 , the input/output interface 903 and the communication interface 904 realize the communication connection between each other within the device through the bus 905 . When the clock synchronization apparatus is used to execute the above method applied to the first subsystem, the processor 901 is a first processor, and the communication interface 904 is a first communication interface. When the clock synchronization apparatus is used to execute the above method applied to the second subsystem, the processor 901 is a second processor, and the communication interface 904 is a second communication interface.
处理器901可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。The processor 901 can be implemented by a general-purpose CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc. program to implement the technical solutions provided by the embodiments of this specification.
存储器902可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行。The memory 902 can be implemented in the form of a ROM (Read Only Memory, read-only memory), a RAM (Random Access Memory, random access memory), a static storage device, a dynamic storage device, and the like. The memory 902 may store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 902 and invoked by the processor 901 for execution.
输入/输出接口903用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。The input/output interface 903 is used for connecting input/output modules to realize information input and output. The input/output/module can be configured in the device as a component (not shown in the figure), or can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, and the like.
通信接口904用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。The communication interface 904 is used to connect a communication module (not shown in the figure), so as to realize the communication interaction between the device and other devices. The communication module may implement communication through wired means (eg, USB, network cable, etc.), or may implement communication through wireless means (eg, mobile network, WIFI, Bluetooth, etc.).
总线905包括一通路,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息。 Bus 905 includes a path to transfer information between the various components of the device (eg, processor 901, memory 902, input/output interface 903, and communication interface 904).
需要说明的是,尽管上述设备仅示出了处理器901、存储器902、输入/输出接口903、通信接口904以及总线905,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。It should be noted that although the above device only shows the processor 901, the memory 902, the input/output interface 903, the communication interface 904 and the bus 905, in the specific implementation process, the device may also include the necessary components for normal operation. other components. In addition, those skilled in the art can understand that, the above-mentioned device may only include components necessary to implement the solutions of the embodiments of the present specification, rather than all the components shown in the figures.
如图10所示,本公开实施例还提供一种视频处理设备1000,包括第一编码器1001、第二编码器1002和处理器1003;As shown in FIG. 10 , an embodiment of the present disclosure further provides a video processing device 1000, including a first encoder 1001, a second encoder 1002, and a processor 1003;
所述第一编码器1001用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器1003;The first encoder 1001 is configured to obtain a video code stream, generate a first video frame according to the video code stream, and send the first video frame to the processor 1003;
所述第二编码器1002用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器1003;The second encoder 1002 is configured to acquire the video code stream, generate a second video frame according to the video code stream, and send the second video frame to the processor 1003;
所述处理器1003用于执行以下操作:The processor 1003 is configured to perform the following operations:
获取所述第一编码器1001生成的第一视频帧和所述第二编码器1002生成的第二视频帧;Obtain the first video frame generated by the first encoder 1001 and the second video frame generated by the second encoder 1002;
将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Writing the first video frame to a main video file, writing the second video frame to a proxy file, and performing a comparison between the first video frame in the main video file and the second video frame in the proxy file Synchronization, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
本公开实施例中处理器1003所执行的方法详见前述视频处理方法的实施例,此处不再赘述。For details of the method executed by the processor 1003 in the embodiment of the present disclosure, refer to the foregoing embodiments of the video processing method, and details are not described herein again.
如图11A和图11B所示,本公开实施例还提供一种无人机1100,包括:As shown in FIG. 11A and FIG. 11B , an embodiment of the present disclosure further provides an unmanned aerial vehicle 1100, including:
机体1101; body 1101;
设于所述机体1101上的摄像头1102,用于采集视频流;a camera 1102 arranged on the body 1101 for capturing video streams;
以及设于所述机体1101内的视频处理设备1000。and the video processing device 1000 disposed in the body 1101 .
所述摄像头1102采集的视频流可用于实时输出至与所述无人机1000通信连接的终端上,以供用户进行预览。所述终端可以是无人机专用的带屏遥控器,或者是手机、平板电脑、台式电脑等智能终端。在一些实施例中,所述摄像头1102设于所述机体1101上,可以指所述摄像头1102直接设于所述机体1101上,或者设于连接在所述机体1101上的云台上。The video stream collected by the camera 1102 can be used for real-time output to the terminal communicatively connected to the drone 1000 for the user to preview. The terminal may be a remote controller with a screen dedicated to the drone, or an intelligent terminal such as a mobile phone, a tablet computer, and a desktop computer. In some embodiments, the camera 1102 is disposed on the body 1101 , which may mean that the camera 1102 is directly disposed on the body 1101 , or is disposed on a pan/tilt connected to the body 1101 .
所述无人机1000还可以包括设于所述机体上的桨叶1104,以及动力系统,用于为所述无人机1000提供动力。所述无人机1000中所采用的视频处理设备1000的实施例与前述视频处理设备1000的实施例相同,此处不再赘述。The UAV 1000 may further include blades 1104 disposed on the body, and a power system for providing power to the UAV 1000 . The embodiment of the video processing device 1000 used in the drone 1000 is the same as the embodiment of the video processing device 1000 described above, and details are not repeated here.
如图12所示,本公开实施例还提供一种图传系统1200,包括云台相机1201,所述云台相机1201包括:As shown in FIG. 12 , an embodiment of the present disclosure further provides an image transmission system 1200, including a pan-tilt camera 1201, and the pan-tilt camera 1201 includes:
壳体1201a; housing 1201a;
安装在所述壳体1201a上的云台1201b;a pan/tilt 1201b mounted on the housing 1201a;
安装在所述云台1201b上的摄像头1201c,用于采集视频码流;以及a camera 1201c installed on the PTZ 1201b for capturing video streams; and
设于所述壳体1201a内的视频处理设备(图中未示出)。A video processing device (not shown in the figure) provided in the casing 1201a.
所述图传系统1200中所采用的视频处理设备的实施例与前述视频处理设备1000的实施例相同,此处不再赘述。The embodiment of the video processing device used in the image transmission system 1200 is the same as the embodiment of the aforementioned video processing device 1000 , and details are not repeated here.
在一些实施例中,所述图传系统1200还可包括与所述视频处理设备通信连接的视频显示设备(例如,显示屏)1202。所述视频显示设备1202用于:接收所述代理文件;对经所述代理文件解码后得到的视频画面进行展示;以及向所述视频处理设备发送针对所述代理文件中的第一视频片段的下载请求;根据所述选择请求对所述主视频文件中与所述第一视频片段对应的第二视频片段进行处理。In some embodiments, the image transmission system 1200 may further include a video display device (eg, a display screen) 1202 communicatively connected to the video processing device. The video display device 1202 is configured to: receive the proxy file; display a video picture obtained after decoding the proxy file; and send a video for the first video segment in the proxy file to the video processing device. A download request; processing a second video segment corresponding to the first video segment in the main video file according to the selection request.
可选地,所述视频显示设备1202用于根据所述选择请求向所述视频处理设备发送针对所述第二视频片段的下载请求;接收所述视频处理设备发送的所述第二视频片段;对所述第二视频片段进行显示,从而实现分段下载功能。Optionally, the video display device 1202 is configured to send a download request for the second video clip to the video processing device according to the selection request; receive the second video clip sent by the video processing device; The second video segment is displayed, so as to implement a segmented download function.
或者可选地,所述视频显示设备1202用于接收所述视频处理设备发送的所述主视频文件;根据所述选择请求对所述第二视频片段进行剪辑操作,生成剪辑后的视频,从而实现代理剪辑功能。Or optionally, the video display device 1202 is configured to receive the main video file sent by the video processing device; perform a clipping operation on the second video segment according to the selection request to generate a clipped video, thereby Implement proxy editing.
所述视频显示设备1202可以是手机、平板电脑等便携式移动设备,视频显示设备1202与云台相机1201可以通过USB接口、蓝牙等有线或无线方式进行通信,云台相机1201可以将生成的代理文件实时图传给视频显示设备1202进行预览,视频显示设备1202可以将用于暂停录制、恢复录制、下载视频文件等功能的指令发送给云台相机1201。The video display device 1202 can be a portable mobile device such as a mobile phone and a tablet computer. The video display device 1202 and the PTZ camera 1201 can communicate via wired or wireless means such as a USB interface, Bluetooth, etc. The PTZ camera 1201 can convert the generated proxy file. The real-time image is transmitted to the video display device 1202 for preview, and the video display device 1202 can send instructions for functions such as pausing recording, resuming recording, downloading video files, etc. to the PTZ camera 1201 .
在一些实施例中,云台相机1201的壳体1201a上还可以安装固定支架1203,用于固定视频显示设备1202,以方便用户观看视频文件。所述固定支架1203可以固定地或者可拆卸地安装在壳体1201a上。In some embodiments, a fixing bracket 1203 may also be installed on the housing 1201a of the PTZ camera 1201 for fixing the video display device 1202 to facilitate the user to view video files. The fixing bracket 1203 can be fixedly or detachably mounted on the housing 1201a.
图12所示的云台相机1201仅仅是一种示例,云台相机1201还可以包括显示屏等。The pan-tilt camera 1201 shown in FIG. 12 is only an example, and the pan-tilt camera 1201 may also include a display screen and the like.
本公开实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行前述任一实施例所述的方法。Embodiments of the present disclosure also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to perform the method described in any of the foregoing embodiments.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传 输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。From the description of the above embodiments, those skilled in the art can clearly understand that the embodiments of the present specification can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solutions of the embodiments of this specification or the parts that make contributions to the prior art may be embodied in the form of software products, and the computer software products may be stored in storage media, such as ROM/RAM, A magnetic disk, an optical disk, etc., includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments in this specification.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, e-mail device, game control desktop, tablet, wearable device, or a combination of any of these devices.
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本公开的范围。Various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features, but due to space limitations, they are not described one by one, so the various technical features in the above embodiments can be combined arbitrarily It is also within the scope of this disclosure.
本领域技术人员在考虑公开及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。Other embodiments of the present disclosure will readily occur to those skilled in the art upon consideration of the disclosure and practice of the specification disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common general knowledge or techniques in the technical field not disclosed by this disclosure . The specification and examples are to be regarded as exemplary only, with the true scope and spirit of the disclosure being indicated by the following claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。It is to be understood that the present disclosure is not limited to the precise structures described above and illustrated in the accompanying drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。The above descriptions are only preferred embodiments of the present disclosure, and are not intended to limit the present disclosure. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the present disclosure. within the scope of protection.

Claims (47)

  1. 一种视频处理方法,其特征在于,应用于包括第一编码器和第二编码器的视频处理设备,所述方法包括:A video processing method, characterized in that, applied to a video processing device comprising a first encoder and a second encoder, the method comprising:
    获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
    将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Writing the first video frame to a main video file, writing the second video frame to a proxy file, and performing a comparison between the first video frame in the main video file and the second video frame in the proxy file Synchronization, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  2. 根据权利要求1所述的方法,其特征在于,所述主视频文件与所述代理文件的视频参数不同。The method according to claim 1, wherein the video parameters of the main video file and the proxy file are different.
  3. 根据权利要求2所述的方法,其特征在于,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。The method according to claim 2, wherein the video parameters include at least one of the following: resolution, bit rate, frame rate, and group of pictures.
  4. 根据权利要求2所述的方法,其特征在于,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。The method according to claim 2, wherein the code rate of the main video file is an integer multiple of the code rate of the proxy file, or the code rate of the proxy file is the code rate of the main video file integer multiples of .
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。The second encoder is controlled to be activated in synchronization with the first encoder, so that the first encoder and the second encoder are synchronized to generate the first video frame and the second video frame.
  6. 根据权利要求1所述的方法,其特征在于,所述将所述第一视频帧写入主视频文件,并将所述第二视频帧写入代理文件,包括:The method according to claim 1, wherein the writing the first video frame into a main video file and writing the second video frame into a proxy file comprises:
    在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一即时解码刷新IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,In the case that the start-up of the first encoder and the second encoder are synchronized, if the first instant decoding refresh IDR frame sent by the first encoder and the first instant decoding refresh IDR frame sent by the second encoder are received simultaneously Two IDR frames, writing the first video frame including the first IDR frame into the main video file, and writing the second video frame including the second IDR frame into the proxy file; or,
    在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。In the case that the start of the first encoder and the second encoder are not synchronized, if only the first IDR frame or the second IDR frame is received, the first IDR frame or the second IDR frame is sent to the The encoder of two IDR frames cyclically sends IDR requests until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and the first video frame including the first IDR frame A second video frame of the second IDR frame is written to the proxy file.
  7. 根据权利要求1所述的方法,其特征在于,所述将所述第二视频帧写入代理文件,包括:The method according to claim 1, wherein the writing the second video frame into a proxy file comprises:
    将所述第二视频帧写入缓存;writing the second video frame into a cache;
    在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;When acquiring a frame of the first video frame, detecting the first timestamp corresponding to the first video frame;
    在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。In the case that the time interval between the second time stamp of the second video frame in the cache and the first time stamp is less than a preset value, write the second video frame in the cache into the proxy file.
  8. 根据权利要求1所述的方法,其特征在于,所述将所述第二视频帧写入代理文件,包括:The method according to claim 1, wherein the writing the second video frame into a proxy file comprises:
    在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。In the case where the video recording is paused, it is determined whether to write the second video frame to the proxy file based on whether the second video frame encoded by the second encoder is used for real-time image transmission.
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述 第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。If the second video frame is not used for real-time image transmission, a pause command is sent to the first encoder and the second encoder synchronously, so that the first encoder and the second encoder synchronously pauses the generation of the corresponding video frame.
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, wherein the method further comprises:
    在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。When the video recording is paused, if the duration of the main video file is greater than the duration of the proxy file, stop writing the first video frame to the main video file, and continue to write the second video to the proxy file frames until the main video file and the proxy file are equal in duration.
  11. 根据权利要求8所述的方法,其特征在于,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。If the second video frame is used for real-time image transmission, send a pause instruction to the first encoder, so that the first encoder pauses to generate the first video frame, and continues to write the first video frame to the proxy file Two video frames, when the duration of the proxy file is equal to the duration of the main video file, the writing of the second video frame to the proxy file is stopped.
  12. 根据权利要求8所述的方法,其特征在于,所述将所述第一视频帧写入主视频文件,并将所述第二视频帧写入代理文件,包括:The method according to claim 8, wherein the writing the first video frame into a main video file and writing the second video frame into a proxy file comprises:
    在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;In the case of resuming video recording, sending an IDR request to the second encoder, and sending a start instruction to the first encoder;
    将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。Write the first video frame generated after the first encoder is restarted into the main video file, and before the first encoder is restarted, the last frame IDR frame generated by the second encoder starts The second video frame is written to the proxy file.
  13. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;When the main video file reaches the video splitting condition, send an IDR request to the first encoder and the second encoder respectively;
    若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。If the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is greater than the second preset value, the first encoder and the The second encoder sends an IDR request.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method of claim 13, wherein the method further comprises:
    若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。If the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is not greater than the second preset value, the main video file and all The proxy file is split, so that the first video frame and the second video frame are written into the split main video file and the split proxy file, respectively.
  15. 根据权利要求14所述的方法,其特征在于,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。The method according to claim 14, wherein the moment when the main video file starts to be split is not synchronized with the moment when the proxy file starts to be split.
  16. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频文件。Each time a first video frame is written to the main video file, one audio frame is synchronously written to the main video file.
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:The method of claim 16, wherein the method further comprises:
    对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存;buffering the audio frames received in the process of splitting the main video file and the proxy file;
    在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。After the main video file and the proxy file are split, the audio frame in the buffer and the corresponding second video frame are synchronously written into the proxy file.
  18. 根据权利要求17所述的方法,其特征在于,所述方法还包括:The method of claim 17, wherein the method further comprises:
    根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。A flag bit is generated according to the current split state, and the flag bit is used to indicate whether the split of the main video file and the proxy file is completed.
  19. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;sending the proxy file to the video display device for decoding and display, and obtaining a decoded video image;
    接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;receiving a selection request for a first video segment in the video image sent by the video display device;
    响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。In response to the selection request, a second video segment in the main video file corresponding to the first video segment is sent to the video display device for processing.
  20. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。Send the main video file and the proxy file to the video display device respectively, so that the video display device obtains the first processing performed on the first video clip in the proxy file, and based on the first process A process performs a second process on a second video segment corresponding to the first video segment in the main video file.
  21. 一种视频处理装置,其特征在于,包括处理器,其特征在于,所述处理器用于执行以下步骤:A video processing device, characterized in that it includes a processor, wherein the processor is configured to perform the following steps:
    获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
    将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Writing the first video frame to a main video file, writing the second video frame to a proxy file, and performing a comparison between the first video frame in the main video file and the second video frame in the proxy file Synchronization, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  22. 根据权利要求21所述的装置,其特征在于,所述主视频文件与所述代理文件的视频参数不同。The apparatus according to claim 21, wherein the video parameters of the main video file and the proxy file are different.
  23. 根据权利要求22所述的装置,其特征在于,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。The apparatus according to claim 22, wherein the video parameters include at least one of the following: resolution, bit rate, frame rate, and group of pictures.
  24. 根据权利要求23所述的装置,其特征在于,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。The apparatus according to claim 23, wherein the bit rate of the main video file is an integer multiple of the bit rate of the proxy file, or the bit rate of the proxy file is the bit rate of the main video file integer multiples of .
  25. 根据权利要求21所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 21, wherein the processor is further configured to:
    控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。The second encoder is controlled to be activated in synchronization with the first encoder, so that the first encoder and the second encoder are synchronized to generate the first video frame and the second video frame.
  26. 根据权利要求21所述的装置,其特征在于,所述处理器用于:The apparatus of claim 21, wherein the processor is configured to:
    在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,In the case that the startup of the first encoder and the second encoder are synchronized, if the first IDR frame sent by the first encoder and the second IDR frame sent by the second encoder are received simultaneously , write the first video frame including the first IDR frame into the main video file, and write the second video frame including the second IDR frame into the proxy file; or,
    在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。In the case that the start of the first encoder and the second encoder are not synchronized, if only the first IDR frame or the second IDR frame is received, the first IDR frame or the second IDR frame is sent to the The encoder of two IDR frames cyclically sends IDR requests until the IDR frame and the second IDR frame are received at the same time, then the first video frame including the first IDR frame is written into the main video file, and the first video frame including the first IDR frame A second video frame of the second IDR frame is written to the proxy file.
  27. 根据权利要求21所述的装置,其特征在于,所述处理器用于:The apparatus of claim 21, wherein the processor is configured to:
    将所述第二视频帧写入缓存;writing the second video frame into a cache;
    在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;When acquiring a frame of the first video frame, detecting the first timestamp corresponding to the first video frame;
    在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。In the case that the time interval between the second time stamp of the second video frame in the cache and the first time stamp is less than a preset value, write the second video frame in the cache into the proxy file.
  28. 根据权利要求21所述的装置,其特征在于,所述处理器用于:The apparatus of claim 21, wherein the processor is configured to:
    在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。In the case where the video recording is paused, it is determined whether to write the second video frame to the proxy file based on whether the second video frame encoded by the second encoder is used for real-time image transmission.
  29. 根据权利要求28所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 28, wherein the processor is further configured to:
    若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。If the second video frame is not used for real-time image transmission, a pause command is sent to the first encoder and the second encoder synchronously, so that the first encoder and the second encoder synchronously pauses the generation of the corresponding video frame.
  30. 根据权利要求29所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 29, wherein the processor is further configured to:
    在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。When the video recording is paused, if the duration of the main video file is greater than the duration of the proxy file, stop writing the first video frame to the main video file, and continue to write the second video to the proxy file frames until the main video file and the proxy file are equal in duration.
  31. 根据权利要求28所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 28, wherein the processor is further configured to:
    若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。If the second video frame is used for real-time image transmission, send a pause instruction to the first encoder, so that the first encoder pauses to generate the first video frame, and continues to write the first video frame to the proxy file Two video frames, when the duration of the proxy file is equal to the duration of the main video file, the writing of the second video frame to the proxy file is stopped.
  32. 根据权利要求28所述的装置,其特征在于,所述处理器用于:The apparatus of claim 28, wherein the processor is configured to:
    在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;In the case of resuming video recording, sending an IDR request to the second encoder, and sending a start instruction to the first encoder;
    将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。Write the first video frame generated after the first encoder is restarted into the main video file, and before the first encoder is restarted, the last frame IDR frame generated by the second encoder starts The second video frame is written to the proxy file.
  33. 根据权利要求21所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 21, wherein the processor is further configured to:
    在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;When the main video file reaches the video splitting condition, send an IDR request to the first encoder and the second encoder respectively;
    若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。If the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is greater than the second preset value, the first encoder and the The second encoder sends an IDR request.
  34. 根据权利要求33所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 33, wherein the processor is further configured to:
    若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。If the time difference between the time when the IDR frame sent by the first encoder is received and the time when the IDR frame sent by the second encoder is received is not greater than the second preset value, the main video file and all The proxy file is split, so that the first video frame and the second video frame are written into the split main video file and the split proxy file, respectively.
  35. 根据权利要求34所述的装置,其特征在于,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。The apparatus according to claim 34, wherein the moment when the main video file starts to be split is not synchronized with the moment when the proxy file starts to be split.
  36. 根据权利要求21所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 21, wherein the processor is further configured to:
    每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频 文件。Each time a first video frame is written into the main video file, an audio frame is written into the main video file synchronously.
  37. 根据权利要求36所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 36, wherein the processor is further configured to:
    对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存;buffering the audio frames received in the process of splitting the main video file and the proxy file;
    在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。After the main video file and the proxy file are split, the audio frame in the buffer and the corresponding second video frame are synchronously written into the proxy file.
  38. 根据权利要求37所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 37, wherein the processor is further configured to:
    根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。A flag bit is generated according to the current split state, and the flag bit is used to indicate whether the split of the main video file and the proxy file is completed.
  39. 根据权利要求21所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 21, wherein the processor is further configured to:
    将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;sending the proxy file to the video display device for decoding and display, and obtaining a decoded video image;
    接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;receiving a selection request for a first video segment in the video image sent by the video display device;
    响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。In response to the selection request, a second video segment in the main video file corresponding to the first video segment is sent to the video display device for processing.
  40. 根据权利要求21所述的装置,其特征在于,所述处理器还用于:The apparatus of claim 21, wherein the processor is further configured to:
    将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。Send the main video file and the proxy file to the video display device respectively, so that the video display device obtains the first processing performed on the first video clip in the proxy file, and based on the first process A process performs a second process on a second video segment corresponding to the first video segment in the main video file.
  41. 一种视频处理设备,其特征在于,包括第一编码器、第二编码器和处理器;A video processing device, comprising a first encoder, a second encoder and a processor;
    所述第一编码器用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器;The first encoder is configured to obtain a video code stream, generate a first video frame according to the video code stream, and send the first video frame to the processor;
    所述第二编码器用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器;The second encoder is configured to obtain the video code stream, generate a second video frame according to the video code stream, and send the second video frame to the processor;
    所述处理器用于执行以下操作:The processor is used to perform the following operations:
    获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;Obtain the first video frame generated by the first encoder and the second video frame generated by the second encoder;
    将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。Writing the first video frame to a main video file, writing the second video frame to a proxy file, and performing a comparison between the first video frame in the main video file and the second video frame in the proxy file Synchronization, wherein the proxy file is used for the user to preview and select the video segment to be processed before the video display device processes the main video file.
  42. 一种无人机,其特征在于,包括:An unmanned aerial vehicle, characterized in that it includes:
    机体;body;
    设于所述机体上的摄像头,用于采集视频流;a camera set on the body for capturing video streams;
    以及设于所述机体内的如权利要求41所述的视频处理设备。and the video processing device as claimed in claim 41 provided in the body.
  43. 一种图传系统,其特征在于,所述图传系统包括:An image transmission system, characterized in that the image transmission system comprises:
    云台相机,所述云台相机包括:PTZ camera, the PTZ camera includes:
    壳体;case;
    安装在所述壳体上的云台;a head mounted on the housing;
    安装在所述云台上的摄像头,用于采集视频码流;以及a camera installed on the PTZ for capturing video streams; and
    设于所述壳体内的如权利要求41所述的视频处理设备。The video processing apparatus of claim 41 provided in the housing.
  44. 根据权利要求43所述的图传系统,其特征在于,所述图传系统还包括:The image transmission system according to claim 43, wherein the image transmission system further comprises:
    与所述视频处理设备通信连接的视频显示设备;a video display device communicatively connected to the video processing device;
    所述视频显示设备用于:The video display device is used for:
    接收所述代理文件;receiving said proxy document;
    对所述代理文件进行解码并对解码后的视频图像进行显示;Decoding the proxy file and displaying the decoded video image;
    接收用户对所述视频图像中的第一视频片段的选择请求;receiving a user's selection request for the first video segment in the video image;
    根据所述选择请求对所述主视频文件中与所述第一视频片段对应的第二视频片段进行处理。The second video segment corresponding to the first video segment in the main video file is processed according to the selection request.
  45. 根据权利要求44所述的图传系统,其特征在于,所述视频显示设备用于:The image transmission system according to claim 44, wherein the video display device is used for:
    根据所述选择请求向所述视频处理设备发送针对所述第二视频片段的下载请求;sending a download request for the second video segment to the video processing device according to the selection request;
    接收所述视频处理设备发送的所述第二视频片段;receiving the second video segment sent by the video processing device;
    对所述第二视频片段进行显示。The second video segment is displayed.
  46. 根据权利要求44所述的图传系统,其特征在于,所述视频显示设备还用于:The image transmission system according to claim 44, wherein the video display device is further used for:
    接收所述视频处理设备发送的所述主视频文件;receiving the main video file sent by the video processing device;
    根据所述选择请求对所述第二视频片段进行剪辑操作,生成剪辑后的视频。The editing operation is performed on the second video segment according to the selection request to generate a edited video.
  47. 一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得所述计算机执行权利要求1至20任意一项所述的视频处理方法。A computer-readable storage medium, comprising instructions, which, when executed on a computer, cause the computer to execute the video processing method according to any one of claims 1 to 20.
PCT/CN2020/122279 2020-10-20 2020-10-20 Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system WO2022082457A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/122279 WO2022082457A1 (en) 2020-10-20 2020-10-20 Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system
CN202080015467.7A CN113491122A (en) 2020-10-20 2020-10-20 Video processing method, device and equipment, unmanned aerial vehicle and picture transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/122279 WO2022082457A1 (en) 2020-10-20 2020-10-20 Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system

Publications (1)

Publication Number Publication Date
WO2022082457A1 true WO2022082457A1 (en) 2022-04-28

Family

ID=77933292

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/122279 WO2022082457A1 (en) 2020-10-20 2020-10-20 Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system

Country Status (2)

Country Link
CN (1) CN113491122A (en)
WO (1) WO2022082457A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020051581A1 (en) * 2000-06-19 2002-05-02 Seiichi Takeuchi Video signal encoder and video signal decoder
CN101370140A (en) * 2008-09-25 2009-02-18 浙江大华技术股份有限公司 Multi-code stream generation method
CN102113323A (en) * 2008-07-28 2011-06-29 汤姆森特许公司 A method and apparatus for fast channel change using a secondary channel video stream
CN102439989A (en) * 2008-10-28 2012-05-02 西斯科技术公司 Stream synchronization for live video encoding
CN103210644A (en) * 2010-08-06 2013-07-17 汤姆森特许公司 Apparatus and method for receiving signals
CN111654718A (en) * 2020-04-14 2020-09-11 上海阅竞网络科技有限公司 Audio and video online making and cooperation system and method based on Internet of things device assistance

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760042B2 (en) * 2000-09-15 2004-07-06 International Business Machines Corporation System and method of processing MPEG streams for storyboard and rights metadata insertion
JP5369599B2 (en) * 2008-10-20 2013-12-18 富士通株式会社 Video encoding apparatus and video encoding method
CN106162225A (en) * 2016-07-28 2016-11-23 杭州当虹科技有限公司 A kind of high timeliness editor's live video method based on agency's stream
CN106790558B (en) * 2016-12-26 2020-04-28 国家新闻出版广电总局电影数字节目管理中心 Film multi-version integration storage and extraction system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020051581A1 (en) * 2000-06-19 2002-05-02 Seiichi Takeuchi Video signal encoder and video signal decoder
CN102113323A (en) * 2008-07-28 2011-06-29 汤姆森特许公司 A method and apparatus for fast channel change using a secondary channel video stream
CN101370140A (en) * 2008-09-25 2009-02-18 浙江大华技术股份有限公司 Multi-code stream generation method
CN102439989A (en) * 2008-10-28 2012-05-02 西斯科技术公司 Stream synchronization for live video encoding
CN103210644A (en) * 2010-08-06 2013-07-17 汤姆森特许公司 Apparatus and method for receiving signals
CN111654718A (en) * 2020-04-14 2020-09-11 上海阅竞网络科技有限公司 Audio and video online making and cooperation system and method based on Internet of things device assistance

Also Published As

Publication number Publication date
CN113491122A (en) 2021-10-08

Similar Documents

Publication Publication Date Title
JP7126813B2 (en) Video recording method and system
US10484737B2 (en) Methods and systems for instantaneous asynchronous media sharing
WO2016095369A1 (en) Screen recording method and device
JP2008262686A (en) Method and device for recording broadcast data
KR20150082949A (en) Method for screen mirroring and apparatus thereof
CN111225171B (en) Video recording method, device, terminal equipment and computer storage medium
KR20210002459A (en) Systems and methods for synchronizing audio and video
US11647217B2 (en) Transmission device, communication system, transmission method, and computer program product
CN113906764B (en) Method, apparatus and computer readable medium for transcoding video
CN111436004A (en) Video playing method, device and equipment and computer readable storage medium
US20220256205A1 (en) Video processing method and apparatus, computer device, and storage medium
JP6869135B2 (en) Reproduction device, control method of reproduction device, and program
WO2022082457A1 (en) Video processing method, apparatus, and device, unmanned aerial vehicle, and image transmission system
CN109739607B (en) Dynamic image loading method, device, equipment and storage medium
CN111918074A (en) Live video fault early warning method and related equipment
KR20140117889A (en) Client apparatus, server apparatus, multimedia redirection system and the method thereof
CN111093091A (en) Video processing method, server and system
JP4213697B2 (en) Image reproduction apparatus and method for moving picture stream
CN113709574B (en) Video screenshot method and device, electronic equipment and computer readable storage medium
US9225931B2 (en) Moving image data recording apparatus
TWI731579B (en) Transmission device, communication system, transmission method, and computer program product
CA2972520A1 (en) Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video
CN112118473B (en) Video bullet screen display method and device, computer equipment and readable storage medium
CN114339289A (en) Video playing processing method
CN112135163A (en) Video playing starting method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20958040

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20958040

Country of ref document: EP

Kind code of ref document: A1