BATCAM FXのデータは、RTSPによるカメラの映像データと、WebSocketを介してProtobufプロトコルでエンコードされたデータを送信します。
そのため、本機器を利用する個人または組織において、オーバーレイされた映像を取得したい場合は、以下の手順で映像を合成する必要があります。

- RTSPから映像を受信します。
- WebSocketを通じて、Protobuf形式でエンコードされたBeamformingメッセージを受信し、これをデコードして合計1200個のFloat値で構成された配列(Float Array)へ変換します。
- Float Arrayを補間(Interpolation)し、オーバーレイ用の画像を生成します。
- RTSP映像ストリームと受信した音源データを組み合わせることで、リアルタイムのBeamformingオーバーレイ映像を生成できます。
ProtobufおよびWebSocketを利用してデータを送受信するサンプルは、弊社のGitHubにて公開しております。
当該サンプルには、上記の一連の処理がすべて含まれており、GUIサンプルも含まれています。
次の内容は、開発時の参考情報としてご活用いただけます。
- WebSocket接続時には、単にアドレスを指定するだけでなく、WebSocket SubProtocolを必ず「Subscribe」に設定する必要があります。
- WebSocket接続後、すぐにBeamformingメッセージが受信されるわけではありません。Protobuf事前生成コードファイルで提供されている「Subscribe」オブジェクトを使用し、Beamformingデータの購読要求をカメラへ送信する必要があります。(リンク)
- WebSocket接続時にも、RTSPと同様にユーザー認証が必要です。
ご利用中、またはご利用予定のWebSocketライブラリが認証機能をサポートしている場合は、UsernameおよびPasswordをご指定ください。(リンク)
一方、認証機能をサポートしていない場合は、WebSocket接続リクエストのHeaderにAuthorizationキーを追加し、
「{username}:{password}」文字列をBase64エンコードした値を含める必要があります。
WebSocketを通じて送信されるデータのフォーマットにつきましては、弊社が提供するAPIドキュメントのWebSocket項目をご参照ください。
追加で、Protobufのエンコード/デコードに必要な事前生成ファイルは、弊社OSS GitLabにてご確認いただけます。