Как сохранить видео, записанные с oop, в разные файлы? - PullRequest
0 голосов
/ 22 февраля 2020

Я записываю видео в al oop, используя opencv и python. Мне удалось заставить его записывать и сохранять все видео из l oop в один выходной файл, но моя цель состоит в том, чтобы каждое видео, записанное в l oop, сохранялось как отдельный файл с датой и время в качестве идентификатора для каждого видео. Я не очень часто использую 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

1 Ответ

0 голосов
/ 23 февраля 2020

Выбор разных имен файлов в каждой итерации.

Пример:

save_video('/Documents/0222_video_recordings/video_' + str(count) + '_' + date_string + '.avi', 
...