Как настроить и подключить ip-камеру к системе безопасности ajax
Содержание:
- Способ 8 — Android приложение, WebRTC
- Возможности приложения Ajax при просмотре видеопотоков
- Интеграция по протоколу RTSP.
- Подключаем IP камеру к роутеру и к облаку по RTSP для записи видео
- Результаты
- Способ 5 — WebRTC
- Как узнать RTSP адрес
- Как работает передача видео с IP-камер в приложения Ajax
- Способ 1 — RTMP
- Как получить поток RTSP с камеры
- Способ 6 — Websockets
- Как настроить сетевое оборудование
- Что нужно выяснить до подключения RTSP камеры?
Способ 8 — Android приложение, WebRTC
Приложение забирает поток с сервера по WebRTC. Задача сервера в этом случае — сконвертировать RTSP в WebRTC и скормить мобильному приложению.
Java-код плеера для Android находится здесь и выглядит так:
SessionOptions sessionOptions = new SessionOptions("wss://192.168.88.59:8443"); Session session = Flashphoner.createSession(sessionOptions); StreamOptions streamOptions = new StreamOptions("rtsp://192.168.88.5/live.sdp"); Stream playStream = session.createStream(streamOptions); playStream.play();
Тестовое мобильное приложение плеера можно установить из Google Play, а исходники приложения скачать здесь.
Так выглядит воспроизведение RTSP потока по WebRTC на планшете Asus под Android:
Возможности приложения Ajax при просмотре видеопотоков
При просмотре видеопотоков в приложении Ajax видео не ухудшается в качестве. Качество видео зависит от камеры и её настроек.
В некоторых камерах в RTSP-ссылке можно указать качество видео.
Для просмотра видео нажмите на иконку потока в приложении Ajax.
Чтобы развернуть поток на весь экран, смените ориентацию смартфона на горизонтальную. При этом функция автоповорота должна быть включена в настройках смартфона.
Чтобы поставить видео на паузу, нажмите кнопку паузы.
Чтобы сделать фото, нажмите на кнопку, отмеченную на скриншоте. Скриншот сохраняется в память смартфона.
Изображение с камеры также можно масштабировать жестом «щипок».
Подключённые IP-камеры работают независимо от хаба. Если хаб потеряет связь с сервисом Ajax Cloud, а камеры или регистратор продолжат работать — видеопотоки будут доступны для просмотра в приложении Ajax.
В настройках камеры
Интеграция по протоколу RTSP.
RTSP (Real Time Streaming Protocol) — потоковый протокол реального времени, предназначенный для использования в системах, работающих с мультимедиа данными. Протокол позволяет передавать видеоизображение и звук. Передача звука зависит от возможностей и конкретной реализации оборудования и ПО. Для получения изображения от камеры в соответствующем меню оборудования или ПО необходимо ввести команду. Команды для получения видео и звука различаются, и имеют следующие форматы:
Получение видео: rtsp:// логин пароль @ ip-адрес камеры порт камеры / live / кодек разрешение
Получение видео и звука: rtsp:// логинпароль @ ip-адрес камеры порт камеры / live / кодек_ulaw / разрешение
Варианты кодеков: H.264, MPEG4, MJPEG.
Разрешения: 1080p (1920×1080), SXGA(1280×1024), 720P(1280×720), VGA(640×480), QVGA (320×240).
Примеры: rtsp://admin:admin@192.168.0.10:88/live/h264/vga или rtsp://user:parol@192.168.0.10:88/live/mjpeg_ulaw/sxga
Протокол RTSP поддерживает большинство производителей профессионального IP видеооборудования и ПО. По RTSP протоколу вы можете получить изображение используя компьютерные медиа проигрыватели, такие как Windows Media Player, QuickTime, Skype, Winamp, VLC media player, RealPlayer и многие другие.
Подключаем IP камеру к роутеру и к облаку по RTSP для записи видео
1451 просмотровИнтернет 24 Фев 2019
В статье опишу самый простой способ организации IP видеонаблюдения через интернет, и с помощью приложения, которое будет слать уведомления о движении.
Что нужно для этого?
- IP камера с поддержкой RTSP протокола;
- Роутер Mikrotik (можно любой роутер, в моем случае именно такой);
- Патчкорд нужной длинны;
- Пара POE инжекторов (для того, что бы пустить питание по патчкорду без лишних проводов);
- Блок питания на 12 Вольт и не меньше 1 Ампера для одной камеры;
- Перфоратор или дрель, в зависимости от того, куда будете крепить камеру;
- Белый IP адрес выданный провайдером;
- Облачный сервис для IP видеонаблюдения, который поддерживает RTSP проктокол;
- Сразу продумайте как прокладывать кабель, будете ли прятать соединения возле камеры в специальную коробочку, нужен ли кабель канал.
Подключили? Теперь нужно правильно настроить подключение камеры в роутере:
Присваиваем камере постоянный локальный IP адрес. В Mikrotik для этого нужно зайти в IP -> ARP. В открывшемся окошке нажимаем правой кнопкой на IP с MAC-адресом камеры и выбираем «Make Static».Так не будет меняться IP у камеры внутри нашей сети, если камеру отключить и снова подключить. Плюс по этому IP всегда будет доступ к настройкам камеры в веб-интерфейсе (т.е. просто внутри локальной сети, открываете браузер, вводите локальный IP камеры и попадаете в её настройки).
Следующий шаг, это сетевые настройки в самой камере
По назначенному локальному IP адресу камеры заходим в браузере в настройки камеры. Настройки многих камер открываются только в Internet Explorer, учтите это (кстати вот статья о том, как открыть Internet Explorer в Windows 10). У разных камер, разный интерфейс настроек. Просто покажу пример сетевых настроек своей камеры с кратким разъяснением.
Проверяем работу RTSP внутри локальной сети
После назначения постоянного IP вашей камере, можно проверить работу видеопотока через RTSP протокол внутри локальной сети. Для этого нужно знать какая правильная ссылка rtsp:// для камеры, так как у разных производителей камер по разному. Эту информацию можно найти в инструкции к камере, на сайте производителя камеры или погуглить.У моей камеры она выглядит так rtsp://admin:123456@192.168.88.
12:554/mpeg4 (admin — логин камеры, 123456 — пароль камеры, 192.168.88.12 — локальный IP камеры, 554 — порт RTSP в камере, почти во всех камерах именно такой, mpeg4 — видеокодирование, в моей камере оно указывается обязательно, в других камерах может указываться по другому).
Устанавливаем VLC плеер -> Запускаем и нажимаем вверху «Медиа» -> выбираем «Открыть URL…» -> в поле «Введите сетевой адрес» введите rtsp ссылку -> нажмите «Воспроизвести». Должна открыться трансляция с камеры.
Открываем видеопоток по RTSP из внешнего интернета
К камере должен быть доступ извне по RTSP протоколу. Для этого нужно сделать проброс портов на 554 порт камеры. Гуглите, что бы узнать как сделать проброс портов в конкретном роутере (обычно это не сложно). В Mikrotik это немного сложнее:
- Заходим в IP -> Firewall.
- Во вкладке Filter Rules нужно хотя бы временно отключить запрещающие фильтры. (это отдельная обширная тема в Микротиках, просто отключите всё, кроме верхнего правила, или погуглите о Filter Rules в Микротиках)
- Во вкладке NAT обязательно должно быть сначала правило маскарадинга, а после него правило переброса. Создадим их.
- Сначала маскарадинг: нажимаем Add -> во вкладке General в пункте Chain выбираем srcnat -> во вкладке Action выбираем masquerade -> нажимаем Apply и OK.
- Переброс на 554й порт камеры: нажимаем Add -> во вкладке General выбираем dstnat -> в пункте Protocol выбираем tcp -> в пункте Dst. Port пропишите 554 -> в пункте In. Interface выберите в какой порт подключен кабель интернета, зачастую это ether1 -> во вкладке Action в пункте Action выберите dst-nat -> в пункте To Addresses пропишите локальный IP камеры -> в пункте To Ports пропишите 554.
В итоге должно получится как на скриншоте:
Подключаем IP камеру к облачному сервису по RTSP протоколу
Сделав проброс 554 порта для видимости RTSP видеопотока во внешний интернет, можно подключить камеру к облачному сервису видеонаблюдения. Заодно проверим всё ли работает.Я выбрал сервис ipeye.ru, там простой интерфейс, бесплатная трансляция и недорогая видеозапись, плюс есть приложение оповещающее о движении и запись так же по движению. Главное, что поддерживает RTSP
Результаты
Подведем итоги и объединим полученные результаты в табличку:
Способ отображения
Применение
Задержка
1
RTMP
Там, где важно использование legacy — флэш клиента, Flex или Adobe Air
medium
2
RTMP + HTML5
В браузерах IE, Edge, Mac Safari, если там установлен Flash Player
medium
3
RTMFP
Там, где важно использование legacy — флэш клиента, Flex или Adobe Air и важна низкая задержка
low
4
RTMFP + HTML5
В браузерах IE, Edge, Mac Safari, если там установлен Flash Player и важна низкая задержка.
low
5
WebRTC
В браузерах Chrome, Firefox, Opera на десктопах и мобильных браузерах под Android, где важна real-time задержка.
real-time
6
Websocket
В браузерах, где нет Flash и WebRTC, но нужна средняя или низкая задержка.
medium
7
HLS
Во всех браузерах. Где не важна задержка.
high
8
Android app, WebRTC
В нативных мобильных приложениях под Android, где требуется real-time задержка.
real-time
9
iOS app, WebRTC
В нативных мобильных приложениях под iOS, где требуется real-time задержка.
real-time. Для тестирования мы использовали сервер Web Call Server 5, который конвертирует RTSP поток для раздачи в 9 перечисленных направлениях
Для тестирования мы использовали сервер Web Call Server 5, который конвертирует RTSP поток для раздачи в 9 перечисленных направлениях.
Способ 5 — WebRTC
В данном случае Flash не используется совсем и видеопоток проигрывается средствами самого браузера, без использования сторонних плагинов. Это работает и в Android Chrome и Android Firefox — мобильных браузерах, где Flash не установлен. WebRTC дает самую низкую задержку — менее 0.5 секунды.
Код плеера тот же:
var session = Flashphoner.createSession({urlServer:"wss://192.168.88.59:8443"}); session.createStream({name:"rtsp://192.168.88.5/live.sdp", display:myVideo}).play();
Автоматически определяется поддержка WebRTC, и если поддерживается то поток играет по WebRTC.
Как узнать RTSP адрес
Ссылка может находиться в документации или явно указываться в веб-интерфейсе устройства. Если известно, что камера точно поддерживает RTSP, но параметры нигде явно не указаны, их придется выяснять:
- На сайте разработчика.
- Запросить напрямую у производителя или поставщика. Как правило, по запросу они такую информацию предоставляют, с этим нет проблем даже у китайских вендоров с AliExpress.
- Распознать камеру с помощью протокола ONVIF, который поддерживается практически всеми моделями.
Для последнего потребуется ПО Onvif Device Manager, компьютер под управлением Windows и сама камера.
Device Manager умеет конфигурировать видеосервер, захватывать видео и так далее, но самая важная функция этой программы в данном случае — WS-Discovery, обнаружение устройств в сети.
Когда вы скачали и поставили программу, нужно сделать следующее:
- запустить ее и нажать внизу кнопку Refresh. Начнется процесс поиска;
- когда камера обнаружится, выбрать в меню пункт Live Video;
- под картинкой будет адрес rtsp-ссылки, который можно скопировать для дальнейшего использования.
Как работает передача видео с IP-камер в приложения Ajax
IP-камера снимает видео и транслирует его в реальном времени по закрытому каналу. Доступ к каналу можно получить с помощью специализированных программ при использовании RTSP-ссылки на видеопоток камеры. Приложения Ajax получают доступ к видео обращаясь к камере по этой ссылке.
Пример RTSP-ссылки для камеры Hikvision:
расшифровка ссылки:
- rtsp — тип протокола
- admin — логин учётной записи Hikvision
- 12345 — пароль учётной записи Hikvision
- 192.168.200.11 — IP-адрес камеры
- 554 — RTSP порт камеры
- 101 — идентификатор номера камеры и канала. Первая цифра: номер камеры (если используется видеорегистратор), последняя: номер видеопотока (201 означает первый поток второй камеры).
Всего к системе безопасности Ajax можно подключить:
Способ 1 — RTMP
RTMP протокол браузеры не поддерживают, но его поддерживает старый добрый Flash Player, который работает неплохо, хоть и не во всех браузерах, и может отобразить видеопоток.
Код плеера в этом случае будет построен на Action Script 3 и выглядеть примерно так:
var nc:NetConnection = nc.connect("rtmp://192.168.88.59/live",obj); var subscribeStream:NetStream = new NetStream(nc); subscribeStream.play("rtsp://192.168.88.5/live.sdp");
В этом примере:
rtmp://192.168.88.59/live — это адрес промежуточного сервера, который заберет RTSP видеопоток с камеры и конвертирует его в RTMP
rtsp://192.168.88.5/live.sdp — это RTSP адрес самой камеры.
Немного избыточный вариант кода плеера на Flex и AS3 доступен здесь.
Выглядит это так:
Как получить поток RTSP с камеры
Чтобы просматривать видео и захватывать звук посредством этой технологии, необходима поддержка RTSP на стороне камеры. Этот протокол поддерживают многие образцы имеющихся на рынке устройств, но в документации возможность описана не всегда.
Если поддержка заявлена, то в инструкции будут прописаны настройки для доступа к трансляции. Они представляют собой ссылку для подключения в следующем формате:
Здесь rtsp — указание на протокол подключения, addr — IP-адрес камеры. Через двоеточие указан порт. Последний может отличаться, если в настройках указан отличный от «дефолтного».
Далее следуют user и password — логин пользователя и пароль для подключения (их может и не быть). После них указываются дополнительные параметры, который у разных камер могут отличаться.
Способ 6 — Websockets
WebRTC и Flash не покрывают все браузеры и платформы. Например, в браузере iOS Safari эти технологии не поддерживаются.
На iOS Safari можно доставить видеопоток по транспорту Websocket (TCP соединению между браузером и сервером). В этот туннель можно завернуть сконвертированный с RTSP видеопоток. После того, как бинарные данные придут их можно декодировать с помощью JavaScript и отрисовать на Canvas HTML5-элементе.
Именно этим занимается Websocket — плеер при работе в браузере iOS Safari, а его код снаружи выглядит также:
var session = Flashphoner.createSession({urlServer:"wss://192.168.88.59:8443"}); session.createStream({name:"rtsp://192.168.88.5/live.sdp", display:myVideo}).play();
Это чем-то похоже на подход с флэшкой, когда под HTML5 лежит swf-элемент. В данном случае, под HTML5-страницей лежит не swf-объект, а JavaScript-приложение, которое тянет данные по вебсокетам, декодирует и отрисовывает на Canvas в нескольких потоках.
Так выглядит RTSP поток на Canvas в браузере iOS Safari
Как настроить сетевое оборудование
Хотя процесс настройки схож во многих роутерах, названия параметров и настроек у разных производителей могут отличаться. Прежде чем приступать к настройке, ознакомьтесь с инструкциями к оборудованию. В статье камера будет подключаться к роутеру TP-Link (модель: TL-WR842N, версия прошивки: 150921).
Если вы подключаете IP-камеру внутри корпоративной сети — обратитесь к вашему системному администратору. Он поможет с настройкой.
- Резервирование IP-адреса за камерой.
- Перенаправление сетевых портов.
Как присвоить IP-адрес камере
Существует два способа присвоить камере постоянный IP-адрес:
- В настройках роутера
- В настройках камеры
В примере мы разберём первый способ.
Прежде чем приступить к резервированию IP-адреса, включите DHCP в настройках вашей IP-камеры. Процедура описана в инструкции производителя.
Процесс резервирования IP-адреса:
1. Подключите к камере кабель питания и сетевой кабель роутера.
2. Напишите в адресной строке браузера IP-адрес вашего роутера, чтобы перейти в его настройки.
IP-адрес роутера может зависеть как от настроек сети, так и от модели сетевого оборудования. Как правило, IP-адрес указан в документации вашего роутера (чаще всего это 192.168.0.1 или 192.168.1.1). Узнать его можно и с компьютера или ноутбука, подключенного к вашей сети.
Как узнать IP-адрес роутера в Windows
1. Откройте командную строку
Первый способ: одновременно нажмите WIN и R , введите cmd и нажмите Enter.
Второй способ: войдите в меню Пуск, введите в поле поиска командная строка и выберите её в результатах поиска.
2. Введите команду ipconfig и нажмите Enter. IP-адрес роутера будет указан в строке Основной шлюз.
Как узнать IP-адрес роутера в macOS
- Откройте Системные настройки.
- Выберите меню Сеть и нажмите кнопку Дополнительно.
- Откройте вкладку TCP/IP. IP-адрес вашего роутера указан в строке Маршрутизатор.
При входе в настройки роутер запросит логин и пароль. Они указываются в инструкции, на коробке или корпусе устройства.
3. Перейдите в настройки DHCP. Если DHCP выключен — включите функцию и перезагрузите роутер.
4. Перейдите в DHCP Client List. Вы увидите список подключенных к роутеру устройств. В нем необходимо определить вашу камеру и скопировать её MAC-адрес.
В большинстве случаев камера подписана Unknown или имеет название модели или марки производителя.
5. Перейдите в меню Address Reservation и нажмите Add New. Вставьте МАС-адрес камеры и задайте ей IP-адрес. Чтобы избежать конфликтов IP-адресов мы рекомендуем зарезервировать за камерой тот IP-адрес, который был выдан ей роутером автоматически. Учитывайте, что при подключении нескольких камер необходимо резервировать IP-адрес для каждой из них.
Резервирование IP-адреса необходимо, чтобы IP-адрес камеры не менялся после её переподключения или перезагрузки роутера.
6. Перезагрузите или переподключите к роутеру IP-камеру. Теперь она имеет статический IP-адрес внутри вашей сети.
Как перенаправить сетевые порты
Если у вашего оборудования есть функция UPnP — включите её в настройках IP-камеры и роутера. После этого порты будут перенаправлены автоматически.
Как включить функцию UPnP на роутере TP-link
- Перейдите в настройки роутера.
- Выберите категорию Forwarding.
- Перейдите во вкладку UPnP и нажмите Enable, если опция была отключена.
1. В настройках роутера перейдите в раздел Forwarding. Выберите Port Triggering и нажмите Add New.
2. Укажите сетевые порты: внутренний (который используется камерой внутри сети, значение указано в инструкции производителя) и внешний (который будет доступен из внешнего мира).
Не рекомендуется использовать такие сетевые порты: 20, 21, 22, 53, 80, 110, 138, 139, 443, 3306, 3128, 3389, 5900, так как они чаще всего используются различными служебными сервисами.
Учитывайте, что внешний порт должен быть доступным (открытым в настройках роутера и не занятым каким-либо сервисом). Проверить это можно при помощи онлайн-сервисов, например: 2ip.ru. Если у вас возникли проблемы с определением открытого порта — обратитесь к вашему интернет-провайдеру.
По умолчанию IP-камеры используют 554 порт, но номер порта может отличаться у разных производителей. Точное значение можно узнать в инструкции устройства.
3. Сохраните настройки и перезагрузите роутер. Порты перенаправлены.
При подключении нескольких IP-камер для каждой из них необходимо выделить и настроить свои сетевые порты.
Что нужно выяснить до подключения RTSP камеры?
Поддерживает ли камера RTSP протокол
Как правило, эта информация указана на сайте производителя в характеристиках устройства. Если такая информация отсутствует — воспользуйтесь онлайн-сервисами. Например, http://www.ispyconnect.com/:
- Выберите производителя камеры.
- Найдите вашу модель устройства. Если устройства нет в списке, оно не поддерживает этот протокол и подключить её к системе безопасности Ajax при помощи RTSP ссылки не получится.
Предоставляет ли ваш интернет-провайдер внешний статический IP-адрес
Чтобы вы имели возможность просмотреть видео с камеры из любой точки мира, вам необходимо иметь внешний IP-адрес. Внешний IP-адрес может быть постоянным или динамическим. Мы рекомендуем использовать постоянный IP-адрес, так как при смене динамического IP-адреса меняется RTSP-ссылка камеры. Из-за этого видео с камеры будет недоступно для просмотра до генерации новой RTSP-ссылки. Информацию о внешнем IP-адресе вам предоставит интернет-провайдер.
Если вы хотите, чтобы видео было доступно для просмотра только в локальной сети — используйте внутренний статический IP-адрес.
Если ваш интернет-провайдер не предоставляет внешний статический IP-адрес или вас не устраивают его условия — воспользуйтесь DDNS сервисами. Они позволяют просматривать поток камер из любой точки мира, даже если у вас нет внешнего статического IP-адреса.