I am currently just watching how everything is progressing, because I don't have the time to actually contribute or build an ROV myself. But after watching your Hangout, I thought I might add something to the discussion...
I got myself a Beaglebone to play with and did some testing on its video processing capabilities and found out that the best results you can get with gstreamer. I haven't tested mjpg-streamer (which Dominik mentioned) so far, but I understand that it is a sole Motion JPEG capturing software/server. That could be done with gstreamer with ease as well.
The benefits of gstreamer over the other technologies are (in my eyes):
- There are packages available for Ubuntu and Angstrom, no compiling or setup issues
- It comes with a bunch of other codecs, so you could switch to Theora or some other codec that you can better record for example (MJPG has no timing, it's just frames as they come). The problem with that is that I have not been able to run that in a browser (ogg theora live streaming) so far, but should be doable...
- There are libraries that you can link to, meaning writing your own C/C++ or whatever code. Not sure if mjpg-streamer offers that.
- Most important: You can use the hardware compression of the camera. Following is a link of a guy who built a webcam using a Beaglebone that runs Full HD! h.264 video at 3.1 Mbps and the Beaglebone doesn't even sweat (as he put it). Click here
I admit the problem with that is that if you use hardware acceleration you can't access the images anymore for analysis, but maybe some people just want excellent image quality for recording and don't care for ROVs chasing themselves :-) With gstreamer you have the choice.
Well, just my two cents of input. Maybe you wanna look into that. Keep up the great work! If you should need help with gstreamer, PM me.