title: Create openCV VideoCapture from interface name instead of camera numbers
body: <p>The normal way to create a videocapture is this:</p>
  
  <p><code>cam = cv2.VideoCapture(n)</code></p>
  
  <p>where n corresponds to the number of <code>/dev/video0</code>, <code>dev/video1</code></p>
  
  <p>But because I'm building a robot that uses multiple cameras for different things, I needed to make sure that it was being assigned to the correct camera, I created udev rules that created devices with symbolic links to the correct port whenever a specific camera was plugged in.</p>
  
  <p>They appear to be working because when I look in the <code>/dev</code> directory I can see the link:</p>
  
  <p><code>/dev/front_cam -&gt; video1</code></p>
  
  <p>However I'm not sure how to actually use this now.</p>
  
  <p>I thought I could just open it from the filename, as if it was a video, but <code>cam = cv2.VideoCapture('/dev/front_cam')</code>  doesn't work.   </p>
  
  <p>Neither does <code>cv2.VideoCapture('/dev/video1')</code></p>
  
  <p>It doesn't throw an error, it does return a VideoCapture object, just not one that's opened (<code>cam.isOpened()</code> returns <code>False</code>).</p>