Autor Tema: Streaming de vídeo en 3D  (Leído 1074 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado raphik

  • *****
  • Mensajes: 100
Streaming de vídeo en 3D
« en: 25-02-2023, 20:54 (Sábado) »
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: [Seleccionar]
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
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: [Seleccionar]
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

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: [Seleccionar]
opkg update
opkg install kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-uhci usbutils

Instalar el driver para la EyeToy.
Código: [Seleccionar]
opkg install kmod-video-gspca-core kmod-video-gspca-ov519
Instalar mjpg-streamer.
Código: [Seleccionar]
opkg install mjpg-streamer-input-uvc mjpg-streamer-output-http mjpg-streamer-www-simple
Lanzar mjpg-streamer.
Una única llamada a mjpg-streamer permite sacar los dos streams simultáneamente por un mismo puerto.
Código: [Seleccionar]
# 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"

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: [Seleccionar]
http://192.168.1.1:8080/?action=stream_0
http://192.168.1.1:8080/?action=stream_1
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: [Seleccionar]
cd /www
wget https://raw.githubusercontent.com/raphikWasHere/stereoCam/main/sbsCam.html
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: [Seleccionar]
cd /www
wget https://raw.githubusercontent.com/raphikWasHere/stereoCam/main/anaglyphCam.html
y visualizar el vídeo con el navegador de Internet del PC, en la URL http://openwrt.lan/anaglyphCam.html


« Última modificación: 06-03-2023, 08:11 (Lunes) por raphik »

Desconectado Ficht

  • ****
  • Mensajes: 64
Re:Dos cámaras web simultáneas en un mismo router
« Respuesta #1 en: 02-03-2023, 10:03 (Jueves) »
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!

Desconectado raphik

  • *****
  • Mensajes: 100
Re:Streaming de vídeo en 3D
« Respuesta #2 en: 06-03-2023, 08:22 (Lunes) »
@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.