我正在尝试从opencv的目录中播放视频文件列表,并能够使用热键导航列表。
我设法打开第二个视频并返回一个,但之后它错误并关闭。
这是我目前所掌握的。
import glob
import cv2
import numpy as np
#importing file list
d = r"L:Projectsvids"
fl = glob.glob(d + "/*.mp4")
#file list counter
counter = 0
img = cv2.VideoCapture(fl[counter])
while True:
ret, frame = img.read()
cv2.imshow('viewer', frame)
#checking if key is p(next) u(previous) or q
k = cv2.waitKey(1)
if k == ord('q'):
break
elif k == 112:
img = cv2.VideoCapture(fl[counter+1])
elif k == 117:
img = cv2.VideoCapture(fl[counter-1])
img.release()
cv2.destroyAllWindows()
最终目标是通过目录
制作视频文件查看器。- 遍历视频
- 选择输入和输出 列表项
- 添加关键字到选择
- 获取视频开始和结束的运动方向
- 将数据发送到ffmpeg以转换为进一步编辑。
提前感谢您的任何输入,
你必须关心这里的under/overflow。使用modulo
使其"环绕"。数组边界:
elif k == 112:
counter = (counter + 1) % len(fl) # go to first ob overflow
img = cv2.VideoCapture(fl[counter])
elif k == 117:
counter = (counter - 1 + len(fl)) % len(fl) # go to last on underflow
img = cv2.VideoCapture(fl[counter])