Перейти в хранилище документации
Обратиться в техническую поддержку
Предыдущая страница Следующая страница
Поток из видеоархива присылается в таком же формате, что и живое видео
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:
[]