@Vladosio

Как получать каждый раз новую видео запись и как сохранить в корневой папке?

Взял код для записи с веб-камеры и т.д. с сохранением видео отсюда - https://opencv-python-tutroals.readthedocs.io/en/l...

Немного изменив его. А теперь вопросы:

1. Как мне получить каждый раз новое видео, чтобы предыдущее сохранялось, т.к. сейчас оно перезаписывается каждый раз в одном файле? Пробовал через % i по примеру, но не получилось.
2. Как сохранять видео в корневой папке с файлом.py(который был запущен), например, в папке testvideo?

Пробую такой вариант, но ошибка, что не удается найти папку testvideo. Если не использовать так, то видео сохраняются в паке C:\Users\%User% и папку можно указать, в какую сохранить, но мне нужно именно в папку с проектом.
import numpy as np
import cv2
import os
import sys

cap = cv2.VideoCapture(0)

i = 0
fourcc = cv2.VideoWriter_fourcc(*'XVID')
global path
path = 'testvideo'
videoPaths = [os.path.join(path,f) for f in os.listdir(path)]
video = "output%.4d.avi" % i
out = cv2.VideoWriter(video, fourcc, 20.0, (640,480))
for videoPath in videoPaths:
    while(cap.isOpened()):
        ret, frame = cap.read()
        if ret==True:
            frame = cv2.flip(frame,1)
    
 
            out.write(frame)
            i += 1 
            cv2.imshow('frame',frame)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break

        else:
            break


cap.release()
out.release()
cv2.destroyAllWindows()
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@Alexa2007
Лучше привязать название ко времени, так как и во всех фотоаппаратах
import pathlib
folder = pathlib.Path().absolute()
video = fr'{folder}\VIDEO_{time.strftime("%m%d%Y_%H%M%S")}.avi'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы