additional_info_sample_appの動作説明
目次
はじめに
i-PROカメラアプリケーション開発環境の構築が完成していることを前提に説明します。
開発環境の構築が準備できていない場合、こちらを参考に完成させてください。
また、このチュートリアルではSDKのインストールディレクトリを${SDK_DIR}
として記載します。
動作概要
additional_info_sample_appは映像または音声ストリームに付加情報を付与するサンプルアプリです。
動作に必要な外部ライブラリ
特になし。
サンプルアプリのディレクトリパス
C/C++のソースコードは下記に格納されています。
${SDK_DIR}/src/adamapp/additional_info_sample_app
Pythonのソースコードは下記に格納されています。
${SDK_DIR}/src/adamapp-py/additional_info_sample_app
サンプルアプリのビルド方法(C/C++)
ここでは、AdamAppとしてビルドする方法を記載しています。
Container AdamApp for Azure IoT Edgeとしてビルドする場合は下記を参照ください。
チュートリアル(Container AdamApp for Azure IoT Edge編) - Technology Partner - Confluence (atlassian.net)
SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
ビルド用環境設定は各環境に合わせて実施してください。
ここでは、ipro-ambaCV2X
を指定します。
次にサンプルアプリのディレクトリに移動し、makeします。
$ cd src/adamapp/additional_info_sample_app
$ make
${SDK_DIR}/src/adamapp/additional_info_sample_app に.extファイルが作成されていれば成功です。
カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。
下記画像のような、文字列が表示されていれば成功です。
サンプルアプリのビルド方法(Python)
ここでは、AdamAppとしてビルドする方法を記載しています。
Container AdamApp for Azure IoT Edgeとしてビルドする場合は下記を参照ください。
チュートリアル(Container AdamApp for Azure IoT Edge編) - Technology Partner - Confluence (atlassian.net)
SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
次にサンプルアプリのディレクトリに移動し、makeします。
${SDK_DIR}/src/adamapp-py/additional_info_sample_app に.extファイルが作成されていれば成功です。
カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。
下記画像のような、画面が表示されていれば成功です。
サンプルアプリの使用方法
付加情報を付与できていることを確認してみます。Wiresharkのようなネットワーク・アナライザ・ソフトウェアを準備して、カメラからパソコンへ送付されたネットワーク情報を確認します。
■サンプルアプリインストール前のネットワーク情報
下記のように、付加情報が付与されていないことが確認できます。
■サンプルアプリインストール後のネットワーク情報
下記の赤枠のように、「Additional Info test」という付加情報が付与されていることが確認できます。
補足情報
・付加情報について
H.264、H.265、オーディオ:
追加情報は各フレームの最初の RTP パケットの RTP ヘッダー拡張に埋め込まれます。
JPEG:
COMセグメントに追加情報が埋め込まれます。
i-PROにおけるRTPヘッダ拡張フォーマットは以下の通りです。
defined by profile: Always 0.
ID: Set more than 0xff.
additional information: Set any data (up to 512bytes).