WO2022082457A1 - 视频处理方法、装置和设备、无人机、图传系统 - Google Patents
视频处理方法、装置和设备、无人机、图传系统 Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 35
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 55
- 230000001360 synchronised effect Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/08—Arrangements of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供一种视频处理方法、装置和设备、无人机、图传系统,应用于包括第一编码器和第二编码器的视频处理设备,包括:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
Description
本公开涉及视频处理技术领域,尤其涉及一种视频处理方法、装置和设备、无人机、图传系统。
代理文件是与主视频文件基本同步但是画质较低的视频文件,其占用空间小,解码播放时对硬件的要求较低。通过采用代理文件,可以有效减少下载原视频的耗时并能够降低对播放硬件的负载。例如,在用剪辑软件进行视频剪辑时,可以先对代理文件进行预览,裁剪,加特效等,然后再调用主视频文件进行渲染。代理文件需要与主视频文件进行同步,以避免用户预览的代理文件与主视频内容不一致。传统的代理文件同步方式一般是在视频采集设备外部采用额外的设备,对主视频文件进行下采样处理,得到代理文件。由于下采样的方式耗时较长,因此,生成代理文件的过程效率较低。
发明内容
本公开提供了一种视频处理方法、装置和设备、无人机、图传系统,能够提高生成代理文件的效率。
第一方面,本公开实施例提供一种视频处理方法,应用于包括第一编码器和第二编码器的视频处理设备,所述方法包括:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
第二方面,本公开实施例提供一种视频处理装置,包括处理器,其特征在于,所述处理器用于执行以下步骤:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
第三方面,本公开实施例提供一种视频处理设备,包括第一编码器、第二编码器和处理器;所述第一编码器用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器;所述第二编码器用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器;所述处理 器用于执行以下操作:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
第四方面,本公开实施例提供一种无人机,包括:机体;设于所述机体上的摄像头,用于采集视频流;以及设于所述机体内的如本公开任一实施例所述的视频处理设备。
第五方面,本公开实施例提供一种图传系统,所述图传系统包括:云台相机,所述云台相机包括:壳体;安装在所述壳体上的云台;安装在所述云台上的摄像头,用于采集视频码流;以及设于所述壳体内的如本公开任一实施例所述的视频处理设备。
第六方面,本公开实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行本公开任一实施例所述的视频处理方法。
本公开实施例中,通过视频处理设备中的两路编码器来并行地生成第一视频帧和第二视频帧,再基于第一视频帧生成主视频文件,并同步地基于第二视频帧生成代理文件,从而可以在视频处理设备采集到视频码流之后,在视频处理设备内部生成代理文件,保证了代理文件的生成效率,同时也保证了代理文件与主视频文件的同步性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是传统的代理文件生成方式的示意图。
图2是本公开实施例的视频处理方法的流程图。
图3是本公开实施例的代理文件生成方式的示意图。
图4是本公开实施例的编码器启动时的同步过程示意图。
图5是本公开实施例的正常录制过程中第二编码器视频帧流向的示意图。
图6是本公开实施例的暂停和恢复过程中的同步过程示意图。
图7是本公开实施例的文件拆分过程中的同步过程示意图。
图8是本公开实施例的音频和视频同步方式的示意图。
图9是本公开实施例的视频处理装置的示意图。
图10是本公开实施例的视频处理设备的示意图。
图11A和11B是本公开实施例的无人机的示意图。
图12是本公开实施例的图传系统的示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
传统的代理文件大多采用的是外部设备如工作站、手机等获取到主视频文件,再通过画质压缩(如下采样等)将主视频文件转换为低画质的代理文件。如图1所示,是一种传统的代理文件生成方式。首先,相机101中的图像传感器101a采集视频码流,然后相机101中的编码器101b基于所述视频码流生成视频帧,该视频帧被写入主视频文件103中。与此同时,相机101将主视频文件103实时地传输给手机102,手机102对接收到的主视频文件进行下采样处理,生成代理文件104。在上述过程中,由于下采样处理所花费的时间较多,因此,生成代理文件的效率较低。除此之外,还有一些方案虽然能够在视频采集设备内生成代理文件,但是需要统一代理文件与主视频文件主要参数,如码率、帧率(Frame Per Second,FPS)、画面组(Group of Pictures,GOP)等,难以满足不同应用场景的需要。
基于此,本公开实施例提供一种视频处理方法,如图2所示,所述方法可包括:
步骤201:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;
步骤202:将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
在本公开实施例中,主视频文件是指基于图像传感器采集到的视频码流生成的原始视频文件,主视频文件一般画质较高,但占用存储空间较大,解码播放时对硬件要求较高。代理文件是指与主视频文件内容大致相同,但画质较低的视频文件。相比于主视频文件,代理文件占用存储空间较小,解码播放时对硬件要求较低。
本公开实施例的视频处理方法可以由处理器执行。所述处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)等类型。所述处理器可以是单台处理器,也可以是包括多台处理器的处理器集群。
本公开实施例的视频处理设备可以是具有视频采集功能的设备,例如,相机。在步骤201中,可以通过视频处理设备中的图像传感器采集视频码流。第一编码器和第二编码器可以获取原始视频码流,并根据原始视频码流分别生成第一视频帧和第二视频帧。其中,所述第一编码器和第二编码器获取的原始视频码流可以是同一个图像传感器采集的视频码流,以降低硬件成本。
第一编码器和第二编码器可以是视频处理设备内部的编码器。通过在视频处理设备内部设置两路编码器,使得视频处理设备在采集到视频码流之后,在该视频处理设备的内部就可以生成代理文件,无需采用额外的设备来生成代理文件。第一编码器和第二编码器在生成对应的视频帧后,可以将视频帧发送给处理器。
在步骤202中,处理器可以调用写进程来将第一视频帧写入主视频文件,以及将第二视频帧写入代理文件,该过程称为视频录制。录制得到的主视频文件和代理文件可以存储在视频处理设备的存储单元(例如,SD卡)中。
在视频录制过程中,需要主视频文件中的第一视频帧与代理文件中的第二视频帧保持同步。应当说明的是,此处的同步并非是指绝对同步,而是指在一定误差内基本同步。所述一定误差可以小于或等于1帧视频帧对应的时长。也就是说,在主视频文件中的第一视频帧与代理文件中的第二视频帧之间的时差小于1帧视频帧对应的时长的情况下,可视为第一视频帧与第二视频帧是同步的。在主视频文件与代理文件帧率不同的情况下,所述1帧视频帧对应的时长可以是帧率较大的文件中1帧视频帧对应的时长。
本申请的代理文件可用于在视频显示设备上供用户进行预览以及选择待处理的视频片段。具体来说,可以用于实现分段下载和代理剪辑两种功能。其中,分段下载功能是指相机的机身存储主视频文件,由视频显示设备下载代理文件,用户在代理文件中选择真正要下载的视频片段,再请求相机侧传输主视频文件中分辨率较高的原始片段。通过采用分段下载功能,只需下载主视频文件的一部分,可以节省下载完整的主视频文件的时间和对完整的主视频文件进行解码的时间。代理剪辑功能是指代理文件和原文件都完整地下载到视频显示设备上,用户在视频显示设备上进行的预览、剪辑、裁切等操作都是针对代理文件进行的,只有在真正渲染时,才针对主视频文件中对应的视频片段进行处理,通过采用代理剪辑功能,可以节省解码完整的主视频文件所需的时间。
在进行分段下载时,处理器可以响应于接收到视频预览指令,从视频处理设备 的存储空间中读取代理文件,并将读取到的代理文件发送至视频显示设备进行解码显示,得到解码后的视频图像,以供用户进行预览。其中,所述视频预览指令可以是用户通过视频处理设备上的交互控件(例如,按钮、触摸屏)向处理器发送的,或者是用户通过所述视频显示设备发送的,或者也可以是通过其他方式向处理器发送的。在接收到所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求之后,可以响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。
当用户需要下载视频文件时,可以通过视频显示设备向处理器发送下载请求。所述下载请求中可以携带代理文件中的第一视频片段的标识信息。处理器可以响应该下载请求,将所述主视频文件中与所述第一视频片段同步的第二视频片段发送给视频显示设备,这种方式称为分段下载。其中,所述第二视频片段中包括第一视频片段,且所述第二视频片段时长可以略大于所述第一视频片段。
一种应用场景为:视频处理设备将拍摄的实时画面传输给视频播放设备,例如手机进行预览显示,用户可以通过预览画面触发视频处理设备进行视频录制,在录制过程中,视频处理设备会分别存储主视频文件和代理文件,当录制结束后,若用户想通过视频显示设备播放录制的视频,则视频处理设备可以先将代理文件传输至视频显示设备进行播放,节省传输开销以及时间。视频显示设备将接收到的代理文件进行解码,进而播放第二视频帧对应的视频画面,用户通过观看视频显示设备播放的视频来确定需要进行剪辑的视频片段。当用户从播放的视频画面中选择了要进行剪辑的视频片段后,视频显示设备向视频处理设备发送该段视频片段对应的时间戳信息,视频处理设备基于该时间戳信息从主视频文件中查找对应的文件数据,发送至视频显示设备,视频显示设备接收到该部分数据并进行解码后,进行后期的剪辑过程。
在进行代理剪辑时,处理器可以将所述主视频文件和所述代理文件分别发送至所述视频显示设备,其中,代理文件用于在所述视频显示设备上供用户进行预览以及剪辑,视频显示设备可以基于用户操作,针对代理文件中的第一视频片段进行第一处理,并基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理,以得到对主视频文件中高分辨率的视频帧的处理结果。
参见图3,在一种实际应用场景下,可以在相机300中设置第一编码器301和第二编码器302,第一编码器301和第二编码器302分别从图像传感器303接收视频码流,并分别生成第一视频帧和第二视频帧。第一视频帧用于生成主视频文件,第二视频帧用于生成代理文件。
本公开实施例中主视频文件的视频参数与代理文件的视频参数可以不同。其中,所述视频参数可以包括但不限于分辨率、码率、帧率、画面组中的至少一者。代理文件的视频参数可以根据实际需求设置。例如,可以根据用户偏好、硬件资源、应用场景等条件中的至少一者设置。例如,在用户倾向于预览画质较高的代理文件的情况下,或者在需要对视频文件进行高精度处理的场景下,可以将代理文件的分辨率设置得较高。又例如,在传输带宽受限的情况下,可以将代理文件的码率设置得较低。
可选地,可以将代理文件的码率设置为主视频文件码率的整数倍,或者将主视 频文件的码率设置为代理文件码率的整数倍。例如,主视频文件的帧率为60fps,代理文件帧率为30fps;或者主视频文件的帧率为30fps,代理文件帧率为60fps。这样,可以提高代理文件中第二视频帧与主视频文件中第一视频帧的同步精确度。
下文将具体阐述对第一视频帧与第二视频帧进行同步的方式。本公开实施例在开始录制视频文件的情况下,或者在暂停录制以后又恢复录制的情况下,或者在发生文件拆分的情况下,可以基于第一编码器发送的即时解码刷新(Instantaneous Decoding Refresh,IDR)帧和第二编码器发送的IDR帧来进行第一视频帧与第二视频帧的同步。一个IDR帧的作用在于,清空参考帧队列,以在视频解码时阻断该IDR帧的后续视频帧对该IDR帧之前的视频帧的参考。具体来说,在开始录制视频文件的情况下,或者在暂停录制以后又恢复录制的情况下,或者在发生文件拆分的情况下,如果同步接收到第一编码器发送的第一IDR帧和第二编码器发送的第二IDR帧,将所述第一编码器发送的第一视频帧(包括第一IDR帧)和第二编码器发送的第二视频帧(包括第二IDR帧)同步地写入对应的视频文件。
在第一编码器和第二编码器启动过程中,在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,可以直接将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件。这里的同时并非指同一时刻,而是指时间间隔小于某个阈值,例如,小于1帧视频帧的时长。
在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。
如图4所示,是所述第一编码器和所述第二编码器的启动不同步的情况下,第一视频帧和第二视频帧的同步过程的示意图。其中,启动不同步可以是第一编码器和第二编码器的启动时长不同,也可以是第一编码器和第二编码器开始启动的时刻不同。图4示出了第一编码器启动较快,第二编码器启动较慢的情况。
第一编码器在启动完成的情况下,生成第一视频帧。其中,第一编码器生成的第1帧第一视频帧为第一IDR帧。第一IDR帧之后生成的视频帧可以是B帧或者P帧,如图中空白的白色方块所示。第一编码器在生成第一IDR帧之后,可以将第一IDR帧发送给处理器。处理器此时可判断是否接收到第二编码器发送的第二IDR帧。如果未接收到,则再次向启动较快的编码器(即第一编码器)发送IDR请求,第一编码器在接收到该IDR请求的情况下将再次生成第一IDR帧。直到处理器同步接收到第一IDR帧和第二IDR帧,处理器才开始进行视频录制,即,将包括第一IDR帧在内的第一视频帧写入主视频文件,并同步地将第二IDR帧在内的第二视频帧写入代理文件。写入对应视频文件的第一视频帧和第二视频帧如图中虚线框内的灰色方块所示。在同步接收到第一IDR帧和第二IDR帧之前接收到的第一视频帧可以丢弃,丢弃的视频帧如图中虚线框外的白色方块所示。其中,虚线框内的IDR帧之后的视频帧可以是B帧 或者P帧。
第一编码器和二编码器是否同步启动,受限于硬件条件。可以在出厂时根据硬件条件预先设置好编码器启动过程中的同步机制,如果硬件条件支持第一编码器和二编码器同时启动,则在启动后直接进行视频录制;如果硬件条件不支持第一编码器和二编码器同时启动,则通过图4所示的方式进行视频录制。在实际应用中,也可能出现第一编码器启动较慢,第二编码器启动较快的情况。这种情况与图4所示的情况原理类似,可参考图4所示的情况进行处理,此处不再赘述。
由于代理文件与主视频文件的帧率可能不同,且可能存在两路编码器出帧时间不同步的情况。因此,如图5所示,在视频录制过程中,可以将第一视频帧直接写入主视频文件,并将第二视频帧先写入缓存。在缓存中的第二视频帧的时间戳满足写入代理文件的时间条件的情况下,再从缓存中将第二视频帧写入代理文件。具体来说,可以将所述第二视频帧写入缓存,在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳,在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。
例如,处理器当前接收到的第一视频帧f1的第一时间戳为t1,则将缓存中的第二视频帧的第二时间戳t2与t1进行比较。如果t2与t1的差值小于预设的△t,则将缓存中的第二视频帧写入代理文件。如果t2与t1的差值大于或等于△t,则将第二视频帧继续存储在缓存中。
第二编码器生成的第二视频帧除了用于生成代理文件之外,还可以用于实时传输到视频显示设备。实时传输的第二视频帧可以直接通过通信链路传输给视频显示设备,而不受到录制过程的影响。
在一些实施例中,用户可以对视频录制过程进行暂停。由于代理文件的视频参数与主视频文件的视频参数可能不同,可能导致暂停过程中第一视频帧和第二视频帧失去同步,导致代理文件无法起到其应有的作用。为了解决上述问题,在视频录制暂停的情况下,可以基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件,以保持第一视频帧和第二视频帧的同步。
具体来说,若所述第二视频帧未被用于进行实时图像传输,则第一编码器和第二编码器均可以进入暂停状态。在这种情况下,可以同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。
在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,可以暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。第二视频帧可以先写入缓存,在接收到第一视频帧时,检测第一视频帧对应的时间戳,如果第二视频帧对应的时间戳小于第一视频帧对应的时间戳,表示主视频文件的时长大于代理文件的时长,从而可以将缓存中的至少一帧第二视频帧补入代理文件,以将代理文件的时长填充至与主 视频文件基本相等的长度。其中,所述基本相等可以是主视频文件与代理文件的时长之差小于1帧视频帧的时长。
如图6所示,用户发送暂停指令后,第一编码器经过2帧第一视频帧(如图中暂停与恢复之间的两个灰色方块所示)对应的时长后进入暂停状态,暂停生成第一视频帧。由于暂停之后主视频文件比代理文件多两帧,则从缓存中继续读取两帧第二视频帧并补入代理文件。图中灰色方格表示写入代理文件或主视频文件的视频帧,白色方格表示未生成视频帧。
在另一种情况下,如果进入暂停状态后,缓存中的第二视频帧的时间戳大于暂停后接收到的最后一帧第一视频帧的时间戳,则将缓存中的第二视频帧全部写入代理文件后会使得代理文件的时长超过主视频文件。因此,可以丢弃缓存中的至少一帧第二视频帧,丢弃的第二视频帧将不会写入代理文件,以保持代理文件与主视频文件的时长基本相等。
在第二视频帧用于进行实时图像传输的情况下,恢复视频录制中的同步过程与启动过程类似,即,向先恢复启动的编码器循环发送IDR请求,并在同时接收到第一编码器的IDR帧和第二编码器的IDR帧的情况下开始视频录制,具体过程可参见编码器启动过程的同步方式,此处不再赘述。
若所述第二视频帧用于进行实时图像传输,由于需要保证实时图像传输(简称为图传)不中断,第二组编码器不能暂停或停止,将会始终保持工作。编码器可以向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。继续写入第二视频帧至代理文件的时长与主视频文件的时长相等的方式与图6所示的方式类似,此处不再赘述。应当说明的是,这里的相等并非指绝对相等,也可以是基本相等。
在视频录制恢复的情况下,可以向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令,将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。如图6所示,在恢复视频录制之后,处理器先请求第二编码器发送IDR帧,并在接收到第二编码器发送的IDR帧的情况下判断第一编码器是否重新启动。如果第一编码器未启动,则再次请求第二编码器发送IDR帧,直到第一编码器重新启动(图中的R表示第一编码器重新启动)。处理器可以从第一编码器重新启动后发送的第1帧第一视频帧开始,将第一视频帧写入主视频文件,并从第二编码器最后一次发送的IDR帧开始,将第二视频帧写入代理文件。
在一些实施例中,为了防止文件过大导致文件系统不支持或录制时长过长,需要在视频文件达到临界值前进行文件拆分。为了保证在拆分前后的主视频文件和代理文件中,第一视频帧和第二视频帧均能够保持同步,可以在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求,若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。
只有在接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值的情况下,才对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。
其中,所述视频拆分条件可以是主视频文件的时长或数据量达到临界值,例如,主视频文件的数据量达到3.8Gbit时,认为满足拆分条件。如图7所示,在拆分过程中,将分别向第一编码器和第二编码器发送IDR请求,只有在同时接收到第一编码器和第二编码器返回的IDR帧的情况下,才进行文件拆分,并将接收到的第一视频帧和第二视频帧分别写入新的文件。否则,仍然将第一视频帧和第二视频帧写入原文件中。图中灰色的视频帧表示写入原代理文件的第二视频帧或者写入原主视频文件的第一视频帧,虚线框中的视频帧表示写入新的代理文件的第二视频帧或者写入新的主视频文件的第一视频帧。
进一步地,由于主视频文件和代理文件的视频参数不同,在主视频文件和代理文件中的一者满足拆分条件时,另一者可能还不满足拆分条件。也就是说,主视频文件和代理文件的拆分过程不同步,主视频文件开始拆分的时刻可能早于代理文件开始拆分的时刻,也可能晚于代理文件开始拆分的时刻。以主视频文件开始拆分的时刻早于代理文件开始拆分的时刻为例,处理器可以在主视频文件开始拆分之后,再对代理文件进行拆分。在主视频文件开始拆分之后,处理器可以将表征拆分状态的标志位设置为第一标志位,以指示主视频文件和代理文件中的至少一者未拆分完成。在主视频文件和代理文件均拆分完成的情况下,将所述标志位设置为第二标志位,以指示主视频文件和代理文件均拆分完成。所述第一标志位和第二标志位可以分别用一个布尔类型的常量(例如“0”或者“1”)来表示。
在一些实施例中,每向所述主视频文件写入一帧第一视频帧,可以将一帧音频帧同步地写入所述主视频文件。应当说明的是,传统的音视频同步方式是先对音频帧和视频帧进行同步,再将同步后的音频帧和视频帧写入文件。而本公开实施例的方式是在将第一视频帧和第二视频帧分别写入主视频文件和代理文件之后,再将对应的音频帧分别写入主视频文件和代理文件。由于音视频同步机制的不同,导致了在文件拆分过程中可能出现音频帧和视频帧不同步的问题。为了解决这一问题,可以对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存,在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。
如图8所示,在音频帧可以写入主视频文件的情况下,将音频帧复制一份,得到两份相同的音频帧。其中一份音频帧写入主视频文件,另一份音频帧视当前是否正在进行文件拆分而决定如何写入代理文件。如果当前正在进行文件拆分,则将音频帧写入缓存,否则,判断是否刚刚拆分完成。如果文件刚刚拆分完成,则将缓存中的音频帧读出直至清空缓存。其中,所述刚刚拆分完成可以是当前时间与拆分完成的时间之间的时间差小于预设的时间间隔。如果不是刚刚拆分完成,则按照各音频帧写入缓存的顺序,将各音频帧写入代理文件。这里的文件拆分完成是指主视频文件和代理文 件均拆分完成。主视频文件和代理文件的拆分过程可能不同步,只要主视频文件和代理文件中的任意一者未完成文件拆分,则认为当前未完成文件拆分。
本公开采用第一编码器和第二编码器分别实现主视频文件和代理文件的录制,并保证了主视频文件中的第一视频帧和第二视频帧基本同步,实现了在视频处理设备内部生成代理文件,无需借助额外的设备,减少了代理文件的生成过程的流程开支。生成的代理文件与主视频文件均保存于相机的存储介质内,可以先下载代理文件预览并选取兴趣区域,再到主视频文件中下载对应视频片段,或使用代理文件进行预览和剪辑,再将剪辑结果应用于主视频文件,节省了视频文件的处理时间消耗,并方便用户剪辑。
此外,本公开中的代理文件生成方案能够保证暂停恢复、文件拆分不影响代理文件与主视频文件的同步效果,用户录制过程更加自由便利。同时代理文件的视频参数可以与主视频文件不同,解除了传统的代理文件需要保持与主视频文件视频参数完全相同的限制,可以通过降低帧率或增加画面组的方法来提升代理文件的清晰度,从而提升用户体验。
本公开实施例还提供一种视频处理装置,包括处理器,其特征在于,所述处理器用于执行以下步骤:
获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;
将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
在一些实施例中,所述主视频文件与所述代理文件的视频参数不同。
在一些实施例中,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。
在一些实施例中,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。
在一些实施例中,所述处理器还用于:控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。
在一些实施例中,所述处理器用于:在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视 频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。
在一些实施例中,所述处理器用于:将所述第二视频帧写入缓存;在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。
在一些实施例中,所述处理器用于:在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。
在一些实施例中,所述处理器还用于:若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。
在一些实施例中,所述处理器还用于:在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。
在一些实施例中,所述处理器还用于:若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。
在一些实施例中,所述处理器用于:在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。
在一些实施例中,所述处理器还用于:在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。
在一些实施例中,所述处理器还用于:若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。
在一些实施例中,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。
在一些实施例中,所述处理器还用于:每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频文件。
在一些实施例中,所述处理器还用于:对在对所述主视频文件和所述代理文件 进行拆分的过程中接收到的音频帧进行缓存;在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。
在一些实施例中,所述处理器还用于:根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。
在一些实施例中,所述处理器还用于:将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。
在一些实施例中,所述处理器还用于:将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。
本公开实施例中处理器所执行的方法详见前述视频处理方法的实施例,此处不再赘述。
图9示出了本说明书实施例所提供的一种更为具体的视频处理装置的硬件结构示意图,该设备可以包括:处理器901、存储器902、输入/输出接口903、通信接口904和总线905。其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。在所述时钟同步装置用于执行上述应用于第一子系统的方法时,所述处理器901为第一处理器,所述通信接口904为第一通信接口。在所述时钟同步装置用于执行上述应用于第二子系统的方法时,所述处理器901为第二处理器,所述通信接口904为第二通信接口。
处理器901可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器902可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行。
输入/输出接口903用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口904用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线905包括一通路,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器901、存储器902、输入/输出接口903、通信接口904以及总线905,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
如图10所示,本公开实施例还提供一种视频处理设备1000,包括第一编码器1001、第二编码器1002和处理器1003;
所述第一编码器1001用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器1003;
所述第二编码器1002用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器1003;
所述处理器1003用于执行以下操作:
获取所述第一编码器1001生成的第一视频帧和所述第二编码器1002生成的第二视频帧;
将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
本公开实施例中处理器1003所执行的方法详见前述视频处理方法的实施例,此处不再赘述。
如图11A和图11B所示,本公开实施例还提供一种无人机1100,包括:
机体1101;
设于所述机体1101上的摄像头1102,用于采集视频流;
以及设于所述机体1101内的视频处理设备1000。
所述摄像头1102采集的视频流可用于实时输出至与所述无人机1000通信连接的终端上,以供用户进行预览。所述终端可以是无人机专用的带屏遥控器,或者是手机、平板电脑、台式电脑等智能终端。在一些实施例中,所述摄像头1102设于所述机体1101上,可以指所述摄像头1102直接设于所述机体1101上,或者设于连接在所述机体1101上的云台上。
所述无人机1000还可以包括设于所述机体上的桨叶1104,以及动力系统,用于为所述无人机1000提供动力。所述无人机1000中所采用的视频处理设备1000的实施例与前述视频处理设备1000的实施例相同,此处不再赘述。
如图12所示,本公开实施例还提供一种图传系统1200,包括云台相机1201,所述云台相机1201包括:
壳体1201a;
安装在所述壳体1201a上的云台1201b;
安装在所述云台1201b上的摄像头1201c,用于采集视频码流;以及
设于所述壳体1201a内的视频处理设备(图中未示出)。
所述图传系统1200中所采用的视频处理设备的实施例与前述视频处理设备1000的实施例相同,此处不再赘述。
在一些实施例中,所述图传系统1200还可包括与所述视频处理设备通信连接的视频显示设备(例如,显示屏)1202。所述视频显示设备1202用于:接收所述代理文件;对经所述代理文件解码后得到的视频画面进行展示;以及向所述视频处理设备发送针对所述代理文件中的第一视频片段的下载请求;根据所述选择请求对所述主视频文件中与所述第一视频片段对应的第二视频片段进行处理。
可选地,所述视频显示设备1202用于根据所述选择请求向所述视频处理设备发送针对所述第二视频片段的下载请求;接收所述视频处理设备发送的所述第二视频片段;对所述第二视频片段进行显示,从而实现分段下载功能。
或者可选地,所述视频显示设备1202用于接收所述视频处理设备发送的所述主视频文件;根据所述选择请求对所述第二视频片段进行剪辑操作,生成剪辑后的视频,从而实现代理剪辑功能。
所述视频显示设备1202可以是手机、平板电脑等便携式移动设备,视频显示设备1202与云台相机1201可以通过USB接口、蓝牙等有线或无线方式进行通信,云台相机1201可以将生成的代理文件实时图传给视频显示设备1202进行预览,视频显示设备1202可以将用于暂停录制、恢复录制、下载视频文件等功能的指令发送给云台相机1201。
在一些实施例中,云台相机1201的壳体1201a上还可以安装固定支架1203,用于固定视频显示设备1202,以方便用户观看视频文件。所述固定支架1203可以固定地或者可拆卸地安装在壳体1201a上。
图12所示的云台相机1201仅仅是一种示例,云台相机1201还可以包括显示屏等。
本公开实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行前述任一实施例所述的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传 输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本公开的范围。
本领域技术人员在考虑公开及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (47)
- 一种视频处理方法,其特征在于,应用于包括第一编码器和第二编码器的视频处理设备,所述方法包括:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
- 根据权利要求1所述的方法,其特征在于,所述主视频文件与所述代理文件的视频参数不同。
- 根据权利要求2所述的方法,其特征在于,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。
- 根据权利要求2所述的方法,其特征在于,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。
- 根据权利要求1所述的方法,其特征在于,所述将所述第一视频帧写入主视频文件,并将所述第二视频帧写入代理文件,包括:在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一即时解码刷新IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。
- 根据权利要求1所述的方法,其特征在于,所述将所述第二视频帧写入代理文件,包括:将所述第二视频帧写入缓存;在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。
- 根据权利要求1所述的方法,其特征在于,所述将所述第二视频帧写入代理文件,包括:在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。
- 根据权利要求8所述的方法,其特征在于,所述方法还包括:若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述 第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。
- 根据权利要求9所述的方法,其特征在于,所述方法还包括:在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。
- 根据权利要求8所述的方法,其特征在于,所述方法还包括:若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。
- 根据权利要求8所述的方法,其特征在于,所述将所述第一视频帧写入主视频文件,并将所述第二视频帧写入代理文件,包括:在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。
- 根据权利要求13所述的方法,其特征在于,所述方法还包括:若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。
- 根据权利要求14所述的方法,其特征在于,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频文件。
- 根据权利要求16所述的方法,其特征在于,所述方法还包括:对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存;在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。
- 根据权利要求17所述的方法,其特征在于,所述方法还包括:根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。
- 一种视频处理装置,其特征在于,包括处理器,其特征在于,所述处理器用于执行以下步骤:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
- 根据权利要求21所述的装置,其特征在于,所述主视频文件与所述代理文件的视频参数不同。
- 根据权利要求22所述的装置,其特征在于,所述视频参数包括以下至少一种:分辨率、码率、帧率、画面组。
- 根据权利要求23所述的装置,其特征在于,所述主视频文件的码率是所述代理文件的码率的整数倍,或者所述代理文件的码率是所述主视频文件的码率的整数倍。
- 根据权利要求21所述的装置,其特征在于,所述处理器还用于:控制所述第二编码器与所述第一编码器同步启动,以使所述第一编码器和所述第二编码器同步地生成所述第一视频帧和所述第二视频帧。
- 根据权利要求21所述的装置,其特征在于,所述处理器用于:在所述第一编码器和所述第二编码器的启动同步的情况下,如果同时接收到所述第一编码器发送的第一IDR帧和所述第二编码器发送的第二IDR帧,将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入代理文件;或者,在所述第一编码器和所述第二编码器的启动不同步的情况下,如果仅接收到所述第一IDR帧或者所述第二IDR帧,向发送所述第一IDR帧或者第二IDR帧的编码器循环发送IDR请求,直到同时接收到所述IDR帧和所述第二IDR帧,则将包括所述第一IDR帧的第一视频帧写入主视频文件,并将包括所述第二IDR帧的第二视频帧写入所述代理文件。
- 根据权利要求21所述的装置,其特征在于,所述处理器用于:将所述第二视频帧写入缓存;在获取到一帧第一视频帧时,检测所述第一视频帧对应的第一时间戳;在所述缓存中的第二视频帧的第二时间戳与所述第一时间戳戳之间的时间间隔小于预设值的情况下,将所述缓存中的第二视频帧写入所述代理文件。
- 根据权利要求21所述的装置,其特征在于,所述处理器用于:在视频录制暂停的情况下,基于所述第二编码器编码的第二视频帧是否被用于进行实时图像传输,确定是否将所述第二视频帧写入代理文件。
- 根据权利要求28所述的装置,其特征在于,所述处理器还用于:若所述第二视频帧未被用于进行实时图像传输,同步地向所述第一编码器和所述第二编码器发送暂停指令,以使所述第一编码器和所述第二编码器同步地暂停生成对应视频帧。
- 根据权利要求29所述的装置,其特征在于,所述处理器还用于:在视频录制暂停的情况下,若所述主视频文件的时长大于所述代理文件的时长,暂停向所述主视频文件写入第一视频帧,并继续向所述代理文件写入第二视频帧,直到所述主视频文件与所述代理文件的时长相等。
- 根据权利要求28所述的装置,其特征在于,所述处理器还用于:若所述第二视频帧用于进行实时图像传输,向所述第一编码器发送暂停指令,以使所述第一编码器暂停生成第一视频帧,并继续向所述代理文件写入第二视频帧,当所述代理文件的时长与所述主视频文件的时长相等时停止向所述代理文件写入所述第二视频帧。
- 根据权利要求28所述的装置,其特征在于,所述处理器用于:在视频录制恢复的情况下,向所述第二编码器发送IDR请求,并向所述第一编码器发送启动指令;将所述第一编码器恢复启动后生成的第一视频帧写入所述主视频文件,并将所述第一编码器恢复启动之前,所述第二编码器生成的最后一帧IDR帧开始的第二视频帧写入所述代理文件。
- 根据权利要求21所述的装置,其特征在于,所述处理器还用于:在所述主视频文件到达视频拆分条件的情况下,分别向所述第一编码器和所述第二编码器发送IDR请求;若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差大于第二预设值,重新向所述第一编码器和所述第二编码器发送IDR请求。
- 根据权利要求33所述的装置,其特征在于,所述处理器还用于:若接收到所述第一编码器发送的IDR帧的时刻与接收到所述第二编码器发送的IDR帧的时刻的时间差不大于所述第二预设值,对所述主视频文件和所述代理文件进行拆分,以将所述第一视频帧和所述第二视频帧分别写入拆分后的主视频文件和拆分后的代理文件。
- 根据权利要求34所述的装置,其特征在于,所述主视频文件开始拆分的时刻与所述代理文件开始拆分的时刻不同步。
- 根据权利要求21所述的装置,其特征在于,所述处理器还用于:每向所述主视频文件写入一帧第一视频帧,将一帧音频帧同步地写入所述主视频 文件。
- 根据权利要求36所述的装置,其特征在于,所述处理器还用于:对在对所述主视频文件和所述代理文件进行拆分的过程中接收到的音频帧进行缓存;在所述主视频文件和所述代理文件拆分完成之后,将缓存中的音频帧与对应的第二视频帧同步写入所述代理文件。
- 根据权利要求37所述的装置,其特征在于,所述处理器还用于:根据当前拆分状态生成标志位,所述标志位用于表征所述主视频文件和所述代理文件是否均拆分完成。
- 根据权利要求21所述的装置,其特征在于,所述处理器还用于:将所述代理文件发送至所述视频显示设备进行解码显示,得到解码后的视频图像;接收所述视频显示设备发送的针对所述视频图像中的第一视频片段的选择请求;响应于所述选择请求,将所述主视频文件中与所述第一视频片段对应的第二视频片段发送至所述视频显示设备进行处理。
- 根据权利要求21所述的装置,其特征在于,所述处理器还用于:将所述主视频文件和所述代理文件分别发送至所述视频显示设备,以使所述视频显示设备获取针对所述代理文件中的第一视频片段进行的第一处理,以及基于所述第一处理对所述主视频文件中与所述第一视频片段对应的第二视频片段进行第二处理。
- 一种视频处理设备,其特征在于,包括第一编码器、第二编码器和处理器;所述第一编码器用于获取视频码流,根据所述视频码流生成第一视频帧,并将所述第一视频帧发送至所述处理器;所述第二编码器用于获取所述视频码流,根据所述视频码流生成第二视频帧,并将所述第二视频帧发送至所述处理器;所述处理器用于执行以下操作:获取所述第一编码器生成的第一视频帧和所述第二编码器生成的第二视频帧;将所述第一视频帧写入主视频文件,将所述第二视频帧写入代理文件,以及将所述主视频文件中的第一视频帧与所述代理文件中的第二视频帧进行同步,其中,所述代理文件用于在视频显示设备对所述主视频文件进行处理之前,供用户进行预览及选择待处理的视频片段。
- 一种无人机,其特征在于,包括:机体;设于所述机体上的摄像头,用于采集视频流;以及设于所述机体内的如权利要求41所述的视频处理设备。
- 一种图传系统,其特征在于,所述图传系统包括:云台相机,所述云台相机包括:壳体;安装在所述壳体上的云台;安装在所述云台上的摄像头,用于采集视频码流;以及设于所述壳体内的如权利要求41所述的视频处理设备。
- 根据权利要求43所述的图传系统,其特征在于,所述图传系统还包括:与所述视频处理设备通信连接的视频显示设备;所述视频显示设备用于:接收所述代理文件;对所述代理文件进行解码并对解码后的视频图像进行显示;接收用户对所述视频图像中的第一视频片段的选择请求;根据所述选择请求对所述主视频文件中与所述第一视频片段对应的第二视频片段进行处理。
- 根据权利要求44所述的图传系统,其特征在于,所述视频显示设备用于:根据所述选择请求向所述视频处理设备发送针对所述第二视频片段的下载请求;接收所述视频处理设备发送的所述第二视频片段;对所述第二视频片段进行显示。
- 根据权利要求44所述的图传系统,其特征在于,所述视频显示设备还用于:接收所述视频处理设备发送的所述主视频文件;根据所述选择请求对所述第二视频片段进行剪辑操作,生成剪辑后的视频。
- 一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得所述计算机执行权利要求1至20任意一项所述的视频处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080015467.7A CN113491122A (zh) | 2020-10-20 | 2020-10-20 | 视频处理方法、装置和设备、无人机、图传系统 |
PCT/CN2020/122279 WO2022082457A1 (zh) | 2020-10-20 | 2020-10-20 | 视频处理方法、装置和设备、无人机、图传系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/122279 WO2022082457A1 (zh) | 2020-10-20 | 2020-10-20 | 视频处理方法、装置和设备、无人机、图传系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022082457A1 true WO2022082457A1 (zh) | 2022-04-28 |
Family
ID=77933292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/122279 WO2022082457A1 (zh) | 2020-10-20 | 2020-10-20 | 视频处理方法、装置和设备、无人机、图传系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113491122A (zh) |
WO (1) | WO2022082457A1 (zh) |
Citations (6)
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 (zh) * | 2008-09-25 | 2009-02-18 | 浙江大华技术股份有限公司 | 一种多码流生成的方法 |
CN102113323A (zh) * | 2008-07-28 | 2011-06-29 | 汤姆森特许公司 | 使用辅助频道视频流的快速频道改变的方法和装置 |
CN102439989A (zh) * | 2008-10-28 | 2012-05-02 | 西斯科技术公司 | 用于直播视频编码的流同步 |
CN103210644A (zh) * | 2010-08-06 | 2013-07-17 | 汤姆森特许公司 | 接收信号的设备和方法 |
CN111654718A (zh) * | 2020-04-14 | 2020-09-11 | 上海阅竞网络科技有限公司 | 基于物联网设备辅助的音视频线上制作与协作系统和方法 |
Family Cites Families (4)
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 (ja) * | 2008-10-20 | 2013-12-18 | 富士通株式会社 | 映像符号化装置、映像符号化方法 |
CN106162225A (zh) * | 2016-07-28 | 2016-11-23 | 杭州当虹科技有限公司 | 一种基于代理流的高时效编辑直播视频方法 |
CN106790558B (zh) * | 2016-12-26 | 2020-04-28 | 国家新闻出版广电总局电影数字节目管理中心 | 一种影片多版本整合存储和提取系统 |
-
2020
- 2020-10-20 CN CN202080015467.7A patent/CN113491122A/zh active Pending
- 2020-10-20 WO PCT/CN2020/122279 patent/WO2022082457A1/zh active Application Filing
Patent Citations (6)
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 (zh) * | 2008-07-28 | 2011-06-29 | 汤姆森特许公司 | 使用辅助频道视频流的快速频道改变的方法和装置 |
CN101370140A (zh) * | 2008-09-25 | 2009-02-18 | 浙江大华技术股份有限公司 | 一种多码流生成的方法 |
CN102439989A (zh) * | 2008-10-28 | 2012-05-02 | 西斯科技术公司 | 用于直播视频编码的流同步 |
CN103210644A (zh) * | 2010-08-06 | 2013-07-17 | 汤姆森特许公司 | 接收信号的设备和方法 |
CN111654718A (zh) * | 2020-04-14 | 2020-09-11 | 上海阅竞网络科技有限公司 | 基于物联网设备辅助的音视频线上制作与协作系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113491122A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7126813B2 (ja) | 動画録画方法およびシステム | |
US10484737B2 (en) | Methods and systems for instantaneous asynchronous media sharing | |
JP2008262686A (ja) | 同報通信データを記録するための方法、および、装置 | |
US12058387B2 (en) | Video processing method and apparatus, computer device, and storage medium | |
JP7515546B2 (ja) | 中断可能な映像トランスコーディング | |
US11647217B2 (en) | Transmission device, communication system, transmission method, and computer program product | |
CN111225171B (zh) | 一种视频录制方法、装置、终端设备及计算机存储介质 | |
KR20210002459A (ko) | 오디오 및 비디오를 동기시키기 위한 시스템 및 방법 | |
CN111436004A (zh) | 视频播放方法、装置和设备、计算机可读存储介质 | |
JP6869135B2 (ja) | 再生装置、再生装置の制御方法、及び、プログラム | |
WO2022082457A1 (zh) | 视频处理方法、装置和设备、无人机、图传系统 | |
CN109739607B (zh) | 动态图像加载方法、装置、设备及存储介质 | |
CN112118473B (zh) | 视频弹幕显示方法、装置、计算机设备及可读存储介质 | |
CN111918074A (zh) | 直播视频故障预警方法及相关设备 | |
KR20140117889A (ko) | 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법 | |
CN111093091A (zh) | 视频处理方法、服务器及系统 | |
US9225931B2 (en) | Moving image data recording apparatus | |
CN113709574B (zh) | 视频截图方法、装置、电子设备及计算机可读存储介质 | |
US7853118B2 (en) | Image replay apparatus and method for moving-picture streams | |
TWI731579B (zh) | 傳輸裝置、通訊系統、傳輸方法及電腦程式產品 | |
CA2972520A1 (en) | Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video | |
CN112135163A (zh) | 视频起播的方法以及装置 | |
US20240073415A1 (en) | Encoding Method, Electronic Device, Communication System, Storage Medium, and Program Product | |
CN111147928A (zh) | 视频处理方法、服务器、终端及系统 | |
JP2018195923A (ja) | 記録装置 |
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 |