Saltar al contenido principal
¡Esta documentación aún se está mejorando y está en construcción!
Se requiere sincronización eléctrica y por software. Consulta las instrucciones detalladas a continuación.

Guía de cableado eléctrico

Descripción general

Este modo está diseñado para configuraciones que no utilizan una señal de reloj externa.Utilizarás una cámara en modo leader (emitiendo una señal de sincronización) y todas las cámaras restantes en modo follower.

Guía de firmware Leader/Follower

Haz clic aquí para consultar nuestra guía sobre cómo actualizar tu cámara entre los modos Leader y Follower.

Cableado

Ejemplo


Biblioteca de video sincronizado en Python (Linux)

Además de nuestro próximo SDK, actualmente proporcionamos un proceso sencillo en Python para obtener fotogramas sincronizados desde tus configuraciones de cámara. (Nota: esto podría eliminarse en favor del SDK completo en el futuro.)

Biblioteca de video sincronizado en Python

Sigue nuestra guía en GitHub para instalar y usar nuestra biblioteca personalizada de Python para Linux.

Video unido y sincronizado

Esto explicará cómo usar GStreamer para sincronizar y unir dos flujos de video. Luego, crear un dispositivo virtual para usarlo en otros programas.
1

Instala los paquetes necesarios

Instala las dependencias necesarias con el siguiente comando:
sudo apt install -y libx264-dev libjpeg-dev \
libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-libav libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-ugly gstreamer1.0-gl \
v4l-utils
2

Lista los dispositivos de cámara actuales

Ejecuta el siguiente comando para encontrar tus cámaras conectadas:
v4l2-ctl --list-devices
Ejemplo de salida:
stellarHD Leader: stellarHD Lea (usb-0000:00:14.0-8.3):
    /dev/video0
    /dev/video1
    /dev/media0

stellarHD Follower: stellarHD F (usb-0000:00:14.0-8.4):
    /dev/video2
    /dev/video3
    /dev/media1
3

Crea un dispositivo virtual

Identifica los IDs de dispositivo de las dos cámaras que quieres usar y selecciona un número de ID de dispositivo que no aparezca actualmente en la lista.En este ejemplo, usaremos 9 (ya que no está en uso arriba) para crear un dispositivo virtual llamado stellarHD_stitched. Actualiza el 9 en el comando siguiente para que coincida con tu ID sin usar elegido:
sudo modprobe v4l2loopback video_nr=9 \
card_label=stellarHD_stitched exclusive_caps=1
4

Inicia el pipeline de GStreamer

Inicia el pipeline para crear el video unido y enviar el flujo a tu nuevo dispositivo virtual:
gst-launch-1.0 -v \
compositor name=mix \
    sink_0::xpos=0    sink_0::ypos=0   sink_0::alpha=1 \
    sink_1::xpos=1600 sink_1::ypos=0   sink_1::alpha=1 \
! jpegenc ! jpegdec ! videoconvert ! v4l2sink device=/dev/video9 \
v4l2src device=/dev/video0 ! image/jpeg,width=1600,framerate=60/1 ! jpegdec ! videorate ! mix.sink_0 \
v4l2src device=/dev/video2 ! image/jpeg,width=1600,framerate=60/1 ! jpegdec ! videorate ! mix.sink_1
Debes mantener este comando en ejecución mientras utilices los videos unidos y sincronizados. Puedes modificar este comando para añadir más cámaras, cambiar resoluciones/frecuencias de imagen o modificar el diseño.
5

Usa el dispositivo virtual en OpenCV

Código de inicio de OpenCV

Sigue nuestro código de ejemplo para usar /dev/video9 en OpenCV.
6

Elimina el dispositivo loopback

Para eliminar de forma segura el dispositivo loopback, puedes reiniciar tu computadora o ejecutar la siguiente secuencia de comandos:1. Identifica los programas que actualmente usan el dispositivo loopback:
sudo lsof /dev/video*
2. Termina los procesos usando sus números PID (Process ID):
sudo kill <INSERT_PID_NUMBER>
3. Elimina el dispositivo loopback:
sudo modprobe -r v4l2loopback