Soluciones de cámara de transmisión para RaspberryPi MCU

Estoy tratando de obtener una MCU de Raspberry Pi para transmitir una fuente de A / V a través de Internet a un servidor web donde tendré un software de cosecha propia que captura cada cuadro y realiza un análisis con él.

Mi estrategia general aquí es:

  • Obtenga una cámara y un micrófono que envíen señales de audio y video a uno de los puertos USB integrados de Pi
  • Si mi elección de tecnología es correcta, la Pi (que ejecutaría GNU/Debian linux) tendrá los controladores correctos para ingerir los marcos de transmisión y enviarlos a una herramienta que luego podría reenviarlos a un WiFi o adaptador de Ethernet
  • El adaptador envía los marcos en su camino a través de TCP/IP y luego tengo que descubrir cómo manejarlos en el lado del servidor.

Entonces, en cuanto a llevar los marcos a la MCU, hay dos problemas principales aquí: (a) la elección de la cámara y el micrófono, y (b) los controladores para conectar la cámara/micrófono al puerto USB de la RasPi. También está el problema de la codificación A/V, así como la sincronización de las fuentes de video y audio.

Estoy empezando a pensar que una "cámara web" podría ser mi mejor opción, porque la mayoría de las cámaras web tienen micrófonos incorporados, sincronizan automáticamente las transmisiones de audio y video, codifican los cuadros de A/V y vienen con controladores, etc. al principio parecen ser soluciones perfectas. Pero estoy abierto a cualquier cosa que haga el trabajo de manera eficiente y de acuerdo con las mejores prácticas.

Aquí está el truco: podría (dudoso) querer intentar vender este dispositivo, por lo que no puedo simplemente tomar una cámara web de Logitech y usarla debido a problemas de licencia obvios. Así que eso es una gran restricción.

También debo mencionar que el precio también es un factor: me siento cómodo en el rango de $ 20 - $ 40 USD, pero más de $ 50 y comenzaré a avergonzarme.

La mejor cámara web que he podido encontrar es de Jameco .

Pero me pregunto cómo los magos electrónicos reales y duros atacarían este problema dadas las limitaciones que he mencionado. Soy desarrollador de software, así que estoy fuera de mi elemento aquí en el campo de la electrónica.

A menos que me falte algo, entonces a menos que encuentre una cámara que tenga audio integrado/sincronizado, realice la codificación A/V por mí y tenga controladores de dispositivo listos para usar, entonces tendré que hacer todo esto yo mismo. Si ese es el caso, me interesaría saber cuáles podrían ser algunas soluciones. He investigado los chips codificadores de MPEG, así que sé que es posible hacer esto, simplemente no quiero trabajar más de lo que tengo que hacer aquí.

Gracias de antemano de un novato que está buscando a tientas en la oscuridad aquí.

Su enlace a la cámara web no funciona (al menos para mí). Para su información, la codificación o sincronización de audio / video no es un gran problema para una Raspberry Pi. Sé que le di mucha importancia a un Arduino, pero el RP no debería tener ningún problema. También tenga en cuenta que el RP no tiene entradas analógicas, por lo que su mejor opción es usar una cámara con micrófono incorporado o un micrófono USB.
"No puedo simplemente tomar una cámara web de Logitech y usarla debido a problemas de licencia obvios". ¿Qué problemas?

Respuestas (1)

Podría (dudoso) querer probar y vender este dispositivo, por lo que no puedo simplemente tomar una cámara web de Logitech y usarla debido a problemas de licencia obvios. Así que eso es una gran restricción.

Básicamente, creará una cámara IP . La Raspberry Pi es probablemente la forma más barata y fácil de crear prototipos, sin embargo, existen otras placas como las Beagle Boards .

Una vez que tenga un prototipo en marcha, puede considerar crear su propio dispositivo todo en uno que use un procesador ARM o DSP. Por ejemplo, probablemente usaría algún tipo de módulo de cámara Serial JPEG , un micrófono barato y el procesador ARM más barato que se ajuste a estos requisitos. Pero para un prototipo, la Raspberry Pi y una cámara web USB barata es probablemente la forma más económica y rápida de comenzar y poner en marcha su software. Es posible que incluso pueda encontrar una cámara USB barata sin nombre de China que funcione para esto, de modo que pueda revenderla en pequeñas cantidades.

Entonces, en cuanto a llevar los marcos a la MCU, hay dos problemas principales aquí: (a) la elección de la cámara y el micrófono, y (b) los controladores para conectar la cámara/micrófono al puerto USB de la RasPi.

Aquí está la enorme lista de dispositivos que funcionan con Raspberry Pi: RPi Verified Peripherals . La sección Cámaras web USB enumera las unidades que funcionan y las que tienen problemas. Junto con un poco de información adicional. Después de encontrar una unidad que se ajuste a sus requisitos (precio, etc.), intentaría verificar dos veces a través de Google para verificar que alguien la haya usado y que realmente funcione; aunque esto probablemente sea innecesario.

Estoy seguro de que hay otras unidades que funcionan que no han sido probadas, las dos cosas que lo ayudarán es asegurarse de que sea compatible con Linux y que haya controladores ARM disponibles.

También está el problema de la codificación A/V, así como la sincronización de las fuentes de video y audio.

Como mencioné en mi comentario, el RP realmente no tendrá problemas para manejar esta parte. Tiene potencia de procesamiento más que suficiente para manejar la mayoría de todos los formatos A/V.

el Pi (que ejecutaría GNU/Debian linux) tendrá los controladores correctos para ingerir los marcos de transmisión y enviarlos a una herramienta que luego podría reenviarlos a un adaptador WiFi o Ethernet

Básicamente, el RP solo será una computadora Linux que está conectada a Internet y tiene la cámara y el micrófono conectados. Instalará y configurará libasound2-dev (para el audio) y FFMPEG para transmitir todo .

Entonces esto será como cualquier otro servidor en línea (es posible que deba configurar su enrutador y el reenvío de puertos, etc. para que sea visible en la web) y de acuerdo con esto, usted y otras computadoras solo accederán a él yendo a h**p://SU_SERVIDOR_WEBCAM/webcam.mjpeg

Enlaces Útiles:

Con respecto a su respuesta: > Por ejemplo, probablemente usaría algún tipo de módulo de cámara Serial JPEG. ¿Tiene algún enlace a un ejemplo sobre cómo leer este módulo en un procesador de brazo?
@azelez No tengo un ejemplo a mano, pero estoy seguro de que si pregunta en raspberrypi.stackexchange.com o tal vez en unix.stackexchange.com obtendrá una respuesta rápida. *(Esto supone que su ARM ejecutará un kernel de Linux.