I'm trying to get a Raspberry Pi MCU to stream an A/V feed over the internet to a web server where I'll have some homegrown software capturing each frame and doing analysis with it.
My general strategy here is:
- Get a camera and microphone sending audio and video signal to one of the Pi's onboard USB ports
- If my choice of technology is correct, the Pi (which would be running GNU/Debian linux) will have the right drivers to ingest the streaming frames and send them off to a tool that would then be able to forward them on to a WiFi or Ethernet adapter
- The adapter sends the frames on their way over TCP/IP and then I have to figure out how to handle them server-side
So as far as getting the frames to the MCU, there's two main issues here: (a) the choice of camera and microphone, and (b) the drivers for connecting the cam/mic to the Pi's USB port. There's also the issue of A/V encoding as well as synchronizing the video and the audio feeds together.
I'm beginning to think that a "web cam" might be my best bet, because most web cams have built in microphones, automatically synchronize the audio and video feeds together, encode the A/V frames, and come with drivers - so on the outset they appear to be perfect solutions. But I'm open to anything that gets the job done efficiently and in keeping with best practices.
Here's the kicker - I might (doubtful) want to try and sell this device, so I can't simply take some Logitech web cam and use it due to obvious licensing issues. So that's a huge constraint.
I should also mention that price is sort of a factor as well - I'm comfortable in the $20 - $40 USD range, but over $50 and I'll start to cringe.
The best web cam I've been able to find is from Jameco.
But I am wondering how hardcore, real electronic wizards would attack this problem given the constraints I've mentioned. I'm a software developer so I'm out of my element here in the electronics arena.
Unless I'm missing something, then unless I find a camera that has integrated/synchronized audio, performs A/V encoding for me, and has device drivers all ready to go, then I'll have to do all this myself. If that's the case, I'd be interested in hearing what some solutions could be. I've looked into MPEG encoder chips, so I know it's possible to do this, I just don't want to work any harder then I have to here.
Thanks in advance from a newbie who's fumbling around in the dark here.