First stream second stream что это ip камера
Как узнать RTSP поток с IP камеры
Далеко не всегда в инструкции IP камеры указывается описание RTSP протокола, с которым работает Ваша камера. Тем не менее иногда возникает необходимость воспользоваться RTSP протоколом для подключения IP камеры к облачному серверу, настройки трансляции изображения на сайт или воспроизведения потокового видео в каком-нибудь плеере на Вашем ПК или гаджете.
Рассмотрим все возможные способы, как узнать адрес RTSP IP камеры, если он не представлен в руководстве камеры.
Если Ваша камера собрана из китайских xmeye комплектующих (что часто встречается на российском рынке, в том числе и у российских производителей ip камер HiQ, Vesta, SVplus и др бренды), то формат адреса RTSP камеры будет иметь следующий вид:
rtsp://199.255.20.999:554/user= login&password=pswrd& channel=1&stream=0.cgi
Если Ваша камера собрана из других комплектующих, то есть два способа, как узнать адрес RTSP потока Вашей камеры.
1 Способ. Самый простой способ – запросить формат адреса RTSP IP камеры у поставщика или продавца камеры. Даже если камера приобретена у китайцев (aliexpress или китайская фабрика), в большинстве случаев продавец предоставляет формат адреса RTSP камеры.
2 Способ. Если Вы не желаете или не имеете возможности связываться с продавцом и хотите узнать RTSP адрес камеры самостоятельно, скачайте и установите программу onvif device manager. Почти все IP камеры поддерживают протокол onvif, поэтому данное ПО с наибольшей вероятностью поможет Вам определить адрес RTSP потока Вашей IP камеры. IP камера и компьютер, на который будет установлено данное ПО, должны быть подключены к одной локальной сети.
Захват видео с сетевых камер, часть 2
В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.
Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.
Что такое RTSP
Рабочей лошадкой является другой протокол: RTP — Real-time Transport Protocol — транспортный протокол реального времени. С его помощью и передаются нужные нам данные. Стоит отметить, что с этим протоколом очень даже приятно работать, дело в том, что он облегчает клиентскому ПО восстановление данных после их фрагментации на канальном уровне. А также несёт в себе ещё несколько полезных полей: формат передаваемых данных, временную метку и поле синхронизации (если передаётся, например, одновременно аудио и видео). Хотя этот протокол может работать по TCP, его обычно используют с UDP из-за его ориентированности на скорость. То есть RTP данные это UDP датаграмма с заголовком и полезными данными медиа-контента (payload).
Казалось бы нам больше ничего и не нужно. Подключаемся по RTSP, забираем по RTP. Но не тут-то было, умные дяди придумали третий протокол: RTCP — Real-time Transport Control Protocol — протокол контроля за транспортом в реальном времени. Этот протокол служит для определения качества сервиса, с его помощью клиент и сервер знают как хорошо или плохо идёт передача контента. В соответствии с этими данными сервер, например, может понизить битрейт или вообще перейти на другой кодек.
Принято, что RTP использует чётный номер порта, а RTCP следующий нечётный.
Пример общения по RTSP
У меня только один источник RTSP потока — камера eVidence APIX Box M1, поэтому все примеры относятся к ней.
Ниже лог общения между плеером VLC (он правда мне очень помогает в моих исследованиях) и этой камерой. Первый запрос от VLC на порт 554 камеры. Ответ через пустую строку и начинается с «RTSP/1.0».
Первым делом VLC спрашивает камеру:
— А что я вообще могу с тобой делать? (OPTIONS)
— И тебе привет. А можешь ты меня просить сделать любое из OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY и PAUSE.
— Ладно, тогда скажи мне что у тебя есть по запросу «/jpeg»? (DESCRIBE)
— Тут у меня видео первой дорожкой идёт, M-JPEG, а второй дорожкой идёт аудио простое.
— Интересно глянуть на видео, первую дорожку, отсыпь мне его, пожалуйста в карман номер 41760, а шелуху всякую можешь в карман номер 41761 скидывать. (SETUP track1)
— ОК, по твоей команде…
— И звук тоже хочу послушать, сыпь в 7878, 7879 карманы. (SETUP track2)
— Да без проблем.
— Ну, посыпали. (PLAY)
Через некоторое время:
— Ладно, хватит, насмотрелся. (TEARDOWN)
— Как скажешь.
А ответ от сервера начинается с » RTSP/1.0 200 OK «, это прямо как » HTTP/1.1 200 OK » — знак, что всё хорошо: запрос принят, запрос понятен и не было никаких проблем в его реализации. И прямым текстом следует перечисление всех доступных методов.
Далее мы собираем информацию о том, что нас ждёт по запросу /jpeg, ведь мы именно за ним и пришли по ссылке » rtsp://192.168.0.254/jpeg «. Также указываем, что хотим получить ответ в виде SDP (строка 12).
Здесь всё достаточно очевидно. Нужны нам следующие строки:
Если мы хотим получать только видео, то из аудио данных мы игнорируем всё, кроме названия трека. Он нам нужен, чтобы настроить поток, но нас никто не заставляет этот поток принимать, однако камера отказывается работать, если игнорировать аудио полностью (если делать SETUP только для видео трека).
После команды PLAY начнётся передача видео на порт 41760 и аудио на порт 7878. И по команде TEARDOWN вещание прекращается, соединение разрывается.
MJPEG over RTP
Переносимся на один уровень инкапсуляции выше. Теперь стоит задача преобразовать получаемые видео данные в полноценное JPEG изображение. В случае MJPEG по HTTP всё просто — вырезаем кусок потока и работаем с ним сразу как с JPEG изображением. В случае же RTP изображение передаётся не полностью, JPEG заголовок опускается для экономии трафика. Его необходимо восстановить самостоятельно из прилагаемых данных.
RTCP пакет содержит в себе некоторое подмножество, он бывает четырёх типов: 201 — отчёт источника, 202 — отчёт получателя, 203 — описание источников и 204 — назначение определяется приложением. Мы должны принимать в первую очередь 201 тип, затем отправлять 202 тип. 203 и 204 необязательны, но я их тоже учитываю. В одном UDP пакете может быть несколько RTCP пакетов.
На этом введение заканчивается.
Python MJPEG over RTSP client
Вот мы и добрались до питона. Клиент состоит из нескольких файлов, main.py содержит в себе callback функцию, которая обрабатывает получаемые изображения, также он запускает механизмы сетевого фреймворка Twisted и хранит в себе параметры подключения к камере. Все листинги я привожу укороченными, полную версию можно скачать по ссылке в конце статьи.
main.py
В принципе можно работать и без реализации RTCP протокола и приёма аудио данных. В этом случае камера разрывает соединение через примерно минуту. Приходится всё время переподключаться, это делается автоматически, поэтому проблем не доставляет. Однако для статьи я дописал RTCP часть и сделал заготовку для приёма аудио данных.
В случае присутсвия аудио трека, этот модуль также запускает rtp_audio_client.py и соответствующий RTCP клиент.
Парсер RTP датаграм выглядит вот так:
rtp_datagram.py
Модуль восстановления JPEG достаточно большой, так как содержит в себе несколько таблиц и довольно длинную функцию генерации заголовка. Поэтому я их здесь опущу, предоставив только функции парсинга полезной нагрузки RTP и создания окончательного JPEG изображения.
rfc2435jpeg.py
Для корректной работы нам нужно принимать и отсылать RTCP пакеты, принимаем Sender’s Reports, отсылаем Receiver’s Reports. Для упрощения задачи мы будем отсылать наши RR сразу после приёма SR от камеры и будем в них закладывать идеализированные данные о том, что всё хорошо.
rtcp_client.py
А вот модуль работы непосредственно с RTCP датаграмами. Он получился тоже достаточно большим.
rtcp_datagram.py
Делать версию листингов с русскими коментариями уже не было сил, так что простите если кому так не удобно.
Как настроить и подключить IP камеру
Интернет-сервис ZONT может обеспечить своему пользователю просмотр потокового видео с устройств видеонаблюдения — IP камер. В личном кабинете веб-сервиса и в мобильном приложении есть опция для наблюдения в режиме реального времени. Доступ реализован через вкладку «Камеры», на которой отображается изображения с камер, передающих данные по потоковому протоколу RTSP.
Подключение и настройка проходит в несколько этапов:
RTSP (real time streaming protocol) — потоковый протокол реального времени, использующийся для удалённого просмотра потока с устройства видеонаблюдения.
Как работает передача видео с IP-камер
IP-камера снимает видео и транслирует его в реальном времени по закрытому каналу. Доступ к каналу можно получить с помощью специализированных программ при использовании RTSP-ссылки на видеопоток камеры.
Пример RTSP-ссылки для камеры Hiseeu:
rtsp://192.168.0.254:544/ user=admin&password=12345&channel=1& stream=0.sdp?real_stream—rtp-caching=100
Что нужно выяснить до подключения RTSP камеры?
Поддерживает ли камера RTSP протокол
Как правило, эта информация указана на сайте производителя в характеристиках устройства. Если такая информация отсутствует — воспользуйтесь онлайн-сервисами. Например, http://www.ispyconnect.com/:
Предоставляет ли ваш интернет-провайдер внешний статический IP-адрес
Чтобы вы имели возможность просмотреть видео с камеры из любой точки мира, вам необходимо иметь внешний IP-адрес. Внешний IP-адрес может быть постоянным или динамическим. Мы рекомендуем использовать постоянный IP-адрес, так как при смене динамического IP-адреса меняется RTSP-ссылка камеры. Из-за этого видео с камеры будет недоступно для просмотра до генерации новой RTSP-ссылки. Информацию о внешнем IP-адресе вам предоставит интернет-провайдер.
Если вы хотите, чтобы видео было доступно для просмотра только в локальной сети — используйте внутренний статический IP-адрес.
Если ваш интернет-провайдер не предоставляет внешний статический IP-адрес или вас не устраивают его условия — воспользуйтесь DDNS сервисами. Они позволяют просматривать поток камер из любой точки мира, даже если у вас нет внешнего статического IP-адреса.
Поддерживает ли камера и ваше сетевое оборудование UPnP
Чтобы видео с камер было доступно для просмотра, необходимо перенаправить внешний сетевой порт на внутренний порт вашей камеры. Функция UPnP существенно упрощает этот процесс.
UPnP — функция автоматической настройки сетевого оборудования для упрощения управления устройствами.
После включения функции UPnP порты будут перенаправлены автоматически. Если функция не поддерживается IP-камерой, роутером или что-то пошло не так с автоматической настройкой, порты можно перенаправить вручную.
Как настроить сетевое оборудование
Хотя процесс настройки схож во многих роутерах, названия параметров и настроек у разных производителей могут отличаться. Прежде чем приступать к настройке, ознакомьтесь с инструкциями к оборудованию. В статье камера будет подключаться к роутеру TP-Link (модель: TL-WR842N, версия прошивки: 150921).
Если вы подключаете IP-камеру внутри корпоративной сети — обратитесь к вашему системному администратору. Он поможет с настройкой.
Настройка роутера состоит из двух частей:
Как присвоить IP-адрес камере
Существует два способа присвоить камере постоянный IP-адрес:
В примере мы разберём первый способ.
Прежде чем приступить к резервированию IP-адреса, включите DHCP в настройках вашей IP-камеры. Процедура описана в инструкции производителя.
Процесс резервирования IP-адреса:
1. Подключите к камере кабель питания и сетевой кабель роутера.
2. Напишите в адресной строке браузера IP-адрес вашего роутера, чтобы перейти в его настройки.
IP-адрес роутера может зависеть как от настроек сети, так и от модели сетевого оборудования. Как правило, IP-адрес указан в документации вашего роутера (чаще всего это 192.168.0.1 или 192.168.1.1). Узнать его можно и с компьютера или ноутбука, подключенного к вашей сети.
При входе в настройки роутер запросит логин и пароль. Они указываются в инструкции, на коробке или корпусе устройства.
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
Если функция UPnP не поддерживается вашим оборудованием или вы хотите перенаправить порты вручную:
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-камер для каждой из них необходимо выделить и настроить свои сетевые порты.
Инструкции по настройке перенаправления портов:
Как настроить IP-камеру
Настройка IP-камеры зависит от модели и может проводиться через браузер, мобильное приложение или видеорегистратор. Поэтому при настройке видеооборудования мы рекомендуем ориентироваться на инструкции производителя.
Инструкции по настройке IP-камер:
Как получить RTSP-ссылку на видеопоток
Есть два способа получить RTSP-ссылку на видеопоток:
1 способ: При помощи документации производителя
Как правило, формат RTSP-ссылки указан в документации производителя или веб-интерфейсе камеры. Если такая информация отсутствует или вы её не смогли найти — воспользуйтесь вторым способом.
2 способ: При помощи онлайн-сервисов
1. Выберите нужную камеру из списка на сайте.
2. Заполните форму, указав внешний IP-адрес, сетевой порт, логин и пароль камеры.
Не передавайте третьим лицам данные для получения RTSP-ссылки или саму ссылку на видеопоток.
При генерации RTSP-ссылки рекомендуем указывать неверные данные и менять их на корректные после генерации. Таким образом вы себя обезопасите от перехвата ссылки на поток сторонними сервисами или кейлоггерами.
3. Нажмите Generate. Вы получите ссылку на ваш видеопоток. При необходимости подмените в ссылке неверные данные корректными.
Проверить работу RTSP-ссылки можно через VLC media player или любой плеер с возможностью просмотра потокового видео.
Как посмотреть видео с IP-камеры при помощи VLC media player
Если видео не передаётся — проблема в настройках камеры или сетевого оборудования. Проверьте все настройки.
Если оборудование настроено корректно и поток с видеокамеры всё равно не отображается — обратитесь в поддержку производителя системы видеонаблюдения.
Сохраните полученную ссылку на видеопоток. Она понадобится для добавления IP-камеры в приложение ZONT.
Еще раз о видеонаблюдении, камерах, RTSP, onvif. И «велосипед»!
Non-Interleaved Mode.
RTSP устанавливает связь и передает в камеру информацию о том «куда слать» данные (UDP порты).
Пример общения RTSP
Запоминаем
Transport: RTP/AVP;unicast;destination=10.112.28.33;source=10.112.28.231;client_port=49501-49502;server_port=6970-6971
Interleaved Mode.
Разница с Non-Interleaved Mode в том что все пакеты будут сыпаться в этот же порт.
Пример:
Запоминаем
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Теперь смотрим что и как.
Камеры шлют видео и аудио в разные RTP потоки. 2n поток — данные, 2n+1 поток — RTCP.
На видео нам идет 0 и 1 канал, на аудио 2 и 3 канал.
Теперь смотрим
Transport: RTP/AVP;unicast;destination=10.112.28.33;source=10.112.28.231;client_port=49501-49502;server_port=6970-6971
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
В первом случае указаны порты, во втором каналы.
С с Non-Interleaved Mode всё понятно. Просто RTP пакеты сыпятся в порты и их можно читать как то так:
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
s.receive(packet);
Проблемы начинаются с Interleaved mode.
По факту ни каких проблем быть не должно. По RFC мы ищем magic char «$», следующий байт — канал (он указывается в подключении 0-4 у нас) и 2 байта Length. Всего 4 байта.
Но есть не нормальные камеры. Например D-ling DCS-2103 «Досыпает» какие то данные после rtp пакета. frame дает размер 1448,
шлет 1448 фрейма, и после 827 байт какого то мусора. (Так делает Dlink DCS-2103 прошивка 1.00 и 1.20)
И такое у «них» происходит постоянно. Этим частенько страдают китайские камеры. Qihan (356) этим не страдали.
Кроме как пропускать этот мусор идей больше нет.
В RTP сыпятся полезные данные. При DESCRIBE RTSP возвращается SDP пакет
Примеры SDP (h264, mjpeg, mpeg4):
Прочитать про SDP
Так как мода была mjpeg и текущая на h264, то рассмотрим их.
С MJpeg всё предельно ясно. А вот с H264 начинаются различия в камерах.
Формат h264 состоит из блоков с NAL заголовками (7.4.1 NAL unit semantics).
Чтобы можно было декодировать h264 необходимо помимо данных самого h264 иметь данные SPS (Sequence parameter set) и PPS(Picture parameter set). Первый описывает последовательность, второй параметры картинки. Так как сам кодек h264 знаю очень плохо, то большего описания не будет. SPS имеет тип 7, PPS 8. Без них невозможно декодировать h264.
Самое интересное — Qihan шлет SPS и PPS прям в RTP пакетах, Dlink не шлет их в RTP пакетах. Но SPS и PPS шлется в SDP пакете в параметре sprop-parameter-sets в кодировке base64.
sprop-parameter-sets=Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQCgDLSpAAAAwHgAAAu4YEAAPQkAABEqjve+F4RCNQ=,aO48sA==
Шлются они через запятую
Вариант декодирования.
Так как камеры 720p или 1080p, то в 1 RTP пакет ни jpeg фрейм, ни h264 фрейм не поместится, то они режутся на пакеты.
RTP Payload Format for JPEG-compressed Video
RTP Payload Format for H.264 Video
JPEG
RTP пакет содержит main JPEG header
а дальше может варьироваться от Type и Q
Для декодирования jpeg нужно знать или вычислить quantization tables.
В моих камерах quantization tables шли в стартовом пакете Jpeg, по этому они просто брались оттуда.
Все вычисления есть в RFC.
Последний пакет фрейма вычисляется по RTP header Marker bit. Если он 1, то это последний пакет фрейма.
Single NAL Unit Packet
Это как раз SPS и PPS. Type=7 или Type=8
Если фрейм h264 не влезает в RTP пакет (1448 байт), то фрейм режется на фрагменты. (5.8. Fragmentation Units (FUs))
Type = 28
Эти заголовки следуют сразу после RTP заголовка
Для декодера h264 NAL — нужная информация. Если идет фрагментация фрейма, то NAL нужно восстанавливать. (FU)
нужно взять первые 3 бита из FU indicator и слить их с 5 последними FU header.
Теперь самое главное — сохраняем поток.
Jpeg
NON_IDR_PICTURE — необходим для декодирования, «разделяем» фреймы. (h264) Тут нужно меня поправить, так как это просто «костыль» и обоснований пока нет. Просто работает.
Получается такой поток: 00000001 + SPS + 00000001 + PPS + 00000001 + NAL…
erlyvideo: 0,0,0,1 — это префикс AnnexB записи H264. Это не часть H264 NAL-юнита, а разделитель между юнитами.
ну и обработка «всего» этого
в 2х словах. Получаем RTSP Interleaved Frame (например Channel: 0x00, 1448 bytes), читаем 1448 байт, делаем writeRawToStream, полиморфизм делает свое дело.
Дальше это нужно обкатать.
Казалось бы что для поддержания потока RTSP нужно делать RTCP отчеты, но нет, всё оказалось проще
Dlink, Qihan, VLC просто «едят» GET_PARAMETER:
шлем его раз в 55 секунд и всё.
При простом просмотре генерируется m3u файл и кормится в VLC
4
При склеивании ffmpeg клеит, после запускается VLC
5
Программа нарезает поток на файлы, интервал задается в настройках
Что делает ffmpeg:
Клеит
«Нормализует» (просчитывает заголовки и т.д.)
На выходе куча файлов
6
По хорошему можно писать в любой OutputStream
Git hub
Дальнейшей жизни программы может и не быть. Возможно допишу когда нибудь RTP классы для звука. (так как увлекаюсь до сих пор SIP)
Ну и самое вкусное.
Есть стандарт видео наблюдения ONVIF
Есть профессиональные железки, которые с камерами работают только по нему.
Есть камеры, которые работают по нему (Qihan, он же Proline), а ссылки rtsp приходится гуглить.
Есть опенсорсный продукт Onvif device manager для управления подобными железяками.
Я же в программу добавил поддержку onvif без авторизации и с авторизацией.
7
Git hub
Если пройтись по ссылкам выше, то можно получить всю документацию по Onvif.
Ответ:
Дальнейшее общение по onvif без авторизации идет в этом же ключе.
А вот пример общения но уже с авторизацией
Т.е. нужно слать заголовок. (тестилось на D-link DCS-2103, остальные камеры без авторизации работали, китай).
и пароль (Password_Digest = Base64 ( SHA-1 ( nonce + created + password ) ))
Всё было сделано в образовательных целях. Если есть вопросы и вдруг понадобиться более подробное описание чего либо — пишите.
Надеюсь кому нибудь пригодится.
PS Не надо писать в комментариях про организацию на большую букву «I». Их Server использует SQLite, SSL, avcodec (ffmpeg), а в папке \Resources есть божественный файлик с названием camera_list.json, но моя наглость не позволила его прикрутить к своей программе 🙂 Но я не видел у них поддержку Onvif, видимо потому что они выпускают «свои» камеры. UPDATED: см комментарии от ivideon
Если прикрутить к программе OpenVPN и OpenCV, то будет забавное решение и «велосипед»
Ну и вот вам полезная ссылка на базу ссылок потоков камер
Что такое протокол RTSP для IP-камер
Протокол RTSP можно использовать для передачи изображений в системах видеонаблюдения, и благодаря его совместимости с несколькими устройствами он является отличным вариантом для гибридных проектов.
В этой статье вы узнаете, что такое протокол RTSP и как его использовать для IP-камеры, цифрового рекордера (DVR) или сетевого рекордера (NVR).
Что такое протокол RTSP?
Этот протокол не был создан исключительно для видеонаблюдения, он уже использовался в других секторах, где существует необходимость в передаче в реальном времени, был принят производителями устройств видеонаблюдения и стал стандартным протоколом.
Протокол RTSP для CCTV
Производители видеонаблюдения внедряют протокол RTSP на своих камерах, рекордерах и программном обеспечении, чтобы они были совместимы с другими устройствами, доступными на рынке.
Приобретая IP-камеру и сетевой видеомагнитофон от разных производителей, вы можете общаться с ними по этому универсальному протоколу.
Для настройки оборудования необходимо выяснить, какую команду RTSP следует использовать, и эту информацию можно найти в руководстве по продукту или в службе технической поддержки.
Как использовать протокол RTSP
Представьте, что вы приобрели IP-камеру у Dahua (китайского производителя) и хотите использовать ее с сетевым рекордером (NVR), который у вас уже есть, но он принадлежит другому производителю, например Samsung.
Вам следует поискать в руководстве по эксплуатации камеры Dahua команду RTSP, которая должна использоваться для потоковой передачи видео по сети.
Если вы не найдете эту информацию в руководстве по продукту, вам следует обратиться в службу технической поддержки производителя, поскольку очень важно, чтобы вы получили правильную команду, чтобы ваше оборудование могло взаимодействовать друг с другом.
После получения этой информации вы должны вставить ее в устройство записи, которое инициирует запрос на отправку видео по этому универсальному протоколу.
На практике просто откройте меню NVR и введите команду RTSP, а затем введите имя пользователя и пароль IP-камеры, и после получения этой информации камера отправит видеопоток в реальном времени.
Как использовать протокол RTSP для облачной записи
Принцип записи видео в облаке тот же, просто используйте правильную команду RTSP, чтобы запросить камеру отправить видео на сервер, который находится где-то в Интернете.
На приведенной ниже схеме показана IP-камера, которая установлена во внутренней сети и подключена к маршрутизатору. Вам просто нужно настроить сервер записи в облаке для отправки команды RTSP через Интернет, и как только она будет получена камерой, она начнет потоковую передачу видео.
В этом примере сервер просто отправляет команду RTSP через Интернет и, достигнув внешнего интерфейса маршрутизатора, направляет его во внутреннюю сеть, где расположена камера.
Следовательно, необходимо настроить маршрутизатор и ввести правила маршрутизации, основанные на сетевых интерфейсах и портах связи.
Как проверить IP-камеру с протоколом RTSP
Существует традиционное бесплатное программное обеспечение под названием VLC, которое можно использовать для таких тестов. Диаграмма ниже показывает пример того, как его использовать.
В этом примере IP-камера подключена к маршрутизатору, который, в свою очередь, подключен к ноутбуку, который использует программное обеспечение VLC для отправки команды RTSP на камеру. Все находится в локальной сети, и поэтому нет необходимости в правилах маршрутизации (устройства подключены к внутренним портам).
В программном обеспечении VLC просто откройте меню « Media> Open Network Stream » или введите CTRL + N и вставьте команду RTSP с IP-камеры.
Команда в этом случае:
После отправки команды вы можете увидеть изображение IP-камеры прямо на ноутбуке, что подтверждает правильность используемой команды, а также правильность сетевых подключений и IP-адресов.
После этого начального теста можно перейти к более сложным тестам и использовать удаленное соединение с устройствами записи IP-камер или системами облачной записи.
Практический пример использования протокола RTSP через облако
Давайте поговорим о практическом примере использования протокола RTSP для CCTV.
Представьте себе ситуацию, когда у вас есть несколько аналоговых камер видеонаблюдения, подключенных к цифровому рекордеру (DVR), и вы намерены иметь избыточные видеозаписи. Вам просто нужно выбрать сервис, который позволяет хранить все на сервере в облаке (где-то в Интернете).
На рынке доступно множество облачных сервисов и вы можете выбрать тот, который лучше всего соответствует вашим потребностям.
В этом примере я буду использовать службы Angelcam, которые работают с различными марками устройств, а также хорошо работают с протоколом RTSP.
Настройка роутера для работы с облаком
Перед выполнением тестов с помощью команды в облаке необходимо настроить маршрутизатор, эта процедура предельно проста, достаточно использовать информацию IP и порт IP-камеры.
По сути, вы должны сообщить маршрутизатору, что он должен направлять трафик, поступающий из Интернета, на IP-камеру всякий раз, когда запрос направлен на определенный логический порт, который в случае протокола RTSP по умолчанию равен 554.
Очевидно, вам придется искать другие меню в разных моделях маршрутизаторов, обычно вы находите это меню как переадресация портов, переадресация портов или NAT.
Как настроить облачный сервер
Видеорегистратор Dahua может беспрепятственно работать с этой службой, поскольку она позволяет использовать команду RTSP, а информация, необходимая для настройки, доступна в руководстве по продукту.
В этом конкретном случае устройство представляет собой 4-канальный цифровой видеорегистратор Dahua, который использует следующую команду RTSP
Просто используйте эту команду и замените информацию об IP, порте, пользователе и пароле, и все, все будет работать в соответствии с вашей сетью. Все должно быть настроено на стороне сервера облака, и правила маршрутизации должны быть готовы на маршрутизаторе, который находится в вашей локальной сети.
Посмотрите на следующем изображении пример того, как настроить облако Angelcam. После создания учетной записи платформы на сайте https://angelcam.com войдите под именем пользователя и паролем и выберите опцию DVR и NVR.
После этого просто введите или вставьте команду RTSP, как показано на следующем рисунке
Обратите внимание, что используемая команда включает внешний IP-адрес, используемый маршрутизатором, и порт 554, который использовался в конфигурации маршрутизатора и который является стандартом DVR.
Важно понимать концепцию: команда RTSP, отправляемая облачным сервером, поступает на маршрутизатор через внешний интерфейс перед маршрутизацией в соответствии с установленными правилами, и поэтому вы должны убедиться, какой внешний IP-адрес используется маршрутизатором.
На следующем рисунке показан конечный результат подключения камеры к серверу в облаке.
В некоторых случаях вы заметите, что качество изображения может ухудшаться из-за некоторых факторов, таких как отсутствие стабильности интернет-соединения, уменьшение доступной полосы пропускания или несовместимость команд между облачным сервером или камерой.
Обязательно обновите микропрограмму IP-камеры до последней доступной версии, это поможет поддерживать совместимость с системами, которые используют RTSP в качестве облачных сервисов и рекордеры других марок.
Если у вас нет статического IP-адреса в вашей интернет-ссылке
Если у вас нет статического IP-адреса в интернет-соединении, вы можете использовать службу DDNS, доступную в Интернете, поэтому облачная служба будет продолжать работать и записывать изображения с вашей камеры, даже если произошла автоматическая смена внешнего IP-адреса. вашего роутера.
Как найти команду RTSP вашей IP-камеры
Заключительные соображения
Теперь вы уже знаете, что такое протокол RTSP и как вы можете проводить тесты и использовать его в практических ситуациях.
Я рекомендую вам выполнить локальные тесты с программным обеспечением VLC и устройствами, имеющимися в вашей сети, чтобы ознакомиться с использованием этого протокола.
Если понравилась статья поделитесь в социальных сетях, кликнув по иконкам ниже