В интерфейсе Astra можно управлять конфигурациями потоков и контролировать их состояние с помощью методов HTTP API.
::alert Настраиваемые параметры аналогичны тем, которые используются при настройке интерфейса Astra, подробнее о настройке этих параметров можно прочитать в соответствующих статьях. Подробнее ::
{
"id": "...",
"name": "...",
"type": "...",
"enable": true,
"input": [
""
]
}
name
- название потокаtype
- тип потока spts
или mpts
enable
- true
если поток включенinput
- список входов потока::alert Версия: 2021-04-12 или более поздняя ::
Запрос: GET /api/stream-info/{id}
id
- уникальный идентификатор потокаВ ответ будет получен JSON с конфигурацией потока
Запрос: POST /control/
{
"id": "...",
"cmd": "set-stream",
"stream": { ... }
}
id
- уникальный идентификатор потокаstream
- конфигурация потокаВключить/выключить поток. Запрос: POST /control/
{
"cmd": "toggle-stream",
"id": "..."
}
id
- уникальный идентификатор потока::spoiler{title="Пример"} Включить или отключить поток можно, выполнив следующую команду:
curl \
-X POST \
-user login \
-d '{"cmd":"toggle-stream", "id":"a001"}' \
http://server:8000/control/
при успешном возврате Astra:
{ "toggle-stream": "ok" }
::
Запрос: POST /control/
{
"cmd": "restart-stream",
"id": "..."
}
id
- уникальный идентификатор потока::spoiler{title="Пример"} Перезапустить поток можно, выполнив следующую команду:
curl \
-X POST \
-user login \
-d '{"cmd":"restart-stream", "id":"a001"}' \
http://server:8000/control/
при успешном возврате Astra:
{ "restart-stream": "ok" }
::
Выбор активного входа. Работает только для потоков со следующими типами резервного копирования: passive
или disable
. Запрос: POST /control/
{
"cmd": "set-stream-input",
"id": "...",
"input": "..."
}
id
- уникальный идентификатор потокаinput
- номер входа. Нумерация начинается с 1. Если опция не определена, то будет запущен следующий вход после активного входа::spoiler{title="Пример"} Переключить потоковый ввод можно, выполнив следующую команду:
curl \
-X POST \
-user login \
-d '{"cmd":"set-stream-input", "id":"a001", "input": 2}' \
http://server:8000/control/
при успешном возврате Astra:
{ "set-stream-input": "ok" }
::
Запрос: POST /control/
{
"cmd": "set-stream",
"id": "...",
"stream": {
"remove": true
}
}
id
- уникальный идентификатор потока::alert Версия: 2021-04-12 или более поздняя ::
Запрос: 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. если поток переключился на резервный вход, то будет номер этого входаactive
- true
если поток активен, или false
если поток работает по требованию и неактивенonair
- true
если активный вход работает без ошибокsessions
- количество активных сессий в потокеbitrate
- битрейт потока в Кбит/сpes_error
- количество недействительных пакетов PES-пакетовsc_error
- количество скремблированных TS-пакетов. Если поток защищен системой условного доступа (CAS), то sc_error
и pes_error
будет больше 0. Если поток дешифрован с неверным ключом, то sc_error
будет равна 0 и pes_error
будет больше 0cc_error
- Счетчик ошибок CC. Ошибка CC может быть вызвана потерей пакетов или их избыткомvideo_count
- количество видеопотоковaudio_count
- количество аудиопотоков