Запуск экспорта

Экспорт инициируется с помощью одного из следующих POST запросов:
 http://IP-адрес:порт/префикс/export/archive/SERVER1/VIDEOSOURCEID/BEGINTIME/ENDTIME - экспорт из архива
 http://IP-адрес:порт/префикс/export/live/SERVER1/VIDEOSOURCEID/BEGINTIME/ENDTIME - экспорт живого потока

где 

Поддерживаемые параметры передаваемые в теле начального POST запроса:

ПараметрФорматОписаниеПример
formatТекстовое значение

Обязательный параметр. Доступные значения mp4mkv, avi, exe, jpg, pdf. Задает формат выходного контейнера экспорта. 


maxfilesize

Числовое значениеМаксимальный размер файла экспорта в байтах. При достижении этого размера будет создаваться новый файл. Результатом экспорта будет коллекция файлов. Значение по умолчанию - 0 (на выходе единственный файл).
"maxfilesize": 1e+6
"maxfilesize": 1000000
vc, acЧисловое значениеУровень качества сжатия для видео и аудио соответственно. Допустимые значения от 0 до 6 (6 - наихудшее). Тонкий нюанс - при указании 0 в значении параметра будет оставлен исходный уровень качества (скорее всего недоработка исходного API). Значение по умолчанию - 0.
freq Числовое значение

Частота кадров выходного потока. Значение по умолчанию - 0. Допустимые значения:

  1. 0 - оригинальная
  2. 1 - половина оригинальной
  3. 2 - четверть
  4. 3 - осьмушка

tsformatТекстовое значение

Шаблон формата временной метки. Можно генерировать любую строку на основании http://www.boost.org/doc/libs/1_55_0/doc/html/date_time/date_time_io.html. Значение по умолчанию: %Y-%b-%d %H:%M:%S. 

Внимание! Сервер не проверяет формат введенной строки.

"tsformat": "%B %Y",
cropareaОбласть

Область кадра для экспорта (Значение по умолчанию [[0, 0], [1,1]] - весь кадр).

Изображение для примера:


"croparea": [
        [
            0.3,
            0.3
        ],
        [
            0.8,
            0.8
        ]
    ]


maskspaceОбласть

Область маскировки кадра, задается в координатах. По умолчанию кадр не маскируется.

Построение области происходит минимум по 3 узловым точкам + 1 замыкающая (совпадает с первой точкой). Начало координат - левый верхний угол. Допускается задание нескольких полигонов. 

Изображение для примера:


"maskspace": [
    [
        [
            0.2,
            0.2
        ],
        [
            0.3,
            0.7
        ],
        [
            0.5,
            0.5
        ],
        [
            0.2,
            0.2
        ]
    ]
]


colorТекстовое значениеЦвет текста для комментария и временной метки. Задается в Web-формате - #FFFFFF."color": "#e31e1e",
comment Текстовое значениеКомментарий
Параметры актуальные только для экспорта в PDF:
snapshotplaceОбластьПоложение кадра на странице
commentplaceОбластьПоложение комментария на странице
tsplaceОбластьПоложение временной метки на странице
layoutЧисловое значениеОриентация страницы. Допустимые значения - 0 (портретная), 1 (альбомная).


Пример тела запроса:

{
    "format": "mp4",
    "vc": 4,
    "comment": "сomment"
}

Результатом запроса будет либо возврат ошибки, либо ответ следующего вида:

HTTP/1.1 202 Accepted
Connection: Close
Location: /export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3
Cache-Control: no-cache


Возможные коды ошибок:

  • 400 -  неправильно сформированный запрос.
  • 500 - внутренняя ошибка Сервера.

Запрос статуса экспорта

GET http://IP-адрес:порт/префикс/export/id/status

где id - значение из поля Location (в данном случае 3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3).

Пример запроса:

http://192.168.1.65:8001/export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3/status

Пример ответа:

{
  "id": "38e3e286-c07c-490f-a452-e4b541b958c4",
  "state": 2,
  "progress": 1.000000000e+00,
  "error": "",
  "files": [
    "Server1_DeviceIpint.10[20190903T050000-20190903T050100].mp4"
  ],
  "filesFriendly": [
    "Server1_10.RHCP[20190903T050000-20190903T050100].mp4"
  ]
}

где

Завершение экспорта

DELETE http://IP-адрес:порт/префикс/export/id

где id - значение из поля Location.

Пример запроса:

http://192.168.1.65:8001/export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3

Скачивание файла

GET http://IP-адрес:порт/префикс/export/id/file?name=SERVER_DeviceIpint.1[20160527T132900-20160527T133000].mkv

где