■ 全般
- 設定ファイルは TOML 形式で記述します。
- 設定ファイル内では
#
以降はコメントとして扱われます。
■ 設定ファイル例
[compositor]
width = 1920
height = 1080
framerate.num = 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
flip = "horizontal"
[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
[overlay]
filename = "/path/to/png/image"
destination.left = 0
destination.top = 0
destination.width = 1920
destination.height = 1080
opacity = 0.5
■ compositor
テーブル
- 映像の合成に関する設定を行うテーブルです。
- 合成後のフレームサイズ及び、合成処理のフレームレートを定義します。
- 設定出来るキーと値は以下の通りです。
キー | 値例 | 説明 |
width | 1920 | 合成後のフレーム幅 |
height | 1080 | 合成後のフレーム高さ |
framerate.num | 60 | 合成処理の実行フレームレート (分子) |
framerate.den | 1 | 合成処理の実行フレームレート (分母) |
- width, height, framerate.num は設定必須です。
- 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
■ flip
キー
- 映像の回転・反転処理を指定します。
crop
サブテーブルで指定した領域を切り出したあとに処理が適用されます。
- 処理適用後
destination
サブテーブルで定義した領域に合わせて拡大・縮小されます。
flip
キーに指定出来る文字列は以下の通りです。
文字列 | 処理 |
"none" | 処理無し(キー未指定の場合のデフォルト) |
"rotate90" | 反時計周りに90°回転 |
"rotate180" | 180°回転 |
"rotate270" | 反時計周りに270°回転 |
"horizontal" | 左右反転 |
"vertical" | 上下反転 |
"transpose" | X/Y軸の入れ替え |
"inv_transpose" | "transpose" + "rotate180" |
■ overlay
テーブル
- カメラ映像の合成後に画像をオーバーレイする場合に定義するテーブルです。
- テーブルの定義は省略可能です。
■ filename
キー
- オーバーレイ用の画像へのパスを指定します。
- 画像形式は PNG (RGBA形式) のみサポートしています。
■ destination
サブテーブル
layout
定義と同様にオーバーレイ先の位置・サイズを指定します。
■ opacity
キー
- オーバーレイ画像の 不透明度 を 0.0 ~ 1.0 の範囲で指定します。