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

Предыдущая страница Следующая страница


You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

В разделе:
 

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

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

GET

http://example.com:[port][/somecontext]/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 – время для объединения нескольких интервалов (в секундах). Интервалы, расстояние между которыми будет меньше заданного, будут объединены в один.

 

В ответе придёт XML:

 

<?xml version="1.0" encoding="UTF-8"?>
<records>
    <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>

 

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

GET

http://example.com:[port][/somecontext]/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][/somecontext]/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][/somecontext]/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][/somecontext]/secure/archive/CAM:1/2013-10-18/?splitTreshold=2000

Получить записи за 10 дней, начиная с 18 ноября 2013 года:  

http://example.com:[port][/somecontext]/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][/somecontext]/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