A. Описание JSON-RPC API¶
A.1 Описание методов JSON-RPC API¶
get_stream_list¶
Получает список потоков.
Возвращает список объектов со следующими полями:
| Название | Тип | Описание |
|---|---|---|
| id | int | Номер потока |
| name | str | Имя потока |
| input-service-name | str | Сервисное имя потока |
| enabled | bool | true, если поток активен |
| src | str | Адрес источника потока |
| backup-src | str | Адрес резервного источника потока |
| dst | str | Адрес, на который отправляется поток |
| input-buffer-filling | float | Заполнение буфера входящих данных в процентах |
| offset-buffer-filling | float | Заполнение буфера исходящих данных в процентах |
| input-buffer-duration | int | Длительность буфера входящих данных в миллисекундах по-умолчанию |
| input-buffer-max-duration | int | Максимальная длительность буфера входящих данных в миллисекундах |
| input-buffer-max-size | int | Максимальный размер буфера входящих данных в байтах |
| input-buffer-current-duration | int | Текущая длительность буфера входящих данных в миллисекундах |
| input-buffer-current-length | int | Количество порций данных в буфере исходящих данных |
| input-buffer-current-size | int | Размер буфера входящих данных в байтах |
| output-buffer-max-size | int | Максимальный размер буфера исходящих данных в МиБ |
| output-buffer-current-length | int | Количество порций данных в буфере исходящих данных |
| output-buffer-current-size | int | Текущий размер буфера исходящих данных в байтах |
| uptime | int | Время непрерывной работы в секундах |
| bitrate | int | Текущий битрейт в байтах в секунду |
| state | str | Статус потока |
Возможные значения поля state:
- NOT_STREAMING;
- STREAMING;
- NO_INPUT;
- SEND_ERROR;
- REBUFFERING;
- FORCED_BACKUP.
start_streaming¶
Запускает передачу потока.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- success;
- bad stream id;
- too big stream id.
stop_streaming¶
Останавливает передачу потока.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- success;
- bad stream id;
- too big stream id.
reboot_streaming¶
Перезапускает передачу потока.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- success;
- bad stream id;
- too big stream id.
rebuffering¶
Очищает буфер потока.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- success;
- bad stream id;
- stream not initialized;
- too big stream id.
switch_to_backup¶
Переключает источник потока на резервный и обратно.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- success;
- bad stream id;
- stream not initialized;
- too big stream id.
get_statistics¶
Получает статистику работы microporter.
Возвращает объект со следующими полями:
| Название | Тип | Описание |
|---|---|---|
| pid | int | PID процесса microporter |
| streams-count | int | Общее количество видеопотоков |
| running-count | int | Количество запущенных видеопотоков |
| threads-count | int | Количество запущенных вычислительных потоков в процессе microporter |
| buffers-mem-usage | int | Количество ОЗУ, потребляемое буферами в МиБ |
| mem-usage | int | Количество ОЗУ, потребляемое процессом microporter в МиБ |
| cpu-usage | float | Загрузка CPU процессом microporter и процессами видеопотоков |
| uptime | int | Время непрерывной работы процесса microporter в секундах |
| bitrate | int | Суммарный битрейт всех запущенных видеопотоков |
get_config¶
Запрашивает конфигурацию в виде JSON-объекта.
Коды ошибок:
| Код | Описание |
|---|---|
| 201 | Файл конфигурации не задан |
| 224 | Ошибка чтения файла конфигурации |
set_config¶
Изменяет и применяет конфигурацию.
Параметры:
| Название | Тип | Описание | Обязательный | Ограничения |
|---|---|---|---|---|
| config | obj | Конфигурация в виде JSON-объекта | Да |
Возвращаемое значение всегда равно “success”.
Коды ошибок:
| Код | Описание |
|---|---|
| 100 | Отсутствует объект params |
| 101 | Пропущен параметр config |
| 109 | Некорректная кофигурация |
| 220 | Ошибка резервного копирования файла конфигурации |
| 221 | Ошибка записи конфигурации |
| 222 | Ошибка применения новой конфигурации, предыдущая восстановлена из резервной копии |
| 223 | Ошибка применения новой конфигурации и восстановления предыдущей из резервной копии |
is_alive¶
Заглушка метода оценки доступности и загруженности видеосервера.
Возвращает объект со следующими полями:
| Название | Тип | Описание |
|---|---|---|
| is_alive | bool | Всегда равно true |
| score | float | Оценка загруженности сервера, всегда равна 0.0 |