Важно
Запрос событий архива возможен только после получение потока архива по следующему алгоритму:
- Выполнить запрос Token с параметром stream=archive_main или stream=archive_sub.
- По Token выполнить запрос потока.
- Выполнить команду запроса событий архива.
Пример запроса событий архива:
https://192.168.1.200:8080/archive_events?token=isaoPJAb&sid=e03qD0eg
Ключевые элементы запроса:
- token=[Token] - уникальный Token видео (см. пример Получение видео и аудиопотоков).
- sid=[id_сессии] - id сессии, в которой выполняется запрос (см. пример Получение id сессии).
Пример ответа сервера:
[
{
"event_name" : "CalendarEvent",
"calendar" : [
"2014-02-20",
"2014-02-21",
"2014-02-24"
]
},
{
"event_name" : "SpeedEvent",
"speed" : "0.000000"
},
{
"event_name" : "SpeedLimitEvent",
"speed_limit" : "0"
},
{
"event_name" : "StateTransitionEvent",
"state" : "1",
"state_desc" : "",
"state_time" : "2014-02-24 14:24:54"
},
{
"event_name" : "TimeChangedEvent",
"time" : "2014-02-24 14:24:53"
},
{
"event_name" : "TimelineEvent",
"day_start" : "2014-02-24",
"timeline" : "00000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF1F0000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFF3F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
{
"event_name" : "ActivityLevelEvent",
"day_start" : "2014-02-24",
"activities" : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0"
}
]
В данном примере ответ содержит следующие события архива:
-
"event_name" : "CalendarEvent"
"calendar" : [] - список дат, для которых есть архив.
Подсказка
В "calendar" : [] содержится список дат соответствующих данному Token, а не по всем каналам сервера.
-
"event_name" : "SpeedEvent"
"speed" : "0.000000" - текущая скорость воспроизведения архива.
-
"event_name" : "SpeedLimitEvent"
"speed_limit" : "0" - максимально возможная скорость воспроизведения архива.
-
"event_name" : "StateTransitionEvent"
"state" : "1" - текущее состояние архива:
- 1 - воспроизведение архива остановлено;
- 2 - архив воспроизводится;
- 4 - поиск в архиве;
- 8 - произошла ошибка;
- 10 - диски заняты.
"state_desc" : "" - описание состояния.
"state_time" : "2014-02-24 14:24:54" - время изменения состояния.
-
"event_name" : "TimeChangedEvent"
"time" : "2014-02-24 14:24:53" - время изменения состояния.
-
"event_name" : "TimelineEvent"
"day_start" : "2014-02-24" - дата проигрываемого архива.
"timeline" : "" - последовательность чисел в шестнадцатеричной системе, где каждый бит соответствует одной секунде записи в этот день:
- 0 - записи нет;
- 1 - запись есть.
-
"event_name" : "ActivityLevelEvent"
"day_start" : "2014-02-24" - дата проигрываемого архива.
"activities" : "" - последовательность чисел в шестнадцатеричной системе, где каждый бит содержит информацию о наличии или отсутствии движения на канале:
- 0 - движения нет;
- 1 - движение есть.
Подсказка
В отличие от события "event_name" : "TimelineEvent", в событии "event_name" : "ActivityLevelEvent" содержится информация только о тех секундах, для которых есть архив.

