外部コマンド連携について

LiveCapture3のインストールディレクトリには、外部からLiveCapture3を操作する為のExtCapが同梱されています。
ExtCapを使うことで、同一PC上の他アプリとの連携や、Android端末のHWセンサーを使用した監視システムの構築などが可能になります。
ここでは、このExtCapの使用方法について説明します。


ExtCapの基本機能

ExtCapは、引数付きで実行することで、同じPC上で起動しているLiveCapture3を操作する事ができます。
引数の仕様は以下になります。

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

コマンドは、以下の4つです

start(監視開始)

stop(監視停止)

capture(手動キャプチャ実行)

stoprec(録画停止)

カメラ番号は指定しない場合は0番(最初のカメラ)に対するコマンドになります。

例えば、手動キャプチャで録画を設定しておき、PCに接続したHWセンサーが反応したら、

ExtCap capture 0

と実行する様に設定しておけば、LiveCapture3のタイムシフト録画機能とHWセンサーを組み合わせた監視システムを構築可能です。


ExtCapのネットワーク機能

ExtCapは、コマンド実行するだけでなく、ネットワーク上の他デバイスからのメッセージを受信して、LiveCapture3にコマンドを送信することが可能です。

ExtCapをネットワークモードで起動するには、起動引数に/netを付けて、以下のように起動します。

ExtCap /net -port:5555 -authenticate_code:ABCD123 -window_mode:normal

/net以降の引数はオプションですので、指定しない場合はデフォルトの値で起動します。

オプション 説明
-port 受信ポート番号。
デフォルト値は9999です。
-authenticate_code 認証コード。受信したメッセージを認証する場合に使用します。
指定しなかった場合は認証なしになります。
-window_mode ネットワークモードで起動したときのExtCapのウィンドウの初期状態です。
hide(非表示), min(最小化表示), normal(通常表示)が指定可能です。
指定しなかった場合はnormalになります。

ネットワークモードで起動すると、下記のようなウィンドウが表示されます。

ネットワークモードで起動したExtCapは、指定されたポート番号を受信するサーバとして、バックグラウンドで常駐します。
終了させる場合は、このウィンドウを閉じてください。
-window_mode:hideで起動してしまうと、このウィンドウは表示されませんので、その時はタスクマネージャで終了させてください。

UDP受信サーバーとして待ち受けますので、Firewallを設定している場合は、指定ポートのInbound(受信)UDPを許可する必要があります。

ExtCapに送信するメッセージは、UDPパケットで下記のフォーマットになります。(文字コードはASCII)

各行の終端はCR+LFで、メッセージの最後は空行を追加した形です。

ExtCapは、このパケットを受信すると、同一PC上のLiveCapture3に対して指定されたコマンドを実行します。

最近のAndroidなどには多彩なセンサーが付いており、それを使用したアプリケーションを比較的簡単に作成することができます。
そうしたAndroidのHWセンサーと、LiveCapture3を、ExtCapのネットワーク機能を使用して接続させることができるようになります。


コマンド送信サンプル(Android)

Android(Java)で、ネットワークモードで起動しているExtCapにコマンドを送信するコードのサンプルです。

ASCIIコードで記述されたメッセージをUDPで送信します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です