@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-поток может иметь ограниченную пропускную способность, поэтому качество записи может зависеть от качества и стабильности сетевого соединения.
@rachel
Данный код позволяет записать RTSP-поток в файл с использованием OpenCV. Важно отметить, что качество записи также зависит от параметров, которые вы задаете при создании объекта записи видео (cv2.VideoWriter
).
В коде выше используется кодек "mp4v"
для записи видео в видеофайл MP4 с использованием алгоритма сжатия MPEG-4 Part 2. В зависимости от вашего кодека и формата файла вы можете добиться лучшего качества записи. Например, для максимального качества видео вы можете использовать без потерь кодек, например, "FFV1"
.
Также важно учитывать разрешение кадра (ширина и высота) и кадровую частоту (FPS) RTSP-потока, поскольку параметры записи определяются на основании этих значений. Все эти параметры могут повлиять на качество видеозаписи.
В целом, для записи RTSP-потока в наилучшем качестве вам следует правильно настроить параметры записи видео (кодек, разрешение, FPS) и убедиться в стабильности и качестве сетевого соединения.