Перейти к содержимому

Streams API

В интерфейсе Astra вы можете управлять конфигурациями потоков и контролировать их статус с помощью HTTP API методов.

{
"id": "...",
"name": "...",
"type": "...",
"enable": true,
"input": [
""
]
}
  • name — имя потока
  • type — тип потока spts или mpts
  • enabletrue, если поток включён
  • input — список входов потока
  • другие параметры зависят от конфигурации потока.

Запрос: GET /api/stream-info/{id}

  • id — уникальный идентификатор потока

В ответе будет JSON с конфигурацией потока

Запрос: POST /control/

{
"id": "...",
"cmd": "set-stream",
"stream": { ... }
}
  • id — уникальный идентификатор потока
  • stream — конфигурация потока

Включение или отключение потока. Запрос: POST /control/

{
"cmd": "toggle-stream",
"id": "..."
}
  • id — уникальный идентификатор потока

Запрос: POST /control/

{
"cmd": "restart-stream",
"id": "..."
}
  • id — уникальный идентификатор потока

Выбор активного входа. Работает только для потоков с типами резервирования: passive или disable. Запрос: POST /control/

{
"cmd": "set-stream-input",
"id": "...",
"input": "..."
}
  • id — уникальный идентификатор потока
  • input — номер входа. Нумерация начинается с 1. Если параметр не указан, будет выбран следующий вход после активного

Запрос: POST /control/

{
"cmd": "set-stream",
"id": "...",
"stream": {
"remove": true
}
}
  • id — уникальный идентификатор потока

Запрос: GET /api/stream-status/{id}

  • id — уникальный идентификатор потока

Необязательные параметры запроса: GET /api/stream-status/{id}?t={time}

  • time — по умолчанию 1 — статистика за последнюю минуту. 0 — статистика за последнюю секунду (текущий статус потока).

Ответ:

{
"timestamp": 0,
"instance": "...",
"name": "...",
"input_id": 1,
"active": true,
"onair": true,
"sessions": 0,
"bitrate": 0,
"packets": 0,
"pes_error": 0,
"sc_error": 0,
"cc_error": 0,
"video_count": 1,
"audio_count": 1
}
  • timestamp — время отчёта, для t=0 — текущее время
  • instance — имя экземпляра, если указано в Настройки → Общие → Имя экземпляра
  • name — имя потока
  • input_id — идентификатор активного входа. Например, если основной вход работает нормально, будет 1. Если поток переключился на резервный вход, будет номер этого входа
  • activetrue, если поток активен, или false, если поток работает по требованию и неактивен
  • onairtrue, если активный вход работает без ошибок
  • sessions — количество активных сессий на потоке
  • bitrate — битрейт потока в Кбит/с
  • pes_error — количество некорректных PES-пакетов
  • sc_error — количество зашифрованных TS-пакетов. Если поток защищён системой условного доступа (CAS), то sc_error и pes_error будут больше 0. Если поток расшифрован с неверным ключом, то sc_error будет равен 0, а pes_error будет больше 0
  • cc_error — счётчик ошибок CC. Ошибка CC может быть вызвана потерей или избытком пакетов
  • video_count — количество видеопотоков
  • audio_count — количество аудиопотоков