сохранение потока в небольшие видео - PullRequest
1 голос
/ 20 февраля 2020

Он принимает поток, сгенерированный протоколом RTSP, и обрабатывает его с помощью алгоритма машинного обучения, но он не работает должным образом, алгоритм медленен при обработке кадров, поэтому я пытаюсь сохранить поток в небольшие видео, но я получаю очень малая частота кадров 1FPS, и когда я пытаюсь сэкономить 1 минуту, это дает мне только 15 секунд, когда я использую IP-камеру hikvision, вот код, который я использую.

import time
import cv2
import numpy as np
import cv2
import imutils
from imutils.object_detection import non_max_suppression
import datetime
import numpy as np
import cv2 as cv


capture_duration = 60

for i in range(1,4):
    cap = cv2.VideoCapture("rtsp://admin:admin123@192.168.1.2:554/cam/realmonitor?channel=1&subtype=0")
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH) )
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT) )
    size = (width, height)
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    name=( str(i)+'.mp4')
    out = cv2.VideoWriter(name, fourcc, 10.0, size)
    start_time = time.time()

    while(int(time.time() - start_time) < capture_duration):
        _, frame = cap.read()
        #cv2.imshow('Recording...', frame)
        out.write(frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    out.release()
    cv2.destroyAllWindows()

...