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 | Оценка загруженности сервера |