title: How to reduce cpu usage while get frames
body: <p>I'm working on a project where I need to use 20 cameras to perform operations. My problem is that when I take more than 4 cameras using opencv, cpu usage reaches over 90%.
  How do I increase the number of cameras so that my cpu usage to be lower?
  For example I am thinking about using vlc to read frames but have no idea how to implement them.
  My system info is:cpu 9700k core i7,gpu nvidia 1080 ti,32gb ram.</p>
  
  <pre><code>     import cv2
       Cap = cv2.VideoCapture("rtsp example...")
       while True:
                ret,frame=cap.read()
                cv2.imshow("frame",frame)
  </code></pre>
  
  <p>This is example for capture one camera.and im using another instances for other cameras.
  In fact, I'm working on a face recognition system that uses the ip cameras to retrieve rtsp streams (opencv library) and apply my deep learning algorithms on these frames. The server system I listed above can only have 4 cameras and no more than the cpu usage allows for adding cameras.
  My first question is how to effectively increase the number of cameras with reasonable fps
  And the second question is how to choose the right hardware for these types of projects?
   </p>