title: OpenCV: How to read autodetected api and format of Videocapture
body: <p>I set the resolution to full hd (width=1920, height=1080) on my c920 webcam and used the <strong>cv2.CAP_DSHOW</strong> <strong>API</strong> which supports this camera.</p>
  
  <p>However, the fps was very low. The next thing i tried is to autodetect the API by simply writing </p>
  
  <pre><code>camera = cv2.VideoCapture(0, cv2.CAP_ANY)
  </code></pre>
  
  <p>Now I get very high fps but it is not a 16:9 format anymore, it has some black side bars on the left and right side of the image like in this post:
  <a href="https://stackoverflow.com/questions/52043671/opencv-capturing-imagem-with-black-side-bars">OpenCV capturing imagem with black side bars</a></p>
  
  <p>Is there are way to:</p>
  
  <ol>
  <li>Find out which API has been autodetected?</li>
  <li>Find out which format is being used?</li>
  <li>Can I change the format afterwards manually without losing much of the gained performance?</li>
  </ol>
  
  <p>Or do you have a better idea how to handle this problem?</p>
  
  <p>Printing camera says it's still full hd:</p>
  
  <pre><code>(grabbed, frame0) = camera.read()
  print(len(frame0[0])) # = 1920
  print(len(frame0)) # = 1080
  </code></pre>