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