Как читать видео RTSP из OpenCV с низкой загрузкой процессора? - PullRequest
0 голосов
/ 04 июля 2018
import numpy as np
import cv2

cap = cv2.VideoCapture("rtsp://admin:admin123@10.0.51.110/h264/ch3/main/av_stream")
while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Processing Frame -
    # Running Computer Vision Algorithm

    # Display the resulting frame
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
       break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

Этот код использует около 50% загрузки процессора. Как мы можем уменьшить использование процессора?
Я использовал time.sleep (0,05), но он задерживает обработку видеопотока, поэтому для меня он не будет работать в режиме реального времени.

1 Ответ

0 голосов
/ 22 июля 2019

Используйте Mjpeg в качестве кодека и уменьшите число кадров в секунду (кадров в секунду) для источника потокового видео.

Поскольку mjpeg менее сжат по сравнению с H.264, использование полосы пропускания будет выше, а загрузка процессора будет меньше.

...