Общий формат запроса:

curl -v "http://IP-адрес:порт/web2/secure/video/action.do?fps={fps}&imageHeight={imageHeight}&login={login}&normalize={normalize}&password={password}&sessionid={sessionid}&version={version}&video_in={video_in}" --output ~/{output file}.bin

Параметры запроса:

Параметр

Обязательный

Описание

versionДа

См. Версия продукта. Если указать в запросе версию 4.10.0.0, в результате будет получен поток в формате MJPEG без xml-вставок, который можно отображать на web-странице в браузерах Chrome и FireFox при помощи тэга IMG. Данная функция реализована как для живого, так и для архивного видео.

Примечание. Допускается одновременное получение не более 6 потоков видео.

video_inДаИдентификатор камеры в формате "ТИП:ИДЕНТИФИКАТОР", например, "CAM:1"
sessionidНетИдентификатор сессии
imageWidthНет

Ширина кадра. Значение может быть в диапазоне [64, 1600]. Сервер автоматически округляет ширину до большего значения, кратного 4.

Если нет, то размер возвращаемого изображения берётся из видеопотока

imageHeightНет

Высота кадра. Значение может быть в диапазоне [30, 1200].

Если нет, то размер возвращаемого изображения берётся из видеопотока

fpsНетЧастота кадров видео
normalizeНет

true - растягивает изображение, если кадр приходит в некорректных пропорциях

login НетИмя пользователя ПК Интеллект, если установлен
password НетПароль пользователя ПК Интеллект, если установлен
output file nameДаИмя файла, в который будет осуществляться вывод запрашиваемого видео

Пример запроса:

curl -v "http://127.0.0.1:8085/web2/secure/video/action.do?fps=1&imageHeight=360&login=1&normalize=true&password=1&sessionid=A4D98DDE-A535-49E4-9FB5-FAD441CBBA43&version=4.10.0.0&video_in=CAM:1" --output ~/output.bin

Пример ответа:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 172.19.2.6 (172.19.2.6) port 8085 (#0)
* Server auth using Basic with user '1'
> GET /web2/secure/video/action.do?fps=1&imageHeight=360&login=1&normalize=true&password=1&sessionid=A4D98DDE-A535-49E4-9FB5-FAD441CBBA43&version=4.10.0.0&video_in=CAM:1 HTTP/1.1
> Host: 172.19.2.6:8085
> Authorization: Basic MTox
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Set-Cookie: JSESSIONID=ae532304-e6dc-4a19-8c4f-1e10656140f2; Path=/web2; HttpOnly
< Set-Cookie: rememberMe=deleteMe; Path=/web2; Max-Age=0; Expires=Sun, 24-Jan-2021 08:09:52 GMT
< Server: ITV-Intellect-Webserver/4.11.2.3000
< Date: Mon, 25 Jan 2021 08:09:52 GMT
< Cache-Control: no-store, no-cache, must-revalidate, max-age=0
< Connection: close
< Content-Type: multipart/x-mixed-replace;boundary=videoframe
< Pragma: no-cache
< X-CameraID: 1
< X-SessionID: A4D98DDE-A535-49E4-9FB5-FAD441CBBA43
< Closing connection 0
<
{ [32768 bytes data]

Параметры ответа:

В заголовке Content-Type указываются следующие параметры:

Параметр

Описание

multipart/x-mixed-replaceУказывает, что каждая следующая часть контента должна заменять собой предыдущую
boundaryУказывает текстовый разделитель между частями контента

Пример ответа:

В файле, в который осуществлялся вывод, для каждой части запрашиваемого контента будут содержаться следующие параметры:

--videoframe
Content-Type: image/jpeg
Content-Length: 93081
X-Width: 480
X-Height: 360
X-Timestamp: 0.000
X-Time: 2021-01-25T10:06:42.816+03:00

Параметры ответа:

Параметр

Описание

Content-TypeТип контента
Content-LengthРазмер части контента

X-Width

Ширина изображения

X-Height

Высота изображения

X-Time

Абсолютное время формирования фрейма

X-Timestamp

Относительное время фрейма в секундах (относительно начала потока)

Пример ответа:

В случае завершения потока по вине сервера может прийти завершающий пакет:

--videoframe
Content-Type: image/jpeg
Content-Length: 106   
<video_in>
  <sessionid>A4D98DDE-A535-49E4-9FB5-FAD441CBBA43</sessionid>
  <video_in>CAM:1</video_in>
  <newstate>closed</newstate>
  <errcode>103</errcode>
</video_in>

Параметры ответа:

Параметр

Описание

sessionid

id сессии (тот же что и при старте)

video_in

Идентификатор камеры в формате "ТИП:ИДЕНТИФИКАТОР", например, "CAM:1"

errcode

Код ошибки:

  • 100 – отсутствие ошибки.

  • 101 – слишком много подключенных пользователей.

  • 102 – неверный пароль (пароль, теоретически, могут поменять в любой момент работы).

  • 103 – видео недоступно.

  • 104 – старая версия клиента. Обновите версию.

  • No labels