gpt4 book ai didi

python - 按播放时间停止播放视频

转载 作者:行者123 更新时间:2023-12-02 17:25:26 25 4
gpt4 key购买 nike

我创建了一个程序将视频提取为帧。当没有更多帧可显示时,我需要建议停止cv2.imshow()。

视频帧数= 88

fps = 10.0

持续时间= int(8)


def reading_video():
read_input = cv2.VideoCapture(r"D:\data\input.mp4")
frame_rate = int(read_input.get(cv2.CAP_PROP_FRAME_COUNT)) # 88
print("total number of frames is ", frame_rate)
fps = read_input.get(cv2.CAP_PROP_FPS) #10.0
duration = int((frame_rate/fps) %60)# 8
print(duration) # 8.0

initial_frame = 0
while read_input.isOpened():
ret, frame = read_input.read()
if ret == True:
cv2.imshow('video_frame', frame)
write_path = r"D:\data\frame_output"
write_name = 'frame0' + str(initial_frame) + '.jpg'
cv2.imwrite(os.path.join(write_path, write_name), frame)
initial_frame += 1
if cv2.waitKey(0) & 0xFF == ord('c'):
break
else:
break


instance_variable = reading_video()
instance_variable.release()
cv2.destroyAllWindows()


如果waitkey(int(duration))然后播放,没有帧后,我确实会收到cv2断言错误。

如果waitkey(0),那么我确实得到了AttributeError:'NoneType'对象没有属性'release'

最佳答案

reading_video()不使用return,因此它返回None

instance_variable = None

然后
None.release()

reading_video()内部,您应该使用
return read_input

甚至直接
read_input.release() 

没有 instance_variable.release()

关于python - 按播放时间停止播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com