【发布时间】:2021-11-09 03:54:22
【问题描述】:
我正在尝试运行一个视觉行为实验,其中一个文件夹中的一大堆视频一个接一个地播放。我需要在 python 中执行此操作,因为我有一个 TTL 脉冲发生器,我需要在每个视频的开头和结尾运行它。
我正在使用 cv2 并尝试播放视频,但由于我无法弄清楚的原因,我无法让它们按顺序播放
附上我的代码
import cv2
import os
import random
videofolderPath = '/folderwithfiles'
videos = []
playlist = []
for file in os.listdir(videofolderPath):
if file.lower().endswith(".mp4"):
path=os.path.join('/folderwithfiles/',file)
playlist.append(path)
random.shuffle(playlist)
for i in range (3):
i += 1
cap = cv2.VideoCapture(playlist[i])
print(playlist[i])
while(True):
ret, frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q') or ret==False :
cap.release()
cv2.destroyAllWindows()
break
cv2.imshow('frame',frame)
cap.release()
cv2.destroyAllWindows()
我遇到的问题是我认为他们都在同时播放。当我按 q 时,我确实看到了它后面的另一个视频,但我很难让它们一个接一个地播放。
【问题讨论】: