IP камеры и DVR
Видео с IP-камер
Динамические изображения (Dynamic Images) – потоковое видео или снепшоты, загружаемые из ресурса в Интернете или локальной сети. В качестве ресурса может выступать DVR, IP-камера, видео-регистратор, сервер.
Поддерживаются видео-кодеки:
- JPEG / MJPEG - потоковое видео и по-кадровое получение данных от IP-камеры или регистратора кадры (снеп-шоты) - изображения *.jpg или *.png
- H.264 / MPEG-4 - видео высокой степени сжатия
Для работы нужна прямая ссылка на изображение или видео-поток (без элементов интерфейса, компонентов ActiveX и т.п.).
где найти прямую ссылку на поток с IP-камеры:
Добавим ссылку в проект iRidium:
GALLERY >
Project Gallery > Dynamic Images >
Add Dynamic Image
- добавить в проект ссылку на IP-камеру или поток с регистратора.
Пример ссылки на динамическое изображение:
http:// root:root@ 192.168.0.100 :80 /source/video.mjpg
rtsp:// root:root@ mydomain.com :554 /mpeg4/media.amp
| логин:пароль доступа к камере |
| адрес ресурса - источника видео |
| порт подключения к источнику |
| ссылка на поток данных |
Настроим ссылку в проекте:
- URI - ссылка на видео-поток (или поток кадров). Логин, пароль и порт доступа к камере можно указать в строках ниже
- Port - для JPEG/MJPEG, по умолчанию, порт: 80, для MPEG-4/H.264 порт: 554
- Login / Password - логин и пароль доступа к видео-потоку с камеры
- Refresh (мс) - переподключение к источнику видео
-
- Refresh: 0 (мс) - для потокового видео MJPEG/H.264/MPEG-4.
- Refresh: 0 (мс) - для потокового видео MJPEG/H.264/MPEG-4.
-
- Refresh: 1000...n (мс) - для по-кадровой трансляции JPEG
- Demuxer - автоматический или ручной выбор типа потока FFMPEG (для случаев, когда поток не определяется автоматически). Иногда используется при работе с Mobotix
- Probe Size : 50000 (Кб) - размер буфера данных в Кб, который приложение загрузит перед началом воспроизведения видео. По умолчанию, если оставить 0, составляет 5 Мб. Можно уменьшить для камер с малым разрешением или для медленного соединения, но, не рекомендуются значения менее 20000 Кб
- Param - строка для указания типа транспорта RTSP. Укажите
-
**rtsp_transport=tcp;**если RTSP поток с IP камеры загружается через Интернет или его качество неудовлетворительное
-
rtsp_transport=udp;или пустое поле подключает загрузку RTSP потока в локальной сети по UDP
- ScaleWidth / ScaleHeight - ширина / высота кадра для масштабирования. Если оставить пустые поля, то видео отобразится с оригинальным разрешением.
- Audio - определяет необходимость воспроизведения аудио-потока с mxpeg камеры (если таковой имеется)
Клавишей Test In Browser вы можете проверить работу JPEG/MJPEG ссылки: камера в браузере должна отображаться без элементов управления, рамок и др. программных оболочек.
Привяжем камеру к графическому элементу:
На элемент, который должен отображать поток с камеры, перетащите динамическое изображение из галереи проекта. После этого можно открыть редактирование ссылки двойным кликом на элемент, к которому она привязана.

Чтобы выбрать способ масштабирования потока с IP-камеры на графическом элементе, откройте вкладку "Stretch & Filtration" и укажите способ масштабирования для Image:
- None - не масштабировать поток с IP-камеры
- Proportional - масштабировать с сохранением пропорций
- Full Size - масштабировать без сохранения пропорций, по размеру элемента
Масштабирование изображения на стороне iRidium создает большую нагрузку на устройство визуализации, старайтесь сразу задавать желаемое разрешение в настройках IP-камеры.
Число видимых камер в вашем проекте не должно быть больше 4-5 для стабильной работы проекта iRidium. К видимым относятся все камеры, находящиеся на открытых в данный момент страницах и попапах проекта. Чем больше разрешение камеры и чем меньше ресурсов у панели управления, тем меньше камер можно отобразить.
Превышение рекомендуемого числа камер может привести к проблемам при работе всего проекта.
Через скрипт можно привязать на графический элемент только одно динамическое изображение. Это значит, что нельзя через скрипт установить одно изображение в State 1, и другое - в State 2 элемента.
Погодные информеры
Погодный информер – расположенное по статической ссылке изображение, которое с определенной периодичностью обновляется и доступно для загрузки по НТТР. Коды информеров предоставляются различными сайтами, например:
Сервис предоставляет код для вставки на сайт, из которого нам понадобится только ссылка на изображение (картинку) в формате png или jpg, она настраивается аналогично ссылке на IP-камеру в Gallery > Project Gallery > Dynamic Images:
Пример погодного информера на сайте:
Пример ссылки на погодный информер в iRidium:

- URI - ссылка на изображение, проверенная в браузере, целиком вставляется в строку URI настроек камеры.
- Refresh: 1000...n (мс) - частота обновления картинки, не указывайте меньше 1000 мс
http:// info.weather.yandex.net /moscow/3_white.ru.png
| адрес ресурса - источника видео |
| ссылка на изображение-информер |
Клавишей Test In Browser проверьте работу готовой ссылки.
Перетащите изображение на элемент. Размер элемента должен совпадать с разрешением информера для качественного отображения.
Редактировать ссылку можно по двойному клику на элемент, к которому она привязана.
PTZ контроль
PTZ контроль - это управление IP камерой или видео-регистратором по HTTP. Если ваша камера поддерживает команды PTZ, вы можете управлять ей: изменить положение камеры, если она оснащена приводом для поворота, изменить точку фокусировки, усатновить параметры записи и другое.
Команды PTZ необходимо отправлять с помощью драйвера AV & Custom Systems (HTTP), обычно они формируются как GET запросы, котрые можно отправить через барузер. Изучите REST API вашей камеры или регистратора, чтобы получить список команд PTZ, используйте этот список в соответствии с инстуркцией AV & Custom Systems (HTTP).
Видео с камер панели управления
Если i3 pro работает на iOS, Windows или Android устройстве, оснащенном фронтальной камерой (или на ноутбуке с веб-камерой), вы можете подключить отображение видео с этой камеры в проекте iRidium.
Обычно эта возможность используется при работе с SIP видео для демонстрации потока, котрый передается по протоколу SIP другому абоненту.
Чтобы отобразить видео с основной или фронтальной камеры панели управления в своем проекте, привяжите ссылку на камеру к графическому элементу и запустите получение потока. Настройка производится в редакторе скриптов (JS):
IR.AddListener(IR.EVENT_START,0,function()
{
// link the camera image to display Item
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "ir_camera://";
});
function CameraStart ()
{
// start the camera record and flip it into vertical position (if started on iPad)
IR.Camera(IR.CAMERA_RECORD, IR.CAMERA_FRONT, IR.CAMERA_RESOLUTION_MEDIUM);
IR.Camera(IR.CAMERA_FLIP_VERTICAL, 1);
}
function CameraStop ()
{
// stop the camera record
IR.Camera(IR.CAMERA_STOP);
}
Запустить и остановить демонстрацию видео вы можете, вызывая функции CameraStart и CameraStop командой ScriptCall:

То же самое можно сделать, добавив вызов функций по какому-то событию в скриптах:
IR.AddListener(IR.EVENT_APP_ENTER_FOREGROUND, 0, function()
{
CameraStart (); // start video when iRidium in foreground
});
IR.AddListener(IR.EVENT_APP_ENTER_BACKGROUND, 0, function()
{
CameraStop (); // stop video when iRidium in background
});
- Настройки видео (качество, поворот картинки и др.) формируются при создании видео-потока методом
[IR.Camera()](/SWDL/dev-iridi/Video_API#ircamera), котрый подробно описан в Справочнике по JavaScript.
SIP-видео
Во время видео-вызова SIP необходимо отображать видео-поток, присылаемый абонентом, с которым установлена связь.
Поток генерируется автоматически при установке видео-вызова средствами драйвера SIP, чтобы вывести поток, привяжите его к графическому элементу, который будет отображать видео. Привязка производится в редакторе скриптов (JS):
IR.AddListener(IR.EVENT_START,0,function()
{
// display the SIP video
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "sip_image://";
});