Я пытаюсь получить доступ к видеопотоку RTSP с IP-камеры, используя OpenCV.
Ниже код работает правильно на Windows или Mac.
import cv2
source = "rtsp://user:pass@ip"
cap=cv2.VideoCapture(source)
while True:
t1=time.time()
ret, frame = cap.read()
print("Read Time:",round((time.time()-t1)*1000,1))
когда fps = 5 или fps = 30 (Windows, Mac);
Read Time 30.2
Read Time 31.8
Read Time 32.1
Read Time 33.2
Read Time 32.2
Но на Linux это работает немного странно. Сначала cap.read () ждет долго, а затем эта задержка вызывает задержку видео на 2-10 секунд. Если fps увеличивается, то задержка уменьшается. Я не могу найти решение. Вы можете мне помочь?
Когда fps = 30 (Linux);
Read Time **1736.5**
Read Time 30.2
Read Time 32.8
Read Time 32.1
Read Time 34.2
Когда fps = 5 (Linux);
Read Time **10412.8**
Read Time 196.2
Read Time 199.0
Read Time 199.6
Read Time 200.1