Equipos y materiales > Openwrt & LEDE

Streaming de vídeo en 3D

(1/1)

raphik:
Nunca antes había hecho funcionar simultáneamente dos cámaras web en un mismo router. El problema no era el router, sino el bus USB; su ancho de banda no da para dos cámaras.

El HG556a tiene dos buses USB

--- Código: ---Bus 001 Device 001: ID 1d6b:0002 Linux 5.10.161 ehci_hcd EHCI Host Controller
Bus 002 Device 001: ID 1d6b:0001 Linux 5.10.161 ohci_hcd Generic Platform OHCI controller
--- Fin del código ---
El bus 001 tiene dos bocas situadas a los lados del conector de alimentación. El Bus 002 sólo tiene una boca en la parte superior del router.

Enchufando una cámara a cada bus, se acabó el problema del ancho de banda.

--- Código: ---Bus 001 Device 004: ID 054c:0155 Sony corporation EyeToy USB camera Namtai
Bus 002 Device 002: ID 054c:0155 Sony corporation EyeToy USB camera Namtai
--- Fin del código ---

Aunque lo del 3D parece que pasó de moda, he conectado dos cámaras EyeToy de PlayStation2 a un HG556a-B con la intención de transmitir vídeo 3D en formato side-by-side por Wi-Fi. Dado el bajísimo presupuesto (1€ cada cámara), el resultado bien se merece un post.


Las dos EyeToy fijadas a una regleta con un par de gomillas elásticas están lejos de parecerse a la Minoru 3D Webcam.

Dar soporte básico USB.
Estos paquetes son imprescindibles para detectar y hacer funcionar cualquier cosa que conectemos al puerto USB

--- Código: ---opkg update
opkg install kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-uhci usbutils
--- Fin del código ---

Instalar el driver para la EyeToy.

--- Código: ---opkg install kmod-video-gspca-core kmod-video-gspca-ov519
--- Fin del código ---

Instalar mjpg-streamer.

--- Código: ---opkg install mjpg-streamer-input-uvc mjpg-streamer-output-http mjpg-streamer-www-simple
--- Fin del código ---

Lanzar mjpg-streamer.
Una única llamada a mjpg-streamer permite sacar los dos streams simultáneamente por un mismo puerto.

--- Código: ---# acabar con cualquier instancia anterior que pudiera quedar
killall -9 mjpg_streamer
# ajustar las cámaras a la frecuencia de la red eléctrica (1 para 50Hz, 2 para 60Hz)
v4l2-ctl -d /dev/video0 --set-ctrl=power_line_frequency=1 & v4l2-ctl -d /dev/video1 --set-ctrl=power_line_frequency=1
# invocar el proceso una sola vez para las dos cámaras
mjpg_streamer -b -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -i "input_uvc.so -d /dev/video1 -r 640x480 -f 25" -o "output_http.so -w /www/webcam -port 8080"

--- Fin del código ---

Visionado de los streams de vídeo.
Los streams de vídeo se pueden visualizar en el navegador de Internet del PC, en las URLs

--- Código: ---http://192.168.1.1:8080/?action=stream_0
http://192.168.1.1:8080/?action=stream_1
--- Fin del código ---
Supongo que se podrían mezclar los dos streams en uno con la ayuda de GStreamer, pero todavía no sé cómo hacerlo.

Interfaz web tipo "side-by-side"
La interfaz se descarga en el router

--- Código: ---cd /www
wget https://raw.githubusercontent.com/raphikWasHere/stereoCam/main/sbsCam.html

--- Fin del código ---
El stream de vídeo se visualiza en el PC. Con el navegador de Internet visitar la URL http://openwrt.lan/sbsCam.html

Interfaz web tipo anaglifo
Si prefieres los anaglifos, puedes descargar la interfaz en el router

--- Código: ---cd /www
wget https://raw.githubusercontent.com/raphikWasHere/stereoCam/main/anaglyphCam.html

--- Fin del código ---
y visualizar el vídeo con el navegador de Internet del PC, en la URL http://openwrt.lan/anaglyphCam.html

Ficht:
Mola!, lo probaré, si que he tenido dos cámaras en el mismo router, pero desde luego, esto no se me había ocurrido!!

Saludos!

raphik:
@Ficht. El uso de dos cámaras web a la vez abre una puerta al streaming de vídeo en 3D. He añadido al final del primer post una interfaz web de tipo anaglifo, de las de gafas rojo/cian. El stream de vídeo generado por el router es el mismo que en el caso sbs. La interfaz se encarga del proceso de filtrado y mezcla de imágenes en el navegador de Internet del PC.

Navegación

[0] Índice de Mensajes

Ir a la versión completa