Как посмотреть видеопоток с камер на компьютере
Далеко не всегда в инструкции 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
- 199.255.20.999 – IP адрес Вашей камеры
- 554 – RTSP порт камеры (можно изменить в настройках камеры)
- login – логин пользователя камеры (можно использовать пользователя «admin», но для настройки потокового видео по RTSP протоколу лучше создать специального пользователя в настройках камеры, который будет иметь ограниченные права доступа)
- pswrd – пароль пользователя
Если Ваша камера собрана из других комплектующих, то есть два способа, как узнать адрес RTSP потока Вашей камеры.
1 Способ. Самый простой способ – запросить формат адреса RTSP IP камеры у поставщика или продавца камеры. Даже если камера приобретена у китайцев (aliexpress или китайская фабрика), в большинстве случаев продавец предоставляет формат адреса RTSP камеры.
2 Способ. Если Вы не желаете или не имеете возможности связываться с продавцом и хотите узнать RTSP адрес камеры самостоятельно, скачайте и установите программу onvif device manager. Почти все IP камеры поддерживают протокол onvif, поэтому данное ПО с наибольшей вероятностью поможет Вам определить адрес RTSP потока Вашей IP камеры. IP камера и компьютер, на который будет установлено данное ПО, должны быть подключены к одной локальной сети.
RTSP (англ. Real Time Streaming Protocol - потоковый протокол реального времени) –протокол, в котором описаны команды для управления видеопотоком.
3 Способ. Вы можете найти URL адрес RTSP потока Вашей IP камеры в специальной статье - URL адреса RTSP и порты IP камер разных производителей
Чтобы обеспечить потоковое вещание VLC RTSP, сначала необходимо настроить медиа-проигрыватель. Воспроизведение и захват RTSP-потока востребованы в системах охраны, где организовано круглосуточное видеонаблюдение. Из плеера VLC на IP-камеру можно посылать команды-инструкции для управления видеосъемкой. Узнаем, что нужно для настройки и как работает RTSP в медиа плеере.
VLC – как смотреть RTSP поток с камеры
RTSP (RealTimeStreamingProtocol) представляет собой протокол передачи видеопотока. Описываемые им команды способны сообщать видеокамере разные действия: остановка, трансляция данных, изменение режима, скорости записи/ чтения, доступ по времени к файлам, находящимся на сервере. В маркировке IP-камеры или видеорегистратора может быть указано «RTP» или «UDP». Это обозначение механизма передачи видеоинформации. Данный вид съемки может быть организован:
- через локальную сеть;
- по беспроводной технологии Wi-Fi.
Замечание. Каждый производитель устройства видеозаписи имеет разный вид запроса RTSP. Эти данные необходимо уточнять у изготовителя прибора.
Пример запроса RTSP
К VLC MediaPlayer можно подключать IP-камеры, работающие по LAN или беспроводной сети. Пример обращения VLC проигрывателя по RTSP к видеокамере или серверу может выглядеть так. rtsp:// boss: psw @172.27.0.60: 582/ cam1.sdp
- boss – имя пользователя (логин);
- pass – пароль;
- 27.0.60 – IP-адрес камеры в сети LAN или Wi-Fi;
- 582 – номер порта, для протокола RTSP;
- cam1 – видеопоток видео от веб-камеры.
Таким запросом происходит обращение к веб камере 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
- channel = 1 – номер канала для передачи данных;
- 1 – номер видеопотока (в данном случае второй поток).
Важно! При передаче логина и пароля в строке параметров, они остаются в кэше на сервере. Эти данные могут быть перехвачены. Поэтому для RTSP-запроса рекомендуется использовать учетную запись (логин/пароль) без административных прав.
Просмотр трансляции в VLC по RTSP
VLC Media Player работает с любыми регистраторами и веб-камерами. Для того чтобы просматривать VLC RTSP поток с камеры на персональном компьютере, понадобится настроить медиа-плеер. Все действия выполняем согласно следующей инструкции.
- Открыть проигрыватель VLC, выбрать раздел меню «Инструменты», затем пункт «Настройки».
- Перейти во вкладку «Ввод/кодеки» нажатием значка вверху справа.
- Пролистать страницу вниз. В разделе «Сеть» найти подпункт «Транспорт потока Live 555», установить переключатель в положение «RTP поверхRTSP (TCP)». Нажать на кнопку «Сохранить».
- Выбрать в меню раздел «Медиа», затем пункт «Открыть URL…».
- В поле указания сетевого адреса ввести параметры для соединения с устройством видео-регистрации. Сетевые параметры необходимо уточнить у производителя техники.
Передача видеопотока по RTSP в VLC
Разберем теперь, как организовать VLC трансляцию RTSP. Здесь также нужно обратиться к настройкам при выборе видеоустройства.
- После выбора медиа-файла, нажать стрелке рядом с кнопкой «Воспроизвести» и выбрать команду «Поток».
- В появившемся окне ознакомиться с информацией по работе «мастера» и нажать кнопку «Следующий».
- Напротив надписи «Новое значение» указать «RTSP». Выбрать «Добавить».
- В открывшемся диалоговом окне рекомендуется оставить параметры потоковой трансляции по умолчанию. Жмем кнопку продолжения.
- На следующей странице оставить настройки перекодирования, как есть, и перейти к следующему шагу.
- Здесь настраиваются дополнительные настройки вещания (ffmpeg). Данные записаны в строке вывода для генерации потока. Это кодеки, каналы передачи и другие свойства. Нажимаем по кнопке «Поток» для старта видеотрансляции.
- Если все выполнено правильно, начнется потоковая передача видео из указанного источника.
Таким же способом можно подключиться к трансляции с другого ПК. Потребуется знать только IP-адрес компьютера. Можно транслировать сразу несколько файлов, по-очереди. Доступна передача мультимедиа не только из файла, но и с устройства ipcamera, микрофона, видеорегистратора или просто экрана монитора.
Примечание. В «живой» потоковой передаче нельзя использовать перемотку или поставить видео на паузу.
Проверка RTSP-потока
Чтобы проверить, успешно ли началась трансляция можно использовать любо другой медиа-проигрыватель, либо просто еще один VLC. Плеер должен имет ьвосзможность принимать потоковое видео.
- Запустить второй проигрыватель (здесь VLC). Выбрать пункт «Открыть URL…» и раздела меню «Медиа».
- Прописать в появившемся окне локальный IP-адрес компьютера, порт, путь и префикс «rtsp://» в начале строки. Нажимаем кнопку воспроизведения трансляции.
Для организации потокового RTSP-вещания с видеокамеры, ПК или другого устройства потребуется знать только IP-адрес, а также как открыть или передать трансляцию. Если адрес устройства неизвестен, можно воспользоваться любой поисковой системой. В строке поиска вводим запрос «мой IP адрес» и получаем результат.
Обязательное условие потокового вещания RTSP через VLC – камера и ПК должны находиться в одной локальной сети. Видеопоток можно выводить на экран телевизора или передать трансляцию с видеокамеры на веб-ресурс.
В этой статье покажем 7 технологически разных способов отображения видеопотока с IP-камеры с поддержкой RTSP на web-странице браузера.
Браузеры, как правило, не поддерживают RTSP, поэтому поток будет конвертироваться для браузера через промежуточный сервер.
Способ 1 — RTMP
RTMP протокол браузеры не поддерживают, но его поддерживает старый добрый Flash Player, который работает неплохо, хоть и не во всех браузерах, и может отобразить видеопоток.
Код плеера в этом случае будет построен на Action Script 3 и выглядеть примерно так:
rtmp://192.168.88.59/live — это адрес промежуточного сервера, который заберет RTSP видеопоток с камеры и конвертирует его в RTMP
rtsp://192.168.88.5/live.sdp — это RTSP адрес самой камеры.
Немного избыточный вариант кода плеера на Flex и AS3 доступен здесь.
Выглядит это так:
Способ 2 — RTMP с оберткой HTML5
Желающих кодить на Action Script 3 все меньше. Специально для этого придуман способ с HTML5 оберткой, которая позволяет управлять RTMP-плеером из JavaScript. В этом случае флэшка подгружается на HTML-страницу только для того чтобы отобразить картинку и выдать в динамики звук.
Полный код плеера находится здесь. А выглядит это так:
Способ 3 — RTMFP
Протокол RTMFP также работает внутри флэш плеера. Разница с RTMP в том, что RTMFP работает поверх протокола UDP и тем самым является более пригодным для получения трансляции с низкой задержкой.
Код плеера на AS3 в этом случае полностью идентичен используемому в RTMP, добавлена одна буква F в строке протокола подключения к серверу.
Для порядка дадим скриншот с RTMFP
Способ 4 — RTMFP c оберткой HTML5
Этот способ идентичен пункту 2, с той разницей, что мы при инициализации в JavaScript устанавливаем RTMFP протокол для использования в нижележащей флэшке (swf-объекте).
Способ 5 — WebRTC
В данном случае Flash не используется совсем и видеопоток проигрывается средствами самого браузера, без использования сторонних плагинов. Это работает и в Android Chrome и Android Firefox — мобильных браузерах, где Flash не установлен. WebRTC дает самую низкую задержку — менее 0.5 секунды.
Код плеера тот же:
Автоматически определяется поддержка WebRTC, и если поддерживается то поток играет по WebRTC.
Способ 6 — Websockets
WebRTC и Flash не покрывают все браузеры и платформы. Например, в браузере iOS Safari эти технологии не поддерживаются.
На iOS Safari можно доставить видеопоток по транспорту Websocket (TCP соединению между браузером и сервером). В этот туннель можно завернуть сконвертированный с RTSP видеопоток. После того, как бинарные данные придут их можно декодировать с помощью JavaScript и отрисовать на Canvas HTML5-элементе.
Именно этим занимается Websocket — плеер при работе в браузере iOS Safari, а его код снаружи выглядит также:
Это чем-то похоже на подход с флэшкой, когда под HTML5 лежит swf-элемент. В данном случае, под HTML5-страницей лежит не swf-объект, а JavaScript-приложение, которое тянет данные по вебсокетам, декодирует и отрисовывает на Canvas в нескольких потоках.
Так выглядит RTSP поток на Canvas в браузере iOS Safari
Способ 7 — HLS
При конвертации RTSP в HLS, видеопоток разбивается на сегменты, которые благополучно скачиваются с сервера и отображаются в HLS-плеере.
В качестве HLS-плеера мы используем video.js. Код плеера можно скачать здесь.
Как выглядит плеер:
Способ 8 — Android приложение, WebRTC
Приложение забирает поток с сервера по WebRTC. Задача сервера в этом случае — сконвертировать RTSP в WebRTC и скормить мобильному приложению.
Java-код плеера для Android находится здесь и выглядит так:
Тестовое мобильное приложение плеера можно установить из Google Play, а исходники приложения скачать здесь.
Так выглядит воспроизведение RTSP потока по WebRTC на планшете Asus под Android:
Способ 9 — iOS приложение, WebRTC
Приложение также как и в случае Android забирает поток с сервера по WebRTC.
А из App Store можно установить тестовое приложение, которое использует показанные выше куски кода. Его работа с 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 потока
Flash Streaming — пример swf приложения, проигрывающего потоки по RTMP и RTMFP. Способы 1 и 3.
Source — исходный код swf приложения на Flex / AS3.
Player — пример web-приложения, которое воспроизводит RTSP поток по RTMP, RTMFP, WebRTC, Websocket. Способы 2,4,5,6.
Source — исходный код веб-плеера.
HLS плеер — пример web-плеера, играющего HLS. Способ 7.
Source — исходный код HLS плеера.
Android плеер WebRTC — пример мобильного приложения, которое играет поток по WebRTC. Способ 8.
Source — исходный код мобильного приложения.
iOS плеер WebRTC — пример мобильного приложения, которое играет WebRTC поток. Способ 9.
Source — исходный код мобильного приложения.
В руководстве, которое поставляется совместно с камерой видеонаблюдения, не всегда может присутствовать информация о протоколе RTSP, согласно которому устройство функционирует. Однако существует большое количество случаев, когда требуется использовать данный протокол, поэтому возникает необходимость узнавать его адрес.
Владельцу системы видеонаблюдения может потребоваться знание RTSP-потока в различных ситуациях:
- чтобы подключить видеокамеру к облачному серверу;
- чтобы настроить передачу видеоинформации на интернет-сайт;
- чтобы проигрывать видео в потоке плеера на разных устройствах – мобильном телефоне, ноутбуке или планшете.
Для чего нужен протокол RTSP?
Название протокола RTSP переводится управление в онлайн-режиме. Таким образом, Real Time Streaming Protocol помогает наладить управление потоковым видео онлайн. Данный протокол очень часто используется в IP-видеонаблюдении, поскольку там есть описание необходимых команд.
RTSP-протокол позволяет собственнику камеры слежения решать несколько важных функций:
- транслировать данные при помощи VLC;
- транслировать видео на свои ресурсы и площадки;
- настраивать NVR-видеорегистраторы;
- соединять камеру видеонаблюдения с виртуальным хранилищем;
- добавлять видеокамеру в мобильные приложения на базе Android или iOS.
При этом открыть RTSP-поток многим пользователям систем видеонаблюдения не очень просто и достаточно затруднительно.
Узнаем адрес RTSP камеры видеонаблюдения
Есть несколько вариантов, которые позволяют узнать RTSP поток видеокамеры, когда он не указан в соответствующей инструкции.
Большое количество IP-видеокамер, которые продаются в России, в своём составе имеют китайские элементы XMEye. Данные комплектующие можно заметить даже у отечественных производителей таких камер, как Vesta, HiQ, SVplus и подобных. Камера подобных моделей будет иметь следующий формат RTSP-потока:
В данном адресе присутствуют такие составляющие, как:
- 192.168.132.32 – непосредственно IP-адрес устройства;
- 554 – порт протокола (по умолчанию он имеет номер 554, но этот параметр можно поменять в настройках устройства);
- admin – логин камеры видеонаблюдения;
- 12355 – пароль от логина пользователя.
В том случае, когда в IP-видеокамере присутствуют другие комплектующие, необходимо будет воспользоваться одним из двух перечисленных ниже вариантов.
Первый вариант – самый упрощённый. Чтобы узнать RTSP-поток с камеры видеонаблюдения, необходимо связаться с производителем или поставщиком данного устройства. По запросу они смогут предоставить формат нужного потока, причём данную услугу могут оказать даже китайские продавцы – с фабрик из Китая или сайта AliExpress.
Второй вариант – использовать специализированное программное обеспечение. Этот способ сможет выручить в том случае, когда не владелец системы видеонаблюдения не обладает возможностями или желанием запросить адрес RTSP-потока у поставщика. Тогда можно будет сделать это собственноручно при помощи софта.
Для начала нужно будет скачать программу под названием One Device Manager. После установки данный софт поможет узнать RTSP-адрес.
Как правило, большинство видеокамер обладает поддержкой onvif-протокола, поэтому при эксплуатации программного обеспечения затруднений возникнуть не должно. Важный нюанс – для правильно работы необходимо подсоединить ноутбук или компьютер, куда будет установлена программа, а также само IP-устройство к одной и той же локальной сети.
В сети можно найти целые списки, где содержатся адреса RTSP-потоков, поскольку эти данные зависят от того, какой именно бренд выпускает камеру видеонаблюдения.
Как открыть RTSP-поток в видеокамере?
Когда адрес RTSP-потока становится известен владельцу системы слежения, он может получать видеоинформацию с IP-камеры. Для того, чтобы открыть трансляцию потокового видео, необходимо будет выполнить следующий перечень шагов:
- установить для видеокамеры постоянный IP-адрес и заказать его у поставщика интернета;
- перебросить на RTSP-порт локальные запросы, поступающие с видеокамеры;
- пройти проверку работоспособности.
Статический адрес можно настроить можно при помощи программы IP Hunter или же связаться с провайдером и попросить его обеспечить в качестве дополнительной опции постоянный адрес IP. После этого нужно настроить переадресацию и пробросить порты на RTSP-порт с локальных портов видеокамеры. Затем можно переходить к проверке потока.
Чтобы понять, обладает ли RTSP-ссылка работоспособностью, можно открыть VLC-плеер и сделать там проверку. Для этого в главном меню плеера нужно нажать на категорию «Медиа» и выбрать пункт «Открыть URL». Далее потребуется перейти на вкладку «Сеть» окошка «Источник» и указать свою ссылку.
Читайте также: