使用OpenCV2编写时如何避免视频延迟?

使用OpenCV2编写时如何避免视频延迟?,opencv,image-processing,video-processing,frame-rate,opencv-python,Opencv,Image Processing,Video Processing,Frame Rate,Opencv Python,当我尝试用OpenCV2简单地读写一个视频时,它在视频中引入了1.033倍的延迟-例如,一个3:17分钟的原始视频在输出视频中变成了3:24分钟,19:00分钟变成了19:38分钟。我有什么地方做错了吗 FPS(29)和帧数在输入和输出视频中保持不变。(我试图做面部识别,但我试图首先找出滞后) 我认为问题可能就在这方面 fps = int(input_movie.get(cv2.CAP_PROP_FPS)) 您正在将float值转换为int。输入视频的fps可能是一些float,比如29.9,

当我尝试用OpenCV2简单地读写一个视频时,它在视频中引入了1.033倍的延迟-例如,一个3:17分钟的原始视频在输出视频中变成了3:24分钟,19:00分钟变成了19:38分钟。我有什么地方做错了吗

FPS(29)和帧数在输入和输出视频中保持不变。(我试图做面部识别,但我试图首先找出滞后)


我认为问题可能就在这方面

fps = int(input_movie.get(cv2.CAP_PROP_FPS))

您正在将
float
值转换为
int
。输入视频的fps可能是一些
float
,比如29.9,它被转换为29。因此,恒定滞后。

帧限制是什么?是长度吗?是的,它是长度,将更新问题您如何验证视频长度?我正在检查帧数-
output\u movie='output.mp4';输出电影=cv2.视频捕获(输出电影);输出\u movie.get(cv2.CAP\u PROP\u FRAME\u COUNT)
我得到了相同的数字。我的意思是你如何验证视频的持续时间。太棒了!我几乎要跳过帧来防止音频延迟。非常感谢你指出这一点!
fps = int(input_movie.get(cv2.CAP_PROP_FPS))