メインコンテンツへスキップ
このドキュメントは現在改善中であり、作成中です!
電気的およびソフトウェア的同期の両方が必要です。詳細な手順については以下を参照してください。

電気配線ガイド

概要

このモードは、外部クロック信号を使用しない構成向けに設計されています。1 台のカメラを leader モード(同期信号を出力)で、残りのすべてのカメラを follower モードで使用します。

Leader/Follower ファームウェアガイド

カメラを Leader モードと Follower モードの間で更新する方法のガイドはこちらをクリックしてください。

配線


同期ビデオ Python ライブラリ(Linux)

近日公開予定の SDK に加えて、現在、カメラセットアップから同期されたフレームを取得するためのシンプルな Python プロセスを提供しています。(注意: これは将来的に、フル機能の SDK に置き換えられる場合があります。)

同期ビデオ Python ライブラリ

GitHub ガイドに従って、当社のカスタム Linux Python ライブラリをインストールおよび使用してください。

同期されたスティッチビデオ

ここでは、GStreamer を使用して 2 つのビデオフィードを同期しスティッチする方法と、その後他のプログラムで使用するための仮想デバイスを作成する方法について説明します。
1

必要なパッケージをインストール

次のコマンドを使用して必要な依存関係をインストールします:
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

現在のカメラデバイスを一覧表示

次のコマンドを実行して、接続されているカメラを確認します:
v4l2-ctl --list-devices
出力例:
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

仮想デバイスを作成

使用する 2 台のカメラのデバイス ID を特定し、現在リストにないデバイス ID 番号を選択します。この例では、9(上記で未使用)を使用して stellarHD_stitched という仮想デバイスを作成します。以下のコマンドの 9 を選択した未使用 ID に置き換えてください:
sudo modprobe v4l2loopback video_nr=9 \
card_label=stellarHD_stitched exclusive_caps=1
4

GStreamer パイプラインを起動

スティッチビデオを作成し、ストリームを新しい仮想デバイスに出力するパイプラインを起動します:
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
同期したスティッチビデオを使用している間は、このコマンドを実行し続ける必要があります。このコマンドを変更して、カメラを追加したり、解像度/フレームレートを変更したり、レイアウトを変更したりできます。
5

OpenCV で仮想デバイスを使用

OpenCV スターターコード

サンプルコードに従って、OpenCV で /dev/video9 を使用します。
6

ループバックデバイスを削除

ループバックデバイスを安全に削除するには、コンピューターを再起動するか、次のコマンドを順番に実行できます:1. 現在ループバックデバイスを使用しているプログラムを特定:
sudo lsof /dev/video*
2. PID(プロセス ID)番号を使用してプロセスを終了:
sudo kill <INSERT_PID_NUMBER>
3. ループバックデバイスを削除:
sudo modprobe -r v4l2loopback