Saltar para o conteúdo principal
Esta documentação ainda está sendo aprimorada e em construção!
Tanto a sincronização elétrica quanto a por software são necessárias. Veja abaixo instruções detalhadas.

Guia de fiação elétrica

Visão geral

Este modo foi projetado para configurações que não utilizam um sinal de clock externo.Você utilizará uma câmera no modo leader (emitindo um sinal de sincronização) e todas as demais câmeras no modo follower.

Guia de firmware Leader/Follower

Clique aqui para ver nosso guia sobre como alternar sua câmera entre os modos Leader e Follower.

Fiação

Exemplo


Biblioteca Python de vídeo sincronizado (Linux)

Além do nosso SDK que está por vir, atualmente fornecemos um processo simples em Python para capturar quadros sincronizados de suas configurações de câmera. (Observação: Isso pode ser descontinuado em favor do SDK completo no futuro.)

Biblioteca Python de vídeo sincronizado

Siga nosso guia no GitHub para instalar e usar nossa biblioteca Python personalizada para Linux.

Vídeo sincronizado e mesclado

Isto explica como usar o GStreamer para sincronizar e mesclar dois feeds de vídeo. Depois, criar um dispositivo virtual para usar em outros programas.
1

Instale os pacotes necessários

Instale as dependências necessárias usando o seguinte 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

Liste os dispositivos de câmera atuais

Execute o seguinte comando para encontrar as câmeras conectadas:
v4l2-ctl --list-devices
Exemplo de saída:
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

Crie um dispositivo virtual

Identifique os IDs de dispositivo das duas câmeras que deseja usar, depois selecione um número de ID de dispositivo que não esteja listado atualmente.Neste exemplo, usaremos 9 (já que não está sendo usado acima) para criar um dispositivo virtual chamado stellarHD_stitched. Atualize o 9 no comando abaixo para corresponder ao ID não usado que você escolher:
sudo modprobe v4l2loopback video_nr=9 \
card_label=stellarHD_stitched exclusive_caps=1
4

Inicie o pipeline do GStreamer

Inicie o pipeline para criar o vídeo mesclado e enviar o stream para o seu novo 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
Você deve manter este comando em execução enquanto usa os vídeos sincronizados e mesclados. Você pode modificar este comando para adicionar mais câmeras, alterar resoluções/taxas de quadros ou modificar o layout.
5

Use o dispositivo virtual no OpenCV

Código inicial OpenCV

Siga nosso código de exemplo para usar /dev/video9 no OpenCV.
6

Remova o dispositivo de loopback

Para remover com segurança o dispositivo de loopback, você pode reiniciar o computador ou executar a seguinte sequência de comandos:1. Identifique os programas que estão usando o dispositivo de loopback:
sudo lsof /dev/video*
2. Encerre os processos usando seus números de PID (Process ID):
sudo kill <INSERT_PID_NUMBER>
3. Remova o dispositivo de loopback:
sudo modprobe -r v4l2loopback