■ 全般
- 設定ファイルは TOML 形式で記述します。
- 設定ファイル内では
#
以降はコメントとして扱われます。
■ 設定ファイル例
[compositor]
width = 1920
height = 1080
framerate = 30
[layout0]
device = "argus:0"
format.width = 1920
format.height = 1080
format.framerate.num = 60
format.framerate.den = 1
destination.left = 0
destination.top = 0
destination.width = 1920
destination.height = 1080
[layout1]
device = "argus:1"
format.width = 1920
format.height = 1080
format.framerate.num = 60
format.framerate.den = 1
crop.left = 300
crop.top = 100
crop.width = 1280
crop.height = 960
destination.left = 200
destination.top = 100
destination.width = 640
destination.height = 480
■ compositor
テーブル
- 映像の合成に関する設定を行うテーブルです。
- 合成後のフレームサイズ及び、合成処理のフレームレートを定義します。
- 設定出来るキーと値は以下の通りです。
キー | 値例 | 説明 |
width | 1920 | 合成後のフレーム幅 |
height | 1080 | 合成後のフレーム高さ |
framerate | 60 | 合成処理の実行フレームレート |
framerate
に関しては以下のように framerate.num
及び framerate.den
を用いた有理数での表現も可能です。 [compositor]
width = 1920
height = 1080
framerate.num = 60
framerate.den = 1
■ layoutN
テーブル
- 映像合成での個々のカメラの設定を行うテーブルです。N は 0, 1, ..., 7 です。
- 合成は数値 N の昇順に行われます。
layoutN
テーブルは以下のキーとサブテーブルを設定可能です。
device
キー
format
サブテーブル
crop
サブテーブル (省略可能)
destination
サブテーブル
device
キー
- layout の入力ソースとなるデバイスを指定します。
カメラ種別:ID
の形式で指定します。
- 現在対応しているカメラは Argus のみです。
- ID には Argus における Sensor-ID を指定します。
device = "argus:0" # Argus の Sensor-ID == 0 のカメラを使用
■ format
サブテーブル
- カメラの入力フォーマットについて設定を行います。
- 設定出来るキーと値は
compositor
テーブルと同様です。 format.width = 1920
format.height = 1080
format.framerate = 60
# もしくは以下のような記述
format.width = 1920
format.height = 1080
format.framerate.num = 60
format.framerate.den = 1
■ crop
サブテーブル
- 入力画像の一部を切り抜く場合の設定を行います。
- 切り抜く矩形の左上座標及び矩形の幅と高さを指定します。
- 切り抜き領域は
format
サブテーブルで指定したフレームの領域内である必要があります。
- 省略時は入力のフレーム全体が使われるように設定されます。
キー | 値例 | 説明 |
left | 0 | 矩形の左端座標 |
top | 0 | 矩形の上端座標 |
width | 960 | 矩形の幅 |
height | 540 | 矩形の高さ |
# 座標 (10, 20) から幅・高さ (300, 400) の領域を切り出し
crop.left = 10
crop.top = 20
crop.width = 300
crop.height = 400
■ destination
サブテーブル
- 合成先の矩形領域の設定を行います。
- 設定のキーは
crop
サブテーブルと同様の形式です。
- 対象の画像が拡大・縮小されて合成されます。
- 合成先の矩形領域は合成フレームの範囲内に収まっている必要があります。
destination.left = 0
destination.top = 0
destination.width = 960
destination.height = 540