Видеостатистика и битрейт

Показывайте входящий битрейт трансляции в правом верхнем углу дока Social Stream Ninja.

Важно: SSN не считывает битрейт из OBS или стриминговой платформы автоматически. Он опрашивает API статистики видеосервера, принимающего вашу трансляцию.

Для чего это нужно

Это небольшое текущее показание битрейта в доке для ведущего или продюсера. Полезно, когда OBS, мобильный кодер или другой отправитель передаёт видео на ваш собственный сервер ретрансляции или приёма.

SSN также нормализует доступные данные задержки, буфера, потерь пакетов, времени работы, кодеков и зрителей в событие метаданных video_stats . Стандартное показание дока отображает только битрейт.

Совместимость

  • SRT Live Server / SLS: JSON /stats конечную точку, содержащую publishers объект.
  • Belabox Cloud: его JSON-ответ статистики приёмника/ретранслятора в стиле SRT.
  • NGINX RTMP: XML из модуля состояния NGINX RTMP.
  • Node Media Server: его JSON API трансляций с необязательной HTTP Basic-аутентификацией.
OBS не является источником статистики: OBS может отправлять видео на совместимый сервер, но OBS WebSocket и браузерные источники SSN не предоставляют эти данные.

Как использовать

  1. Включите HTTP-адрес статистики совместимого сервера и убедитесь, что компьютер с SSN может открыть его URL.
  2. В SSN Общие настройки, включите Опрос видеостатистики.
  3. Выберите тип источника и введите URL статистики.
  4. Для SRT или Belabox введите точный ID издателя, например publish/live/feed1. SSN автоматически использует его, если ответ содержит только одного издателя.
  5. Для NGINX RTMP или Node Media Server введите приложение и ключ/имя трансляции, например live и feed1.
  6. При необходимости добавьте авторизацию. Поле API-ключа SRT отправляется как полный заголовок Authorization . Node Media Server использует имя пользователя/пароль для HTTP Basic-аутентификации.
  7. Выберите интервал опроса от 1 до 60 секунд; по умолчанию пять секунд.
  8. В настройках дока включите Показывать метаданные битрейта при наличии; справа вверху (Show bitrate metadata if available; top-right), затем откройте или обновите ссылку дока.
  9. Начните отправку видео. Битрейт появится после корректного ответа о работающей трансляции.

Если ничего не появляется

  • Убедитесь, что в SSN включены обе настройки видеостатистики.
  • Убедитесь, что конечная точка отвечает за пять секунд, а тип источника и идентификаторы трансляции совпадают.
  • 127.0.0.1 означает компьютер, на котором работает SSN. Если сервер находится на другом устройстве, используйте его адрес в локальной сети.
  • Показание исчезает, если трансляция не в сети, битрейт отсутствует или равен нулю либо новая статистика не поступает около 130 секунд.

Дополнительно: протокол, форматы и единицы

SSN выполняет HTTP- или HTTPS-запрос GET с заданным интервалом, отключённым кэшированием и тайм-аутом пять секунд.

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 должен возвращать XML состояния NGINX RTMP. 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, viewers — число зрителей, duration — секунды.

Нормализованное событие 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, большие — в Mbps с одним знаком после запятой. URL статистики, ключ трансляции и учётные данные никогда не отправляются оверлеям.