Перейти в хранилище документации
Обратиться в техническую поддержку![]()
Предыдущая страница Следующая страница
Поток из видеоархива присылается в таком же формате, что и живое видео
GET
http://example.com:[port]/web2/secure/video/action.do?version=4.9.0.0&sessionid=29101F1&video_in=CAM:5&command=arc.intervals&time_from=2013-03-20T00:00:00.000+04:00&time_to=2013-03-22T23:59:59.999+04:00&max_count=100&split_threshold=10399&login=XXX&password=YYY
Обязательные параметры:
command=arc.intervals – команда для получения списка записей
video_in – идентификатор камеры.
time_from – начало интересуемого диапазона времени.
Необязательные параметры:
time_to – начало и конец интересуемого диапазона времени.
max_count – максимальное количество записей в ответе
split_threshold – время для объединения нескольких интервалов (в секундах). Интервалы, расстояние между которыми будет меньше заданного, будут объединены в один.
format – если параметр отсутствует, ответ приходит в формате xml. Если параметр равен json, ответ приходит в формате JSON.
Пример ответа XML:
<?xml version="1.0" encoding="UTF-8"?><records count="1" complete="YES" sort="INCREASE"> <record><from>2011-09-01T00:00:00-05:00</from><to>2011-09-01T00:00:35-05:00</to></record><record><from>2011-09-01T00:00:35-05:00</from><to>2011-09-01T00:01:10-05:00</to></record></records> |
Пример ответа JSON
{ 'count' : 1,'complete' : 'YES', 'sort' : 'INCREASE', 'cam' : '1', 'records' : [ {'from' : '2019-01-22T12:41:10.144+03:00', 'to' : '2019-01-23T08:28:47.346+03:00' }] } |
GET
http://example.com:[port]/web2/secure/video/action.do?version=4.9.0.0&sessionid=29101F1&video_in=CAM:5&command=arc.frame&time=2013-03-22T13:04:52.312+04:00&range=0.1&login=XXX&password=YYY
Обязательные параметры:
command=arc.frame - команда для одного фрейма;
video_in - идентификатор камеры;
time - время, которое нас интересует.
Необязательные параметры:
range - время в секундах, для задания диапазона поиска ближайшего фрейма относительно time (если не указан, ищется ближайший по всему архиву);
imageWidth - ширина в пиксилях (если не указано или 0, рассчитывается автоматически с сохранением пропорций);
imageHeight - высота в пиксилях (если не указано или 0, рассчитывается автоматически с сохранением пропорций);
fps - максимальная частота кадров в секунду (если не указано или 0, часта кадров не будет ограничиваться).
В ответ придут http-заголовки и ближайший фрейм из диапазона [time - range, time + range] в формате jpeg. Если фрейма в диапазоне не будет тело в ответе будет пустым.
GET
http://example.com:[port]/web2/secure/video/action.do?version=4.9.0.0&sessionid=29101F1&video_in=CAM:5&command=arc.play&time_from=2013-03-22T13:04:52.312+04:00&time_to=2013-03-22T13:16:31.873+04:00&login=XXX&password=YYY
Обязательные параметры:
command=arc.play - команда для получения видео из архива;
video_in - идентификатор камеры;
time_from - время начала проигрывания архива.
Необязательные параметры:
time_to - время завершения проигрывания арxива (если не указано, будет отдан весь архив до последней записи);
imageWidth - ширина в пиксилях (если не указано или 0, рассчитывается автоматически с сохранением пропорций);
imageHeight - высота в пиксилях (если не указано или 0, рассчитывается автоматически с сохранением пропорций);
fps - максимальная частота кадров в секунду (если не указано или 0, часта кадров не будет ограничиваться).
При завершении потока придет завершающий пакет с newstate=closed и errcode=100.
GET
http://example.com:[port]/web2/secure/archive/CAM:2/[2011-12-30|2011-12]?[splitThreshold=50]&[days=1]
splitThreshold – если разница между окончанием предыдущей записи и началом следующей меньше этого числа (в миллисекундах), то записи объединяются в одну. Чтобы никакие записи не объединялись, нужно указать splitTreshold=0. [default: 50].
days - колличество дней, от текущего, за которые требуется получить архив. [default: 1]
Всё время интерпретируется как локальное для сервера.
Получить записи за 18 ноября 2013 года и слепить все записи, промежуток между которыми меньше 2000 миллисекунд:
http://example.com:[port]/web2/secure/archive/CAM:1/2013-10-18/?splitTreshold=2000
Получить записи за 10 дней, начиная с 18 ноября 2013 года:
http://example.com:[port]/web2/secure/archive/CAM:1/2013-10-18/?days=10
XML:
<?xml version="1.0" encoding="UTF-16"?><days> <day> <id>2013-11-10T00:00:00-02:00</id> <records> <from>2013-11-10T18:44:01.579-02:00</from> <to>2013-11-10T18:44:09.717-02:00</to> </records> </day> <day> <id>2013-11-18T00:00:00-02:00</id> <records> <from>2013-11-18T18:38:30.252-02:00</from> <to>2013-11-18T18:38:56.942-02:00</to> </records> <records> <from>2013-11-18T18:39:08.321-02:00</from> <to>2013-11-18T18:39:10.080-02:00</to> </records> </day></days> |
JSON:
[ { "id" : "2013-11-10T00:00:00.000-02:00", "records" : [ { "from" : "2013-11-10T18:44:01.579-02:00", "to" : "2013-11-10T18:44:09.717-02:00" } ]}, { "id" : "2013-11-18T00:00:00.000-02:00", "records" : [ { "from" : "2013-11-18T18:38:30.252-02:00", "to" : "2013-11-18T18:38:56.942-02:00" }, { "from" : "2013-11-18T18:39:08.321-02:00", "to" : "2013-11-18T18:39:10.080-02:00" } ]} ] |
Получение записей за месяц (показывает, в какие дни сентября есть записи):
http://example.com:[port]/web2/secure/archive/CAM:2/2011-12/
XML:
<?xml version="1.0" encoding="UTF-8"?><days> <day> <id>2011-09-02T00:00:00-05:00</id> </day> <day> <id>2011-09-03T00:00:00-05:00</id> </day> <day> <id>2011-09-05T00:00:00-05:00</id> </day></days> |
JSON:
[ { "id" : "2011-09-01T00:00:00-0500", "records" : [ ]}, { "id" : "2011-09-03T00:00:00-0500", "records" : [ ]}, { "id" : "2011-09-01T00:00:00-0500", "records" : [ ]} ] |
Если записей нет, то присылается
XML:
<days/>
JSON:
[]