На странице:

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

Экспорт из архива:

POST http://IP-адрес:порт/префикс/export/archive/{VIDEOSOURCEID}/{BEGINTIME}/{ENDTIME}

Экспорт живого потока:

POST http://IP-адрес:порт/префикс/export/live/{VIDEOSOURCEID}/{BEGINTIME}/{ENDTIME}

  • VIDEOSOURCEID − трехкомпонентный идентификатор endpoint-а источника (см. Получение списка камер и информации о них). Например, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
  • BEGINTIME и ENDTIME задают время в формате YYYYMMDDTHHMMSS в часовом поясе UTC+0. Если BEGINTIME больше ENDTIME, то значения поменяются местами. Для экспорта кадра BEGINTIME должно быть равно ENDTIME. Синтаксис ENDTIME и BEGINTIME описан в разделе Получение содержания архивов.

ПараметрОбязательныйОписание
waittimeoutНет

Таймаут ожидания поступления кадра в миллисекундах. Значение по умолчанию − 10000. Если значение параметра меньше, чем интервал опорных кадров, экспорт выполнен не будет. Рекомендуется устанавливать значение не меньше 30000

archiveНетИмя архива в формате "hosts/SERVER1/MultimediaStorage.AliceBlue/MultimediaStorage" (см. Получение содержания архивов). Если значение не задано, для экспорта будет использоваться архив по умолчанию

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

POST http://127.0.0.1:80/export/archive/Server1/DeviceIpint.1/SourceEndpoint.video:0:0/20200415T085456/20200415T085501?waittimeout=30000

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

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

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

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

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

  • mp4,
  • mkv,
  • avi,
  • exe,
  • jpg,
  • pdf
"format": "mp4"
"format": "exe"

maxfilesize

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

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

  • 0 − оригинальная (по умолчанию),
  • 1 − половина оригинальной,
  • 2 − четверть,
  • 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 Текстовое значениеКомментарий
"comment": "сomment"
Параметры актуальные только для экспорта в PDF
snapshotplaceОбластьПоложение кадра на странице
commentplaceОбластьПоложение комментария на странице
tsplaceОбластьПоложение временной метки на странице
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).

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

GET http://127.0.0.1:80/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"
  ]
}
ПараметрОписание
state

Текущее состояние экспорта. Допустимые значения:

  • 0 − экспорт еще не выполняется,
  • 1 − экспорт выполняется,
  • 2 − экспорт завершен,
  • 3 − ошибка экспорта,
  • 4 − недостаточно места для выполнения операции,
  • 5 − файл с заданным именем уже существует,
  • 6 − нет данных для экспорта
progressПрогресс сессии экспорта в диапазоне от 0 до 1
errorОписание ошибки, если таковая присутствует
filesСписок файлов, созданных в результате экспорта

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

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

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

ПараметрОбязательныйОписание
nameДаИмя файла из поля files

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

GET http://127.0.0.1:80/export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3/file?name=Server1_DeviceIpint.10[20190903T050000-20190903T050100].mp4

Примечание

На сервере экспортированный файл сохраняется в папку D:\IntellectXData\Export\Имя_сервера\WebServer\{ID}, где {ID} − значение из поля Location.

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

Удаление сформированного файла на сервере:

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

  • id − значение из поля Location (в данном случае 3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3).
  • Файлы из папки для экспорта могут автоматически удаляться:

    1. При остановке Web-сервера.
    2. Процедурой очистки по таймауту, которая запускается в первый раз после 10 часов непрерывной работы Web-сервера и повторяется каждые 10 минут. Она удаляет все файлы, у которых не было активности (запрос статуса загрузки, скачивание файла) за последние 10 часов.

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

DELETE http://127.0.0.1:80/export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3

  • No labels