A. Описание JSON-RPC API¶
A.1 Описание методов JSON-RPC API¶
get_stream_list¶
Получает список потоков.
Возвращает список объектов со следующими полями:
Название | Тип | Описание |
---|---|---|
id | int | Номер потока |
name | str | Имя потока |
enabled | bool | true, если поток активен |
src-index | int | Порядковый номер используемого источника |
autostart | bool | true, если включен запуск потока на старте micromanager |
timeout | int | Время в секундах, через которое поток будет остановлен после запуска |
stop-timestamp | int | Время в формате UNIX-timestamp, в которое поток будет остановлен |
src | str | Адрес текущего источника |
uptime | int | Время непрерывной работы в секундах |
bitrate | int | Текущий битрейт в байтах в секунду |
state | str | Статус потока. |
Возможные значения поля state:
- NOT_RUNNING;
- RUNNING;
- NO_STREAM_DATA;
- NO_PLAYLIST;
- NOT_SEGMENTING;
- INCORRECT_CONFIG;
- UNKNOWN.
start_stream¶
Запускает поток.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- stream started;
- bad stream id.
stop_stream¶
Останавливает поток.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- stream stopped;
- bad stream id.
reboot_stream¶
Перезапускает поток.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- stream rebooted;
- bad stream id.
switch_source¶
Переключает источник потока.
Параметры:
- id - номер потока, тип int.
Возвращает строку с результатом вызова метода. Возможные значения:
- transcoding source switched;
- no more sources;
- bad stream id.
get_statistics¶
Получает статистику работы micromanager.
Возвращает объект со следующими полями:
Название | Тип | Описание |
---|---|---|
pid | int | PID процесса micromanager |
streams-count | int | Общее количество видеопотоков |
running-count | int | Количество запущенных видеопотоков |
threads-count | int | Количество запущенных вычислительных потоков в процессе micromanager |
mem-usage | int | Количество ОЗУ, потребляемое процессом micromanager и процессами видеопотоков в МиБ |
cpu-usage | float | загрузка CPU процессом micromanager и процессами видеопотоков |
uptime | int | Время непрерывной работы процесса micromanager в секундах |
bitrate | int | Суммарный битрейт всех запущенных видеопотоков |
result | str | Всегда равно “success” |
get_config¶
Запрашивает конфигурацию в виде JSON-объекта.
Коды ошибок:
Код | Описание |
---|---|
201 | Файл конфигурации не задан |
224 | Ошибка чтения файла конфигурации |
set_config¶
Изменяет и применяет конфигурацию.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
config | obj | Конфигурация в виде JSON-объекта | Да |
Возвращаемое значение всегда равно “ok”.
Коды ошибок:
Код | Описание |
---|---|
100 | Отсутствует объект params |
101 | Пропущен параметр config |
109 | Некорректная кофигурация |
220 | Ошибка резервного копирования файла конфигурации |
221 | Ошибка записи конфигурации |
222 | Ошибка применения новой конфигурации, предыдущая восстановлена из резервной копии |
223 | Ошибка применения новой конфигурации и восстановления предыдущей из резервной копии |
get_asset_meta¶
Запрашивает подробную информацию об ассете.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
path | str | Относительный путь до файла | Да |
Возвращает список объек со следующими полями (все поля имеют строковый тип):
Название | Тип | Описание |
---|---|---|
size | str | Размер файла в байтах |
length | str | Длина в секундах |
bit-rate | str | Средний битрейт |
format-name | str | Краткое имя контейнера или формата |
format-long-name | str | Полное имя контейнера или формата |
streams | array | Cписок потоков |
Объекты списка streams имеют следующие поля:
Название | Тип | Описание |
---|---|---|
type | str | Тип потока |
codec-name | str | Краткое имя кодека |
codec-long-name | str | Полное имя кодека |
language | str | Язык |
Коды ошибок:
Код | Описание |
---|---|
101 | Параметр path пропущен или пуст |
201 | Ошибка получения информации об ассете |
get_asset_files¶
Запрашивает список ассетов.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
offset | int | Номер элемента, с которого надо начинать список | Нет | Не меньше нуля |
limit | int | Максимальный размер списка | Нет | Не меньше нуля |
filter | str | Строка поиска по именам ассетов | Нет |
Возвращает список объектов со следующими полями:
Название | Тип | Описание |
---|---|---|
file-name | str | Относительный путь до ассета |
asset_delete¶
Удаляет ассет.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
path | str | Относительный путь до файла | Да |
Возвращаемое значение всегда равно “success”.
Коды ошибок:
Код | Описание |
---|---|
101 | Параметр path пропущен или пуст |
201 | Ошибка удаления acctnf (см. поле message). |
delete_file_from_ingest_directory¶
Удаляет файл из директории ожидания.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
path | str | Относительный путь до файла | Да |
Возвращаемое значение всегда равно “success”.
Коды ошибок:
Код | Описание |
---|---|
101 | Параметр path пропущен или пуст |
201 | Ошибка удаления файла (см. поле message). |
get_ingestion_status¶
Получает статус инжестирования.
Примечание: информация о состоянии выполняемых задач обновляется раз в пять секунд.
Возвращает список объектов со следующими полями:
Название | Тип | Описание |
---|---|---|
task-id | int | Идентификатор задачи. |
source-file-name | str | Относительный путь до исходного файла |
target-file-name | str | Относительный путь до инжестированного файла |
running | bool | true, если процесс инжестирования активен |
completed | bool | true, если процесс инжестирования завершён |
bitrate | int | Текущий битрейт в байтах |
fps | float | Cкорость инжестирования в кадрах |
frame | int | Текущий кадр |
file-size | int | Текуший размер инжестируемого файла в КиБ |
src-file-size | int | Размер исходного файла в КиБ |
mem-used | int | Количество оперативной памяти, используемой процессом инжестирования в КиБ |
cpu-load | float | Загрузка процессора процессом инжестирования |
failed | bool | true, если процесс инжестирования или дистрибьюции завершён из-за ошибки |
error-string | str | Cообщение об ошибке, либо причина отмены задачи; если статус не равен FAILED или CANCELED то содержит пустую строку |
status | str | Текущий статус задачи. |
Возможные значения поля status:
- WAITING;
- STARTING;
- ACTIVE;
- COMPLETED;
- FAILED;
- CANCELED.
get_distribution_status¶
Получает статус дистрибьюции.
Примечание: информация о состоянии выполняемых задач обновляется раз в пять секунд.
Возвращает список объектов со следующими полями:
Название | Тип | Описание |
---|---|---|
task-id | int | Идентификатор задачи. |
source-file-name | str | Относительный путь до ассета |
running | bool | true, если процесс дострибьюции запущен и активен |
processed | int | Количество обработанных адресов |
mem-used | int | Количество оперативной памяти, используемой процессом в КиБ |
cpu-load | float | Загрузка процессора процессом дистрибьюции |
error-string | str | Cообщение об ошибке, либо причина отмены задачи; если статус не равен FAILED или CANCELED то содержит пустую строку |
status | str | Текущий статус задачи. |
Возможные значения поля status:
- WAITING;
- STARTING;
- ACTIVE;
- COMPLETED;
- FAILED;
- CANCELED.
cancel_task¶
Отменяет задачу.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
id | int | Идентификатор задачи | Да | Не меньше нуля. |
Возвращаемое значение всегда равно “ok”.
ingest_file¶
Инжестирует файл.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
path | str | Относительный путь до файла в директории инжестирования | Да | |
preset_name | str | Имя пресета | Да | |
run_cmd | str | Шаблон команды запуска | Нет | |
naming_template | str | Шаблон имени файла | Нет | |
delete_after | bool | если true, удаляет файл после успешного инжестирования и успешной дистрибьюции (если дистрибьюция включена в параметрах micromanager); по умолчанию false | Нет |
Примечание: если указаны, и имя пресета, и шаблон команды запуска или имени файла, то парметры, заданные в пресете, имеют меньший приоритет. Также, если в выбранном пресете отсутствуют какие-либо параметры, то будут взяты значения пресета по-умолчанию.
Примечание 2: если значение preset_name равно default, то будет выбран пресет по-умолчанию.
Возвращаемое значение - объект со следующими параметрами:
Название | Тип | Описание |
---|---|---|
file | str | Относительный путь до ассета после инжестирования |
id | int | Идентификатор задачи. |
Коды ошибок:
Код | Описание |
---|---|
101 | Параметр path пропущен или пуст |
110 | Не найден пресет с таким именем |
distribute_file¶
Добавляет задачу дострибьюции.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
path | str | Относительный путь до файла в директории ассетов | Да | |
preset_name | str | Имя пресета | Да | |
delete_after | bool | если true, удаляет файл после успешного инжестирования и успешной дистрибьюции (если дистрибьюция включена в параметрах micromanager); по умолчанию false | Нет |
Примечание: если в выбранном пресете отсутствуют какие-либо параметры, то будут взяты значения пресета по-умолчанию.
Примечание 2: если значение preset_name равно default, то будет выбран пресет по-умолчанию.
Возвращаемое значение - объект со следующими параметрами:
Название | Тип | Описание |
---|---|---|
id | int | Идентификатор задачи. |
Коды ошибок:
Код | Описание |
---|---|
101 | Параметр path пропущен или пуст |
110 | Не найден пресет с таким именем |
get_presets¶
Запрашивает список пресетов.
Возвращает объект со следующими полями:
Название | Тип | Описание |
---|---|---|
default | str | Шаблон команды запуска, используемый по умолчанию |
default-naming-template | str | Шаблон имени файла, используемый по умолчанию |
default-distribution-template | str | Шаблон команды дистрибьюции, используемый по умолчанию |
presets | array | Список пресетов в том же виде, в котором он задан в конфигурации |
get_waiting_files¶
Запрашивает список файлов в директории ожидания.
Параметры:
Название | Тип | Описание | Обязательный | Ограничения |
---|---|---|---|---|
offset | int | Номер элемента, с которого надо начинать список | Нет | Не меньше нуля |
limit | int | Максимальный размер списка | Нет | Не меньше нуля |
filter | str | Строка поиска по именам файлов | Нет |
Возвращает список объектов со следующими полями:
Название | Тип | Описание |
---|---|---|
file-name | str | Относительное имя файла |
target-file-name | Относительное имя ассета после инжестирования с шаблоном именования по умолчанию |
is_alive¶
Запрашивает данные о доступности и загруженности видеосервера.
Возвращает объект со следующими полями:
Название | Тип | Описание |
---|---|---|
is_alive | bool | true, если значение score не превышает максимальное |
score | float | Оценка загруженности сервера |