映像統計とビットレート

Social Stream Ninjaドックの右上に、受信ストリームのビットレートを表示します。

重要: SSNはOBSや配信プラットフォームからビットレートを自動取得しません。配信を受信する映像サーバーの統計APIをポーリングします。

用途

配信者や制作担当者が、ドック内の小さな表示で現在のビットレートを確認できます。OBS、モバイルエンコーダー、その他の送信側が、自分の中継/受信サーバーへ送信する場合に役立ちます。

SSNは、利用可能な遅延、バッファ、パケット損失、稼働時間、コーデック、視聴者データも、次のイベントへ正規化します: video_stats メタデータイベントです。標準ドックの表示はビットレートのみです。

互換性

  • SRT Live Server / SLS: JSON /stats エンドポイントで、次の値を含むもの: publishers オブジェクト。
  • Belabox Cloud: SRT形式のJSON受信/中継統計の応答。
  • NGINX RTMP: NGINX RTMPステータスモジュールのXML。
  • Node Media Server: JSONストリームAPI。任意でHTTP Basic認証を使用できます。
OBSは統計のソースではありません: OBSは対応サーバーへ映像を送れますが、OBS WebSocketとSSNブラウザソースはこのデータを提供しません。

使い方

  1. 対応サーバーのHTTP統計エンドポイントを有効にし、SSNを実行するコンピューターからそのURLを開けることを確認します。
  2. SSNでの設定 全体設定で、次を有効にします: 映像統計のポーリング(Video stats polling).
  3. ソースタイプを選び、統計URLを入力します。
  4. SRTまたはBelaboxでは、正確な送信者IDを入力します。例: publish/live/feed1。応答に送信者が1つしかない場合、SSNは自動的にそれを使います。
  5. NGINX RTMPまたはNode Media Serverでは、アプリケーションとストリームキー/名前を入力します。例: live および feed1.
  6. 必要なら認証情報を追加してください。SRT APIキー欄は、そのまま完全な次のヘッダー値として送信されます: Authorization ヘッダーです。Node Media Serverは、ユーザー名/パスワードをHTTP Basic認証に使います。
  7. ポーリング間隔を1〜60秒から選びます。初期値は5秒です。
  8. Dockオプションで次を有効にします: 利用可能なら右上にビットレート情報を表示(Show bitrate metadata if available; top-right)を有効にし、Dockリンクを開くか更新します。
  9. 映像の送信を開始します。有効なオンライン応答を受けるとビットレートが表示されます。

何も表示されない場合

  • SSNで映像統計の両方のオプションが有効か確認してください。
  • エンドポイントが5秒以内に応答し、ソースタイプとストリーム識別子が一致していることを確認してください。
  • 127.0.0.1 はSSNを実行しているコンピューターを意味します。サーバーが別の機器なら、そのLANアドレスを使ってください。
  • ストリームがオフライン、ビットレートがないかゼロ、または約130秒間新しい統計が届かない場合、表示が消えます。

詳細:プロトコル、形式、単位

SSNはHTTPまたはHTTPSで次を実行します: GET を、キャッシュ無効、タイムアウト5秒で、設定した間隔ごとに実行します。

SRT Live Server / SLSとBelabox Cloud

{
  "publishers": {
    "publish/live/feed1": {
      "bitrate": 4500, "rtt": 32.5, "msRcvBuf": 120,
      "mbpsRecvRate": 4.5, "mbpsBandwidth": 12.8,
      "pktRcvDrop": 2, "pktRcvLoss": 1,
      "bytesRcvDrop": 2632, "bytesRcvLoss": 1316, "uptime": 3600
    }
  }
}

bitrate はKbpsです。RTTと受信バッファはミリ秒、受信速度と帯域幅はMbps、稼働時間は秒、損失/ドロップ値はパケット数またはバイト数です。

NGINX RTMP

URLはNGINX RTMPのステータスXMLを返す必要があります。SSNは設定したアプリケーションとストリームを照合し、次を読み取ります: bw_video を毎秒バイト数として扱い、1024で割って次を求めます: bitrateKbps。配信時間と、任意の映像/音声コーデック情報も読み取ります。

Node Media Server

SSNが要求するもの: STATS_URL/APPLICATION/STREAM_NAME。フィールドは最上位または次の内部にある場合があります: data.

{ "data": { "isLive": true, "bitrate": 4500, "viewers": 3, "duration": 3600 } }

ビットレートはKbps、視聴者は人数、時間は秒です。

正規化されたSSNイベント

{
  "type": "generic",
  "event": "video_stats",
  "meta": {
    "provider": "srt-live-server", "source": "srt-live-server",
    "label": "SRT", "online": true,
    "updatedAt": "2026-07-13T14:45:00.000Z",
    "bitrateKbps": 4500, "rttMs": 32.5, "bufferMs": 120,
    "summary": "4500 Kbps, 33 ms, 120 ms"
  }
}
フィールド単位/型
bitrateKbpsKbps、整数
rttMs / bufferMsミリ秒
recvRateMbps / bandwidthMbpsMbps
損失/ドロップのフィールドパケット数またはバイト数
uptimeSeconds / durationSeconds秒
online真偽値。 false はドックの値を隠します

ドックが受け付ける値: meta.bitrateKbps。付随する値: meta.bitrate および meta.kbps を代替値として使います。1000未満は丸めたKbps、それ以上は小数第1位に丸めたMbpsで表示します。統計URL、ストリームキー、認証情報はオーバーレイに送信されません。