Как записать rtsp поток в opencv в лучшем качестве?

Пользователь

от rachel , в категории: Другие , 2 месяца назад

Как записать rtsp поток в opencv в лучшем качестве?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от judd , 2 месяца назад

@rachel 

Для записи RTSP-потока в OpenCV в наилучшем качестве можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import cv2

# Создать объект захвата видео
cap = cv2.VideoCapture("rtsp://ip_address:port/path")

# Получить информацию о видео
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = int(cap.get(cv2.CAP_PROP_FPS))

# Создать объект записи видео
fourcc = cv2.VideoWriter_fourcc(*"mp4v")
out = cv2.VideoWriter("output.mp4", fourcc, fps, (width, height))

# Захватывать кадры с RTSP-потока и записывать их в файл
while True:
    ret, frame = cap.read()
    if not ret:
        break
    
    out.write(frame)

    cv2.imshow("Frame", frame)
    if cv2.waitKey(1) == 27:
        break

# Освободить ресурсы
cap.release()
out.release()
cv2.destroyAllWindows()


При записи видео в наилучшем качестве следует учесть, что RTSP-поток может иметь ограниченную пропускную способность, поэтому качество записи может зависеть от качества и стабильности сетевого соединения.