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

Показуйте бітрейт вхідного потоку вгорі праворуч у доку 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 authentication.
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 authentication.
  7. Виберіть інтервал опитування від 1 до 60 секунд; за замовчуванням — п’ять секунд.
  8. В опціях дока ввімкніть Показувати метадані бітрейту, якщо доступні; угорі праворуч, а потім відкрийте або оновіть посилання дока.
  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 указано у Кбіт/с; RTT та буфер приймання — у мілісекундах; швидкість приймання та пропускну здатність — у Мбіт/с; час роботи — у секундах; втрати/відкидання — кількість пакетів або байтів.

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 } }

Бітрейт указано у Кбіт/с, 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"
  }
}
ПолеОдиниця/тип
bitrateKbpsКбіт/с, ціле число
rttMs / bufferMsМілісекунди
recvRateMbps / bandwidthMbpsМбіт/с
Поля втрат/відкиданняКількість пакетів або байтів
uptimeSeconds / durationSecondsСекунди
onlineЛогічне значення; false приховує значення в доку

Док приймає meta.bitrateKbps, з meta.bitrate і meta.kbps як запасні варіанти. Значення нижче 1000 показуються як округлені Кбіт/с; більші — як Мбіт/с із одним десятковим знаком. URL статистики, ключ потоку й облікові дані ніколи не надсилаються оверлеям.