リストパネル
左側の一覧。Quick Search、ブックマーク、フィルタ、ページングを搭載し、GET /api/flows の結果を逐次更新します。
flows
Flow データベースに格納される要素、UI の操作領域、REST での参照方法を網羅的に記載しています。
左側の一覧。Quick Search、ブックマーク、フィルタ、ページングを搭載し、GET /api/flows の結果を逐次更新します。
リスト項目を選択すると右側に詳細が展開。S/G/Port、マルチキャスト情報、NMOS リンク、Alias、User Field、ロック状態が同一画面で確認できます。
「Edit」ボタンでモーダルを開き、差分のみ PATCH 送信。ロックが有効な場合は HTTP 423 を返し UI でも警告が表示されます。
Flow がロック中の場合は鍵アイコン(⚿)を表示。権限は flow_lock_role 設定で制御されます。
STUDIO-A CAM-01 Videortp.mcast。REST から編集可能。2110-20:UHD:RGb。SDP の fmtp から生成。sdp_url から取得した最新 SDP テキストを全文表示し、ダウンロードも可能。updated_at から計算して表示。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 を取得。
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 を返却。