Как узнать rtsp камеры

Как работать с RTSP-потоком

Для направления RTSP-потока с IP-камеры к указанному получателю контента требуется знание настроек сети и команд соответствующих протоколов. Выбор RTSP обусловлен широкой поддержкой большинством IP-камер и NVR.

Описание технологии

Технология RTSP представляет собой специализированный протокол, реализующий удаленное управление оборудованием и мультимедийным потоком, генерирование запросов сервером и клиентом. Команды протокола RTSP позволяют подключать удаленные IP-камеры к системам сигнализации, запускать, останавливать, перенаправлять, переводить в режим паузы поток данных. Команды протокола устанавливают доступ к файлам на удаленном хранилище, параметры трансляции и пересылки видео на локальный плеер, компьютер или смартфон. Технология, разработанная в 1998 г., описана в RFC 2326.

Назначение протокола RTSP

Основное назначение Real Time Streaming Protocol (RTSP) состоит в управлении потоком данных и работе оборудования в онлайн-режиме. На этом возможности протокола исчерпываются. Необходимость его использования вызвана возросшей нагрузкой на компьютерные оборудование и сети, которая порой достигает их расчетной пропускной способности.

Способы узнать адрес камеры

В руководстве пользователя некоторых IP-камер не указываются технические характеристики и способ подключения. В этой ситуации IP-адрес определяется самостоятельно. Имеются такие способы получения адреса потока:

Обработка и открытие потока для просмотра

Технология позволяет обрабатывать произвольные потоки по запросу. Допускается использовать поток RTSP для генерации по запросу нового потока HLS и RTMP. Эта обработка может понадобиться, если нет необходимости в круглосуточной передаче данных. Данный метод выгоден, когда требуется эпизодический просмотр видео из разных источников. Переключение между потоками видео осуществляется с помощью сервера.

Просмотр на ПК

Для просмотра потокового видео на десктопе требуется произвести настройку камеры, подключенной к роутеру. Изменение и установка параметров выполняются через web-интерфейс. Для созданных RTSP исходящих потоков применим алиасинг, позволяющий в онлайн-режиме настраивать параметры безопасности. Главная задача протокола — выбрать, какие аудио- и видеоданные должны передаваться клиенту для дальнейшей обработки.

Открытие в браузере

Браузеры не работают с протоколами UDP и RTSP, однако поддерживают WebRTC. IP-камеры, напротив, могут пользоваться UDP и RTSP, но не «понимают» стек протоколов WebRTC. Рассогласование возможностей устраняется промежуточным сервером, выполняющим роль моста между источником потокового видео и браузером.

Протокол UDP обеспечивает малое время задержки WebRTC в направлении от ретранслятора к браузеру. Тот же UDP устраняет задержки пакетов между источником и RTSP servers. Скорость передачи потокового видео в данной системе определяется возможностями UDP-пакетов и производительностью сервера.

Специальные приложения

Знание адреса потока позволяет получать данные непосредственно от источника, без захода на сайт. Для трансляции потокового видео требуется выполнить шаги:

Желательно получить статический IP у провайдера. После этого настраивается переадресация и проброс локальных портов источника. Проверка осуществляется запуском VLC или аналогичного плеера. В меню программы выбирается «Медиа» и далее пункт «Открыть URL». Затем во вкладке «Сеть» указывается своя ссылка с соблюдением формата адреса.

Источник

Как настроить и подключить 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.

Источник

VLC — как смотреть RTSP поток с камеры

Чтобы обеспечить потоковое вещание VLC RTSP, сначала необходимо настроить медиа-проигрыватель. Воспроизведение и захват RTSP-потока востребованы в системах охраны, где организовано круглосуточное видеонаблюдение. Из плеера VLC на IP-камеру можно посылать команды-инструкции для управления видеосъемкой. Узнаем, что нужно для настройки и как работает RTSP в медиа плеере.

VLC – как смотреть RTSP поток с камеры

RTSP (RealTimeStreamingProtocol) представляет собой протокол передачи видеопотока. Описываемые им команды способны сообщать видеокамере разные действия: остановка, трансляция данных, изменение режима, скорости записи/ чтения, доступ по времени к файлам, находящимся на сервере. В маркировке IP-камеры или видеорегистратора может быть указано «RTP» или «UDP». Это обозначение механизма передачи видеоинформации. Данный вид съемки может быть организован:

Замечание. Каждый производитель устройства видеозаписи имеет разный вид запроса RTSP. Эти данные необходимо уточнять у изготовителя прибора.

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

К VLC MediaPlayer можно подключать IP-камеры, работающие по LAN или беспроводной сети. Пример обращения VLC проигрывателя по RTSP к видеокамере или серверу может выглядеть так. rtsp:// boss: psw @172.27.0.60: 582/ cam1.sdp

Таким запросом происходит обращение к веб камере D-link DSC-2103. Компьютер запрашивает по RTSP у видеоустройства информацию, записанную в файл с названием «cam1.sdp». Если требуется получить еще один видеопоток с этой же камеры, то «cam1.dsp» в запросе меняется на «cam2.dsp». Иначе будет выглядеть запрос к видеорегистратору Polyvision: rtsp:// 172.27.0.162: 592/usr= adm&pass= qwe321&channel= 1&stream= 1.sdp?real_stream

Важно! При передаче логина и пароля в строке параметров, они остаются в кэше на сервере. Эти данные могут быть перехвачены. Поэтому для RTSP-запроса рекомендуется использовать учетную запись (логин/пароль) без административных прав.

Просмотр трансляции в VLC по RTSP

VLC Media Player работает с любыми регистраторами и веб-камерами. Для того чтобы просматривать VLC RTSP поток с камеры на персональном компьютере, понадобится настроить медиа-плеер. Все действия выполняем согласно следующей инструкции.

После нажатия кнопки «Воспроизвести» начнется потоковая трансляция видеозаписи с камеры или регистратора. Также есть возможность использовать протокол HTTP для передачи или приема видеопотока. В этом случае потребуется иметь статический IP-адрес персонального компьютера. Его можно прописать в настройках локальной сети. Обычно это IPv4. После задания правильного адреса из сети интернет-провайдера станет доступна организация HTTP-потока в VLC.

Передача видеопотока по RTSP в VLC

Разберем теперь, как организовать VLC трансляцию RTSP. Здесь также нужно обратиться к настройкам при выборе видеоустройства.

Таким же способом можно подключиться к трансляции с другого ПК. Потребуется знать только IP-адрес компьютера. Можно транслировать сразу несколько файлов, по-очереди. Доступна передача мультимедиа не только из файла, но и с устройства ipcamera, микрофона, видеорегистратора или просто экрана монитора.

Примечание. В «живой» потоковой передаче нельзя использовать перемотку или поставить видео на паузу.

Проверка RTSP-потока

Чтобы проверить, успешно ли началась трансляция можно использовать любо другой медиа-проигрыватель, либо просто еще один VLC. Плеер должен имет ьвосзможность принимать потоковое видео.

Для организации потокового RTSP-вещания с видеокамеры, ПК или другого устройства потребуется знать только IP-адрес, а также как открыть или передать трансляцию. Если адрес устройства неизвестен, можно воспользоваться любой поисковой системой. В строке поиска вводим запрос «мой IP адрес» и получаем результат.

Обязательное условие потокового вещания RTSP через VLC – камера и ПК должны находиться в одной локальной сети. Видеопоток можно выводить на экран телевизора или передать трансляцию с видеокамеры на веб-ресурс.

Источник

Еще раз о видеонаблюдении, камерах, 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, то будет забавное решение и «велосипед»
Ну и вот вам полезная ссылка на базу ссылок потоков камер

Источник

Обучающий проект