Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column
width35%


Panel
borderColor#CCCCCC
bgColor#FFFFFF
titleBGColor#F0F0F0
borderStylesolid
titleНа странице:
Table of Contents



Column


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

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

Tip

{VIDEOSOURCEID} - трехкомпонентный идентификатор endpoint-а источника (см. Получение списка источников видео (камер)).  Например,  "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".


Info
titleПримечание

BEGINTIME и ENDTIME задают время в формате YYYYMMDDTHHMMSS.

...

Если BEGINTIME больше ENDTIME, то значения поменяются местами.  Для экспорта

...

кадра BEGINTIME должно быть равно ENDTIME.

Синтаксис ENDTIME и BEGINTIME описан в разделе Получение содержания архивов


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

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

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

  • 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]].

...

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


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

...

ПараметрФормат

...

Описание

...

Пример
format

...

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

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


maxfilesize

...

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

...

 acЧисловое значениеУровень качества сжатия для видео и аудио соответственно. Допустимые значения от 0 до 6 (6 - наихудшее).

...

  Значение по умолчанию - 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]] - весь кадр).

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

...

Image Added


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


maskspaceОбласть

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

...

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

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

Image Added


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


colorТекстовое значениеЦвет текста для комментария и временной метки. Задается в Web-формате - #FFFFFF.

...

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

"color": "#e31e1e",
comment Текстовое значениеКомментарий
Параметры актуальные только для экспорта в PDF:
snapshotplaceОбластьПоложение

...

кадра на странице
commentplace

...

ОбластьПоложение комментария на странице
tsplace

...

ОбластьПоложение временной метки на странице
layout

...

Числовое значениеОриентация страницы. Допустимые значения - 0 (портретная), 1 (альбомная).

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

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

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

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

400 -  неправильно
Code Block
HTTP/1.1 202 Accepted
Connection: Close
Location: /export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3
Cache-Control: no-cache
Info
titleПримечание

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

Код ошибкиОписание
400Неправильно сформированный запрос.
500

...

Внутренняя ошибка Сервера.

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

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


Tip

id - значение из

...

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

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

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

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

Code Block
{
  "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

...

Текущее состояние экспорта. Возможные значения:
1 - экспорт выполняется
2 - экспорт завершен 
3 - ошибка экспорта
4 - недостаточно места для выполнения операции

progress

...

Прогресс сессии экспорта в диапазоне от 0 до 1.
error

...

Описание ошибки, если таковая присутствует.
files

...

Список файлов, созданных в результате экспорта.


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

DELETE http://IP-адрес:порт/префикс/export/{idгде id - значение из поля Location.}

Tip

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

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

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

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

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

Tip

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


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

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

GET http://127.0.0.1:80/export/3dc15b75-6463-4eb1-ab2d-0eb0a8f54bd3/file?name=SERVERServer1_DeviceIpint.110[20160527T13290020190903T050000-20160527T133000].mkv

где

...

20190903T050100].mp4