【发布时间】:2020-02-22 16:36:38
【问题描述】:
我正在使用 opencv 和 python 循环录制视频。我已经设法让它记录循环中的所有视频并将其保存到单个输出文件中,但我的目标是将循环中记录的每个视频保存为不同的文件,日期和时间作为标识符每个视频。我不太使用python,我确信有一种简单的方法可以做到,但我就是找不到。非常感谢任何帮助!
import cv2
import time as t1
import numpy as np
def save_video(outPath,fps,mirror=False):
cap = cv2.VideoCapture(0)
currentFrame = 0
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH) # float
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) # float
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter(outPath, fourcc, 20.0, (int(width), int(height)))
while (cap.isOpened()):
ret, frame = cap.read()
if ret == True:
if mirror == True:
frame = cv2.flip(frame, 1)
out.write(frame)
cv2.imshow('frame', frame)
else:
break
if cv2.waitKey(1) & 0xFF == ord('q'):
break
currentFrame +=1
cap.release()
out.release()
cv2.destroyAllWindows()
date_string = t1.strftime("%Y-%m-%d-%H:%M")
count=0
while(True):
if count < 6:
print('Recording started: recording video number ' + str(count))
save_video('/Documents/0222_video_recordings/video' + date_string + '.avi',
30.0,mirror=True)
count += 1
【问题讨论】:
-
你能说得更具体点吗?您已经知道如何将视频写入文件,对吧?
-
是的,但是如果我运行此代码,它捕获的每个视频(从我想要的六个视频中)都会保存到同一个文件中。我希望每个视频都保存到单独的文件中
标签: python opencv video-capture