トップページ

flows

Flows / フロー一覧

Flow データベースに格納される要素、UI の操作領域、REST での参照方法を網羅的に記載しています。

UI の構成

リストパネル

左側の一覧。Quick Search、ブックマーク、フィルタ、ページングを搭載し、GET /api/flows の結果を逐次更新します。

Detail Drawer

リスト項目を選択すると右側に詳細が展開。S/G/Port、マルチキャスト情報、NMOS リンク、Alias、User Field、ロック状態が同一画面で確認できます。

Edit ダイアログ

「Edit」ボタンでモーダルを開き、差分のみ PATCH 送信。ロックが有効な場合は HTTP 423 を返し UI でも警告が表示されます。

Lock インジケータ

Flow がロック中の場合は鍵アイコン(⚿)を表示。権限は flow_lock_role 設定で制御されます。

Flow が保持する要素

識別・状態

flow_id
UUID。UI/REST 共通の主キー。
display_name
表示名。例: STUDIO-A CAM-01 Video
media_type / format
video / audio / ancillary、SDP を参照したフォーマット。
flow_status / availability
active / standby / retired など運用状態。
locked
排他制御フラグ。true の場合は編集不可。
redundancy_group
同一番組・経路内で束ねる識別子。ST2022-7 のペア管理に使用。

ネットワーク定義

source_addr_a / b
送出エンコーダ IP。冗長パスを A/B で保持。
source_port_a / b
各パスの送信ポート。Many-to-one 対応を想定。
multicast_addr_a / b
239.x.x.x 等の SSM/ASM アドレス。
group_port_a / b
UDP ポート。ST2022-7 を想定し左右で値を分ける。
ttl / vlan / bandwidth
伝送パラメータ。UI では Additional Params に表示。
transport_protocol
例: rtp.mcast。REST から編集可能。

SDP / Media / 管理情報

sdp_url
ソース機器が公開する SDP 取得 URL。
sdp_cache
最新取得 SDP の全文。UI Detail で参照。
nmos_label / nmos_description
NMOS 由来の名称・説明を保持。
management_url
機器管理画面やドキュメントへのリンク。
st2110_format
例: 2110-20:UHD:RGb。SDP の fmtp から生成。

NMOS メタデータ

nmos_node_id / label / description
探索済みの NODE 情報。
nmos_flow_id / sender_id / device_id
IS-04/05 照合に必要な ID 群。
nmos_is04_host / port / base_url / version
Query API の接続先。
nmos_is05_host / port / base_url / version
Connection API の接続先。Wizard と Checker が参照。

テキストハブ + データソース

alias1〜alias8
固定情報(正式名称、設備コードなど)を格納。
user_field1〜user_field8
運用メモやチケット番号など可変情報。
note
長文メモ欄。Markdown なしのプレーンテキスト。
data_source
manual / nmos / rds。外部連携元を示す。
rds_address / rds_api_url / rds_version
RDS Import を利用する場合の参照情報。

詳細ビューで確認できる項目

  • Network: Source / Multicast / Port / TTL を左右ペインで表示。
  • NMOS: Node / Flow / Sender ID、差分がある場合は Checker タブへジャンプ。
  • SDP: sdp_url から取得した最新 SDP テキストを全文表示し、ダウンロードも可能。
  • Text Hub: Alias / User Field をタイル表示し、そのまま編集が開始可能。
  • Source Info: data_source、rds_address/api_url/version などの取り込み元情報。
  • Audit: 最終更新者・日時を updated_at から計算して表示。

REST での取得と更新

一覧から flow_id を取得

curl -k "https://localhost:8443/api/flows?source_addr_a=192.168.10.101&multicast_addr_a=239.100.1.10" \
  -H "Authorization: Bearer <token>"

レスポンス配列の最初の要素から flow_id を取得。

Detail / Edit で参照する JSON

curl -k https://localhost:8443/api/flows/f1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6 \
  -H "Authorization: Bearer <token>"
{
  "flow_id": "f1a2...",
  "display_name": "STUDIO-A CAM-01 Video",
  "source_addr_a": "192.168.10.101",
  "source_port_a": 5000,
  "multicast_addr_a": "239.100.1.10",
  "group_port_a": 5000,
  "sdp_url": "http://192.168.10.101/sdp/cam01.sdp",
  "st2110_format": "2110-20:UHD:YCbCr422",
  "data_source": "nmos",
  "alias1": "Studio A Main",
  "user_field7": "Operator: Sarah",
  "nmos_flow_id": "9ebe-...",
  "locked": false,
  "updated_at": "2025-01-25T01:18:34Z"
}

テキストハブの更新

curl -k -X PATCH https://localhost:8443/api/flows/f1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "alias1": "Studio A Main Camera",
    "alias2": "CAM-01",
    "user_field7": "Operator: Sarah Martinez",
    "user_field8": "Emergency: ext.1234"
  }'

更新後は MQTT イベントでダッシュボードへ通知されます。ロック中は HTTP 423 を返却。