Запуск экспорта
Экспорт инициируется с помощью одного из следующих POST запросов:
http://IP-адрес:порт/префикс/export/archive/SERVER1/VIDEOSOURCEID/BEGINTIME/ENDTIME - экспорт из архива
http://IP-адрес:порт/префикс/export/live/SERVER1/VIDEOSOURCEID/BEGINTIME/ENDTIME - экспорт живого потока
где BEGINTIME и ENDTIME задают время в формате YYYYMMDDTHHMMSS. Если BEGINTIME больше ENDTIME, то значения поменяются местами. Для экспорта кадра BEGINTIME должно быть равно ENDTIME.
Для описания рамок и масок используются сложные структуры данных, которые можно разделить на следующие типы:
- point - задается с помощью следующего синтаксиса x,y: пример - [0.5, 0.5].
- area - задает квадратную рамку, определяется двумя points с разделителем !. Пример - [[0.5, 0.5], [0.4,0.4]].
- polygon - задает замкнутую кривую, содержит как минимум 3 точки заключенные в []. Пример - [[0.5, 0.5], [0.4,0.4],[0.3,0.3]].
- mask - коллекция polygons. Пример - [[[0.5, 0.5],[0.6, 0.6],[0.7, 0.7]], [[0.1, 0.1],[0.2, 0.2],[0.3, 0.3]]].
Поддерживаемые параметры передаваемые в теле начального POST запроса:
Результатом запроса будет либо возврат ошибки, либо ответ следующего вида:
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)
Пример ответа:
{ "id": "73c2e1d2-0f8f-414c-9cc0-ac5fb43cd8dd" ,"state": 1 ,"progress": 0.51062298 ,"error": "" ,"files": [ ] }
где
- state определяет текущее состояние экспорта. Возможные значения:
1 - экспорт выполняется
2 - экспорт завершен
3 - ошибка экспорта
4 - недостаточно места для выполнения операции - progress - прогресс сессии экспорта в диапазоне от 0 до 1.
- error - описание ошибки, если таковая присутствует
- files - список файлов, созданных в результате экспорта
Завершение экспорта
DELETE http://IP-адрес:порт/префикс/export/id
где id - значение из поля Location.
Скачивание файла
GET http://IP-адрес:порт/префикс/export/id/file?name=SERVER_DeviceIpint.1[20160527T132900-20160527T133000].mkv
где
- id - значение из поля Location
- file?name - имя файла из поля files