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

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

где BEGINTIME и ENDTIME задают время в формате YYYYMMDDTHHMMSS. Если BEGINTIME больше ENDTIME, то значения поменяются местами.  Для экспорта кадра BEGINTIME должно быть равно ENDTIME.

Для описания рамок и масок используются сложные структуры данных, которые можно разделить на следующие типы:

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

  1. format (строка) - обязательный параметр, доступные значения mkv, avi, exe, jpg, pdf. Задает формат выходного контейнера экспорта. 
  2. maxfilesize (число) - максимальный размер файла экспорта в байтах. При достижении этого размера будет создаваться новый файл. Результатом экспорта будет коллекция файлов. Значение по умолчанию - 0 (на выходе единственный файл).
  3. vcac (число) - уровень качества сжатия для видео и аудио соответственно. Допустимые значения от 0 до 6 (6 - наихудшее). Тонкий нюанс - при указании 0 в значении параметра будет оставлен исходный уровень качества (скорее всего недоработка исходного API). Значение по умолчанию - 0.
  4. freq (число) - частота кадров выходного потока. Значение по умолчанию - 0. Допустимые значения:
    1. 0 - оригинальная
    2. 1 - половина оригинальной
    3. 2 - четверть
    4. 3 - осьмушка
  5. tsformat (строка) - шаблон формата временной метки. Можно генерировать любую строку на основании http://www.boost.org/doc/libs/1_55_0/doc/html/date_time/date_time_io.html. Значение по умолчанию: %Y-%b-%d %H:%M:%S. 

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


  6. croparea (area) - область кадра для экспорта (Значение по умолчанию 0,0!0,0 - весь кадр).
  7. maskspace (mask) - область маскировки кадра. По умолчанию кадр не маскируется.
  8. color (строка) - цвет текста для комментария и временной метки. Задается в Web-формате - #FFFFFF.
  9. comment (строка) - комментарий

Параметры, имеющие смысл только для формата PDF.

  1. snapshotplace (area) - положение кадра на странице
  2. commentplace (area) - положение комментария на странице
  3. tsplace (area) - положение временной метки на странице
  4. layout (число) - ориентация страницы. Допустимые значения - 0 (портретная), 1 (альбомная).

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

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":
  [
  ]
}

где

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

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

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

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

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

где