如何在CPU使用率较低的情况下从OpenCV读取RTSP视频?

时间:2018-07-04 15:35:23

标签: python opencv cython

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%的CPU使用率。我们如何减少这种CPU使用率?     
    我使用了time.sleep(0.05),但是它延迟了视频供稿处理,因此对我而言不会像实时那样工作。

1 个答案:

答案 0 :(得分:0)

使用Mjpeg作为编解码器,并降低视频流源的fps(每秒帧数)。

由于与H.264相比,mjpeg的压缩较少,因此带宽使用率会更高,但您的cpu使用率会更低。