外部コマンド連携について
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で送信します。