Документация для версии Интеллект 4.10.4. Документация на другие версии также доступна.

Предыдущая страница Управление телеметрией  Нотификация Следующая страница


В разделе:

Поток из видеоархива присылается в таком же формате, что и живое видео

Получение списка записей - "arc.intervals"

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'
  }]
}

Получение одного фрейма из архива - "arc.frame"

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. Если фрейма в диапазоне не будет тело в ответе будет пустым.


Получение видео из архива - "arc.play"

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.


Получение списка записей (2-й способ)

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:

[]


  • No labels