title: Android external camera options - overlay on top of video stream, no middleman server/router
body: <p>I'm looking for a way to interface with an external camera from an Android device. The reason it needs to be an external camera is because I need to be able to modify the camera (remove IR filter) and I have no desire to break an on-board phone camera. </p>
  
  <p>It doesn't matter how the camera connects whether it is through USB, bluetooth, WiFi, or some other communication protocol, the two devices just need to be able to talk without having a middleman server/router. </p>
  
  <p>I'm looking for a solution that:</p>
  
  <ul>
  <li>Doesn't require rooting or rebuilding Android/the Linux Kernel (absolute must)</li>
  <li>Allows me to overlay items over the image/video (good)</li>
  <li>Access the video stream to do image analysis (best)</li>
  </ul>
  
  <p>The last requirement isn't required but would be nice.</p>
  
  <p>Options I have explored:</p>
  
  <ul>
  <li>USB camera: rebuilt Linux Kernel as per <a href="http://brain.cc.kogakuin.ac.jp/research/usb-e.html" rel="nofollow noreferrer">http://brain.cc.kogakuin.ac.jp/research/usb-e.html</a> and tried using provided code using camera: <a href="https://rads.stackoverflow.com/amzn/click/com/B002X3VEIE" rel="nofollow noreferrer" rel="nofollow noreferrer">http://www.amazon.com/gp/product/B002X3VEIE/ref=oh_o02_s00_i00_details</a>. Did not work in the slightest bit. I later learned that the author used the CM9 mod however this really isn't an option given that it isn't practical for an app in the market.</li>
  <li>Bluetooth camera: <a href="http://looxcie.com/" rel="nofollow noreferrer">Looxcie</a> and <a href="http://contour.com/products/contour-gps" rel="nofollow noreferrer">CountourGPS</a> look like the best options however the feed is streamed to their app and they have no API or SDK so how can one overlay on their video feed?</li>
  <li>IP camera: to me this looks like the most promising option but how can one access an IP cameras video feed without a middleman server/router? <a href="http://gopro.com/cameras/hd-hero2-outdoor-edition/" rel="nofollow noreferrer">GoPro HD Hero2 with WiFi BacPac</a> looks potentially promising but it isn't out yet and from what I can tell requires you to use their app similar to the bluetooth camera options. What cameras exist that allow me to connect to them and receive a direct video feed and how do I go about this programmatically?</li>
  </ul>
  
  <p>If connection to an IP camera without the middleman is possible the code at <a href="https://stackoverflow.com/questions/3205191/android-and-mjpeg">Android and MJPEG</a> and <a href="https://stackoverflow.com/questions/4490707/getting-ip-cam-video-stream-on-android-mjepg">Getting IP Cam video stream on Android (MJEPG)</a> looks promising.</p>
  
  <p>Can I overlay on top of another apps video feed? Is it possible to connect directly to an IP camera? Any suggested options greatly appreciated. </p>