MRが楽しい

MRやVRについて学習したことを書き残す

LiveCapture3で複数のWebカメラで同時に録画を行う

本日はカメラ録画の小ネタ枠です。
LiveCapture3 を使って複数台のカメラで同時に録画を行う方法を記事にします。
f:id:bluebirdofoz:20200126222458j:plain

LiveCapture3 のインストール手順と録画設定の手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

複数カメラの追加

複数台のカメラの同時録画を行うため、まずは追加のカメラを登録します。
インストール手順の時と同様に、[カメラの追加]から同時に録画を行うカメラを追加します。
f:id:bluebirdofoz:20200126222509j:plain

カメラを接続し、ドライバをインストールしていれば「ビデオキャプチャーデバイス」のプルダウンから選択できます。
[カメラプロパティ]と[出力設定]を行い、カメラを追加します。
f:id:bluebirdofoz:20200126222520j:plain

カメラを追加したら[接続カメラ一覧]でカメラが接続されていることを確認します。
Status が Active にならない場合は、LiveCapture3 を再起動するなどしてカメラを再接続すると解決する場合があります。
f:id:bluebirdofoz:20200126222527j:plain

手動キャプチャーの設定

LiveCapture3 自体には同時録画の機能がないので手動キャプチャーとコマンド実行の機能を利用します。
初めに、追加したカメラについても手動キャプチャーの設定を行います。
手動キャプチャーの設定方法はインストール手順の記事を参照ください。
f:id:bluebirdofoz:20200126222537j:plain

コマンド実行の利用

LiveCapture3 はコマンド実行によるキャプチャーの実行と停止が可能です。
インストールディレクトリに ExtCap.exe という外部操作用の実行ファイルが用意されています。
デフォルトのインストールパスの場合、パスに ' の文字が含まれているため、パス指定で利用する際は注意が必要です。
f:id:bluebirdofoz:20200126222547j:plain

ExtCap.exe で利用できる引数の仕様は以下の通りです。

ExtCap.exe [コマンド] [カメラ番号(0~)]

コマンドは以下の4つが利用可能です。
・start:監視開始
・stop:監視停止
・capture:手動キャプチャ実行
・stoprec:録画停止

例えば、カメラ一覧先頭のカメラのキャプチャを開始する場合は以下のコマンドを実行します。

ExtCap.exe capture 0

同時実行のbatファイル

複数台のカメラで同時に録画を開始するため、以下のような bat ファイルを作成しました。
・multiCapture.bat

@echo off

if "%1" == "" (
start LiveCapture3\ExtCap.exe capture 0
start LiveCapture3\ExtCap.exe capture 1
) else (
start LiveCapture3\ExtCap.exe %1 0
start LiveCapture3\ExtCap.exe %1 1
)

batファイルを LiveCapture3 フォルダと同階層に配置し、Shift + 右クリックで PowerShell ウィンドウを開きます。
f:id:bluebirdofoz:20200126222604j:plain

LiveCapture3 が起動状態(タスクトレイに常駐)であることを確認し、PowerShell で以下のコマンドを実行します。

.\multiCapture.bat

f:id:bluebirdofoz:20200126222616j:plain

2台のカメラが非同期に録画実行され、指定のディレクトリに動画ファイルが出力されれば成功です。
f:id:bluebirdofoz:20200126222626j:plain

因みに、引数にコマンドを指定することで任意のコマンドを実行できます。
f:id:bluebirdofoz:20200126222634j:plain