Как настроить и подключить ip камеру
Содержание:
- Обработка и открытие потока для просмотра
- ФОРМАТЫ СЖАТИЯ IP КАМЕР
- Для чего нужен протокол RTSP?
- Кодирование/декодирование видео
- Смотрим видео через RTSP
- Реализации
- Pros and Cons of RTMP
- Как узнать RTSP адрес
- Подключаем IP камеру к роутеру и к облаку по RTSP для записи видео
- Описание технологии
- Примеры
- Полная интеграция.
- Способы узнать адрес камеры
- XSplit
- Как это выглядит у нас внутри?
- Pros and Cons of RTSP
- Как получить поток RTSP с камеры
- How RTSP Works for Streaming
- Результаты
- OBS Studio
- История
- RTSP to MSE
- Способ 5 — WebRTC
- Conclusion:
Обработка и открытие потока для просмотра
Технология позволяет обрабатывать произвольные потоки по запросу. Допускается использовать поток RTSP для генерации по запросу нового потока HLS и RTMP. Эта обработка может понадобиться, если нет необходимости в круглосуточной передаче данных. Данный метод выгоден, когда требуется эпизодический просмотр видео из разных источников. Переключение между потоками видео осуществляется с помощью сервера.
Камера, подключенная к маршрутизатору патч-кордом из комплекта, после подачи питания получает адрес от сервисной службы DHCP. Значение по умолчанию — 192.168.1.34. Оно используется для открытия веб-интерфейса и доступа к настройкам передающего оборудования.
Просмотр на ПК
Для просмотра потокового видео на десктопе требуется произвести настройку камеры, подключенной к роутеру. Изменение и установка параметров выполняются через web-интерфейс. Для созданных RTSP исходящих потоков применим алиасинг, позволяющий в онлайн-режиме настраивать параметры безопасности. Главная задача протокола — выбрать, какие аудио- и видеоданные должны передаваться клиенту для дальнейшей обработки.
Открытие в браузере
Браузеры не работают с протоколами UDP и RTSP, однако поддерживают WebRTC. IP-камеры, напротив, могут пользоваться UDP и RTSP, но не «понимают» стек протоколов WebRTC. Рассогласование возможностей устраняется промежуточным сервером, выполняющим роль моста между источником потокового видео и браузером.
Логотип WebRTC.
Специальные приложения
Знание адреса потока позволяет получать данные непосредственно от источника, без захода на сайт. Для трансляции потокового видео требуется выполнить шаги:
- присвоить видеокамере постоянный IP;
- перенаправлять локальные запросы от источника на RTSP-порт;
- выполнить тест системы.
Желательно получить статический IP у провайдера. После этого настраивается переадресация и проброс локальных портов источника. Проверка осуществляется запуском VLC или аналогичного плеера. В меню программы выбирается «Медиа» и далее пункт «Открыть URL». Затем во вкладке «Сеть» указывается своя ссылка с соблюдением формата адреса.
ФОРМАТЫ СЖАТИЯ IP КАМЕР
Передача видеоизображения в несжатом виде невыгодна — это занимает много времени и перегружает сеть. Потому применяются различные методы сжатия, при незначительных потерях в качестве, дающие значительный выигрыш в скорости.
Основные форматы, применяемые в IP камерах для сжатия изображения, это:
- MJPEG;
- MPEG-4;
- H.264.
MJPEG работает с видео покадрово, дробя его, а затем сжимая полученные изображения. Ввиду простоты алгоритмов применение этого формата не требует больших вычислительных мощностей. Также, потеря одного кадра не повлияет на остальные, а значит при этом формате вполне обосновано применение UDP-протокола.
Однако данный протокол обладает рядом недостатков. Так, последовательность сжатых кадров занимает на диске намного больше места, чем сжатое потоковое видео. Это связано с тем, что алгоритмы видеосжатия учитывают статичность картинки.
Часовое изображение пустого коридора будет иметь размер намного меньший, чем часовая запись дискотеки, так как в последнем случае изображение постоянно меняется, а в первом оно статично и превосходно поддаётся сжатию.
Формат MJPEG будет дублировать бесполезную информацию раз за разом, неоправданно заполняя жёсткий диск. В связи со своими особенностями MJPEG вполне применим в бюджетных системах видеонаблюдения, где необходим покадровый вывод изображения.
В противном случае в системе сетевого видеонаблюдения следует использовать IP камеры, использующие другие форматы сжатия.
Среди алгоритмов видеосжатия популярен MPEG-4, основанный на игнорировании избыточной информации и ориентированный на использование в сетях с низкой пропускной способностью.
Схема работы MPEG-4:
- Выделение опорных, или ключевых кадров.
- Формирование прогнозируемых кадров. Этот процесс представляет собой разницу между опорным кадром и расположенными рядом не опорными.
Несмотря на значительный выигрыш в размере конечных файлов и скорости передачи, формат постепенно сдаёт позиции в пользу более эффективного H.264. Однако для многих задач безопасности организации сжатие посредством MPEG-4 является достаточным и бюджетным вариантом в сравнении с высокоэффективным аналогом.
H.264 является наиболее «продвинутым» форматом сжатия изображения и самым востребованным в настоящее время. Благодаря улучшенному качеству сжатия в сравнении с MPEG-4 он сокращает требования к пропускной способности сети вдвое.
Также, можно получить гораздо большее качество изображения при тех же затраченных ресурсах. Недостаток формата в том, что при сжатии в нём используются сложные алгоритмы, а значит, для его использования необходимо приобретать оборудование с высокой производительностью.
* * *
2014-2021 г.г. Все права защищены.Материалы сайта имеют ознакомительный характер, могут выражать мнение автора и не подлежат использованию в качестве руководящих и нормативных документов.
Для чего нужен протокол RTSP?
Название протокола RTSP переводится управление в онлайн-режиме. Таким образом, Real Time Streaming Protocol помогает наладить управление потоковым видео онлайн. Данный протокол очень часто используется в IP-видеонаблюдении, поскольку там есть описание необходимых команд.
RTSP-протокол позволяет собственнику камеры слежения решать несколько важных функций:
- транслировать данные при помощи VLC;
- транслировать видео на свои ресурсы и площадки;
- настраивать NVR-видеорегистраторы;
- соединять камеру видеонаблюдения с виртуальным хранилищем;
- добавлять видеокамеру в мобильные приложения на базе Android или iOS.
При этом открыть RTSP-поток многим пользователям систем видеонаблюдения не очень просто и достаточно затруднительно.
Узнаем адрес RTSP камеры видеонаблюдения
Есть несколько вариантов, которые позволяют узнать RTSP поток видеокамеры, когда он не указан в соответствующей инструкции.
Большое количество IP-видеокамер, которые продаются в России, в своём составе имеют китайские элементы XMEye. Данные комплектующие можно заметить даже у отечественных производителей таких камер, как Vesta, HiQ, SVplus и подобных. Камера подобных моделей будет иметь следующий формат RTSP-потока:
rtsp://192.168.132.32:554/user=admin&password=12345&channel=1&stream=0.cgi
В данном адресе присутствуют такие составляющие, как:
- 192.168.132.32 – непосредственно IP-адрес устройства;
- 554 – порт протокола (по умолчанию он имеет номер 554, но этот параметр можно поменять в настройках устройства);
- admin – логин камеры видеонаблюдения;
- 12355 – пароль от логина пользователя.
В том случае, когда в IP-видеокамере присутствуют другие комплектующие, необходимо будет воспользоваться одним из двух перечисленных ниже вариантов.
Для начала нужно будет скачать программу под названием One Device Manager. После установки данный софт поможет узнать RTSP-адрес.
Как правило, большинство видеокамер обладает поддержкой onvif-протокола, поэтому при эксплуатации программного обеспечения затруднений возникнуть не должно. Важный нюанс – для правильно работы необходимо подсоединить ноутбук или компьютер, куда будет установлена программа, а также само IP-устройство к одной и той же локальной сети.
В сети можно найти целые списки, где содержатся адреса RTSP-потоков, поскольку эти данные зависят от того, какой именно бренд выпускает камеру видеонаблюдения.
Как открыть RTSP-поток в видеокамере?
Когда адрес RTSP-потока становится известен владельцу системы слежения, он может получать видеоинформацию с IP-камеры. Для того, чтобы открыть трансляцию потокового видео, необходимо будет выполнить следующий перечень шагов:
- установить для видеокамеры постоянный IP-адрес и заказать его у поставщика интернета;
- перебросить на RTSP-порт локальные запросы, поступающие с видеокамеры;
- пройти проверку работоспособности.
Статический адрес можно настроить можно при помощи программы IP Hunter или же связаться с провайдером и попросить его обеспечить в качестве дополнительной опции постоянный адрес IP. После этого нужно настроить переадресацию и пробросить порты на RTSP-порт с локальных портов видеокамеры. Затем можно переходить к проверке потока.
Чтобы понять, обладает ли RTSP-ссылка работоспособностью, можно открыть VLC-плеер и сделать там проверку. Для этого в главном меню плеера нужно нажать на категорию «Медиа» и выбрать пункт «Открыть URL». Далее потребуется перейти на вкладку «Сеть» окошка «Источник» и указать свою ссылку.
Другие статьи:
-
- Асфальтобетон — технологии приготовления и преимущества применения
- Какие бывают пылесосы и как их выбирать
- Покрытие приусадебных территорий из бетона
- Производство профессиональных воздушных компрессоров
Кодирование/декодирование видео
- I-frame — это просто jpg. По сути, это опорный кадр, он ни от кого не зависит и содержит четкую картинку.
- P-frame зависит исключительно от предыдущих кадров.
- Хитрые B-frame могут зависеть от будущего. Это означает, что чтобы посчитать b-frame, нужно, чтобы с камеры пришли еще и будущие кадры. Только тогда с некоторой задержкой можно декодировать b-frame.
B-кадры вредны
- Если вы стримите с мобильного устройства, можно попробовать включить профайл baseline. Он отключит B-frame.
- Можно попробовать настроить кодек и уменьшить задержку на будущие кадры, чтобы кадры приходили быстрее.
- Еще одна важная штука в тюнинге кодека — это включение CBR (константного битрейта).
Надо включать CBRzerolatency
Смотрим видео через RTSP
Самый простой способ получить rtsp поток с ip камеры — использовать проигрыватель VLC. В нем достаточно пройти в пункт меню «Медиа — Открыть URL…», перейти в появившемся диалоге на вкладку «Сеть» и вставить в строку сетевого адреса rtsp-ссылку.
Для стриминга в интернет, существуют различные способы. Один из самых доступных — использовать связку VLC и программы OBS Studio, это бесплатное и достаточно простого решения.
Существуют также онлайн-сервисы вывода изображения в интернет, например, webcam.io, и прочие. Спецификации протокола открыты, поэтому специалисты могут написать и собственный проигрыватель RTSP.
Реализации
Сервер
- Darwin Streaming Server : версия QuickTime Streaming Server с открытым исходным кодом, поддерживаемая Apple.
- Фэн : Экономичный и средний потоковый сервер с упором на соответствие RFC.
- Сервер и клиент RTSP на основе GStreamer .
- Сервер Helix DNA : потоковый сервер RealNetworks . Поставляется как с открытым исходным кодом, так и с проприетарными версиями.
- Helix Universal Server : коммерческий сервер потоковой передачи RealNetworks для клиентов потокового мультимедиа RTSP, RTMP, iOS, Silverlight и HTTP.
- LIVE555 liveMedia / openRTSP : серверные и клиентские библиотеки C ++ с открытым исходным кодом, используемые в известных клиентах, таких как VLC и mplayer .
- Движение : бесплатное приложение для видеонаблюдения для Linux.
- Nimble Streamer поддерживает ввод с извлечением и объявлением по протоколу RTSP с чередованием вывода воспроизведения по протоколу TCP.
- pvServer : ранее называвшийся PacketVideo Streaming Server, это продукт для потокового сервера Alcatel-Lucent.
- QuickTime Streaming Server : потоковый сервер Apple с закрытым исходным кодом, который поставляется с Mac OS X Server.
- VideoLAN : медиаплеер с открытым исходным кодом и потоковый сервер.
- Wowza Streaming Engine : многоформатный потоковый сервер для RTSP / RTP, RTMP , MPEG-TS , ICY, HTTP ( HTTP Live Streaming , , Smooth Streaming , ), WebRTC
- В июне 2007 года YouTube внедрил мобильный веб- интерфейс, который обслуживает видео по этому протоколу.
Многие камеры видеонаблюдения / безопасности, часто называемые IP-камерами , также поддерживают потоковую передачу RTSP, особенно с профилями ONVIF G, S, T.
Клиент
- Астра
- cURL (начиная с версии 7.20.0–9 февраля 2010 г.)
- FFmpeg
- GStreamer
- JetAudio
- LIVE555 liveMedia / openRTSP : серверные и клиентские библиотеки C ++ с открытым исходным кодом, используемые в известных клиентах, таких как VLC и mplayer .
- Классический медиаплеер
- MPlayer
- MythTV через Freebox
- QuickTime
- Реальный игрок
- Skype
- Spotify
- Медиаплеер VLC
- Winamp
- Проигрыватель Windows Media
- xine
- ZoneMinder
- Motion_ (программное обеспечение для наблюдения)
Pros and Cons of RTMP
Using RTMP in your live video streaming comes with a variety of positive and negative points:
Pros of using RTMP:
- Low latency: Low latency allows your live video stream to maintain a stable connection and video feed for the viewer, even if the internet connection is unreliable. This provides your viewers with fewer “lags” when watching your videos with a shaky internet connection, allowing them to quickly resume the stream once their internet connection stabilizes.
- Adaptable: An adaptable feed means your viewers aren’t locked into watching your feeds in one linear direction. Adaptability allows them to skip and rewind parts of the feed or to join a live stream after it’s begun.
- Flexible: RTMP allows you to integrate a variety of media types into one cohesive package, seamlessly blending audio, video, and text. Additionally, you can have multiple variations of media channels, such as streaming both MP3 and AAC audio streams or streaming MP4, FLV, and F4V videos.
Cons of Using RTMP:
- Not supported by HTML5: RTMP is supported by Flash players, a format that’s well on its way toward obsolescence. HTML5 players are quickly becoming the modern standard, but RTMP cannot play on HTML5 players without a converter such as HLS.
- Bandwidth issues: RTMP streams can be especially vulnerable to issues of low bandwidth. This can cause frequent, frustrating interruptions to your streams that ruin the experience for your viewers.
- HTTP incompatible: You cannot directly stream an RTMP feed over an HTTP connection. In order to use an RTMP stream on your website, you have to connect to a special server, such as the Flash Media Server, and use a third-party content delivery network (CDN).
Как узнать RTSP адрес
Ссылка может находиться в документации или явно указываться в веб-интерфейсе устройства. Если известно, что камера точно поддерживает RTSP, но параметры нигде явно не указаны, их придется выяснять:
- На сайте разработчика.
- Запросить напрямую у производителя или поставщика. Как правило, по запросу они такую информацию предоставляют, с этим нет проблем даже у китайских вендоров с AliExpress.
- Распознать камеру с помощью протокола ONVIF, который поддерживается практически всеми моделями.
Для последнего потребуется ПО Onvif Device Manager, компьютер под управлением Windows и сама камера.
Device Manager умеет конфигурировать видеосервер, захватывать видео и так далее, но самая важная функция этой программы в данном случае — WS-Discovery, обнаружение устройств в сети.
Когда вы скачали и поставили программу, нужно сделать следующее:
- запустить ее и нажать внизу кнопку Refresh. Начнется процесс поиска;
- когда камера обнаружится, выбрать в меню пункт Live Video;
- под картинкой будет адрес rtsp-ссылки, который можно скопировать для дальнейшего использования.
Подключаем 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
Описание технологии
Технология RTSP представляет собой специализированный протокол, реализующий удаленное управление оборудованием и мультимедийным потоком, генерирование запросов сервером и клиентом. Команды протокола RTSP позволяют подключать удаленные IP-камеры к системам сигнализации, запускать, останавливать, перенаправлять, переводить в режим паузы поток данных. Команды протокола устанавливают доступ к файлам на удаленном хранилище, параметры трансляции и пересылки видео на локальный плеер, компьютер или смартфон. Технология, разработанная в 1998 г., описана в RFC 2326.
IP-камера.
Примеры
Эти примеры стримера и MSE плеера используют Web Call Server 5 в качестве сервера, конвертирующего WebRTC видеопоток для использования в Media Source Extension.
В качестве стримера используем веб-приложение Two Way Streaming, которое отправляет WebRTC видеопоток на сервер.
В качестве плеера, используем тестовый плеер с поддержкой Websockets и MSE.
Код плеера MSE работает через высокоуровневое API.
Создаем div — элемент на HTML-странице
И далее вызываем воспроизведение видеопотока.
Передаем div — элемент параметром display и MSE плеер будет вставлен в этот div-блок.
session.createStream({name:"stream22",display:document.getElementById("myMSE")}).play();
Аналогичным образом работает публикация WebRTC потока с другой страницы.
Потоку назначается уникальное имя stream22, которое будет указано при воспроизведении.
session.createStream({name:"stream22",display:document.getElementById("myWebCam")}).publish();
Полный код стримера и плеера можно найти на github.
— стример — плеер
Полная интеграция.
Производитель программного обеспечения может внести в ПО всю техническую информацию, необходимую для подключения конкретной модели IP видеокамеры. Таким образом, обеспечивается поддержка всех функций конкретного оборудования, однако перечень полностью совместимого оборудования существенно меньше, чем у вариантов на базе RTSP и ONVIF. Перечень поддерживаемого оборудования указывается в документации на ПО. IP оборудование AVTECH полностью интегрировано с ПО собственного производства:
VideoViewer — бесплатное ПО для Windows и Mac OS. До 16 каналов с возможностью записи на ПК. Совместимо с регистраторами (DVR и NVR) и IP камерами AVTech
ПО 36CH C.M.S. — бесплатно ПО для Windows 7. До 36 каналов с разрешение 2Мп (FullHD). Совместимо с сетевыми регистраторами (NVR) и IP камерами AVTech
EagleEyes — приложение для мобильного наблюдения. Есть бесплатные и платные версии для iPad / iPhone / Android / BlackBerry / Win Mobile / Symbian. Совместимо с регистраторами (DVR и NVR) и IP камерами.
Способы узнать адрес камеры
В руководстве пользователя некоторых IP-камер не указываются технические характеристики и способ подключения. В этой ситуации IP-адрес определяется самостоятельно. Имеются такие способы получения адреса потока:
- Обратиться в техническую поддержку продавца или производителя с запросом о предоставлении данной информации. В большинстве случаев способ работает.
- При невозможности связаться с производителем оборудования в интернете находится, загружается и устанавливается приложение Onvif Device Manager. Все IP-камеры работают с протоколом Onvif и передают ему свои настройки. ODM обрабатывает данные и выводит их пользователю, в т. ч. адрес RTSP-камеры.
- Данные параметры устанавливает производитель, применяя одинаковое значение. Этой особенностью можно воспользоваться, зная наименование модели или бренда. Для широко распространенной продукции HIKVISION IP-адрес по умолчанию 192.168.1.64/DHCP. Авторизация осуществляется с логином пользователя admin и таким же значением пароля — admin. Передача и запись данных осуществляются через стандартные порты 80, 443, 554, 8000.
Утилита Onvif Device Manage.
XSplit
XSplit’s streaming software is intuitively designed, and easy to use suite of video content creator tools.
comes in two versions: Gamecaster and Broadcaster. The Gamecaster version is focused on live streaming of video gameplay. The XSplit Broadcaster version, on the other hand, offers simple, powerful live streaming and recording software. The platform seamlessly integrates with a wide variety of popular streaming gear, including products from Discord, Logitech, and Razer.
Key Features of XSplit:
- Offers support for a range of inputs, including all major capture cards, videos, music, and webcams
- Professional production features, including enhanced audio
- Locally record streams
- Integrated chat function
- Variety of other custom plugins and integrations
- Edit and securely upload video recordings
Pricing:
The pricing plans for XSplit Broadcaster Premium are as follows:
- 1 Month License: $20.00
- 3 Month License: $35.00
- 12 Month License: $70.00
- Lifetime License: $230.00
Regardless of your individual needs and budget, there’s a high-quality video encoding platform compatible with Dacast that will work for you when choosing the RTMP streaming protocol.
Как это выглядит у нас внутри?
- Пользователи по одному из протоколов загружают оригинал видео на наши upload-сервера.
- Там мы разворачиваем протокол.
- По RTMP отправляем на один из серверов трансформации видео.
- Оригинал всегда сохраняем в распределенное хранилище, чтобы ничего не пропало.
- После этого все видео поступают на сервер раздачи.
- Upload-сервера распределены по разным дата-центрам, стоят за разными IP.
- Пользователи приходят, по DNS получают IP.
- Upload-сервер отправляет видео на серверы нарезки, те нарезают и отдают серверам раздачи.
- Под более популярные трансляции мы начинаем добавлять большее количество серверов раздачи.
- Все, что пришло от пользователя, сохраняем в хранилище, чтобы потом создать архив трансляций и ничего не потерять.
- Хранилище отказоустойчивое, распределенное по трем дата-центрам.
ZooKeeperЧто при этом произойдет?
- Пользователь на DNS возьмет следующий IP другого upload-сервера.
- К этому времени ZooKeeper поймет, что сервер в том дата-центре умер, и выберет для другой сервер нарезки.
- Download-серверы узнают, кто теперь отвечает за трансформацию этого стрима и будут это раздавать.
Pros and Cons of RTSP
Before you choose an RTSP live stream for your video delivery, it’s important to understand the benefits and downsides of its use:
Pros of using RTSP:
- Segmented streaming: Rather than forcing your viewers to download an entire video before watching it, the RTSP stream allows them to watch your content before the download is complete.
- Customization: By utilizing other protocols, such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), you can create your own video streaming applications.
Cons of using RTSP:
- Less popular: Compared to other media streaming protocols, RTSP is far less popular. Most video players and streaming services do not support RTSP streaming, making it more difficult to broadcast your stream in your browser. To broadcast an RTSP stream, you must use a separate RTSP live streaming service.
- HTTP incompatible: Like RTMP, you cannot directly stream RTSP over HTTP. Because of this, there is no easy, straightforward way to stream RTSP in a web browser, as RTSP is designed more for streaming video on private networks such as security systems within a business. However, you can stream RTSP using additional software that’s embedded into your website.
Как получить поток RTSP с камеры
Чтобы просматривать видео и захватывать звук посредством этой технологии, необходима поддержка RTSP на стороне камеры. Этот протокол поддерживают многие образцы имеющихся на рынке устройств, но в документации возможность описана не всегда.
Если поддержка заявлена, то в инструкции будут прописаны настройки для доступа к трансляции. Они представляют собой ссылку для подключения в следующем формате:
Здесь rtsp — указание на протокол подключения, addr — IP-адрес камеры. Через двоеточие указан порт. Последний может отличаться, если в настройках указан отличный от «дефолтного».
Далее следуют user и password — логин пользователя и пароль для подключения (их может и не быть). После них указываются дополнительные параметры, который у разных камер могут отличаться.
How RTSP Works for Streaming
Where RTMP uses only TCP to transmit data, RTSP utilizes two network communication protocols: TCP and UDP.
TCP issues and receives the stream’s control commands and UDP delivers the audio, video, and data. Because of the use of these two network communication protocols, an RTSP live stream allows users to begin watching a video while the stream is still being downloaded.
Because RTSP is not designed to stream directly in your web browser, embedding an RTSP stream on your website is more complicated than RTMP. In order to stream RTSP video content, you will need additional software to make your stream compatible.
Результаты
Подведем итоги и объединим полученные результаты в табличку:
Способ отображения
Применение
Задержка
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 перечисленных направлениях.
OBS Studio
OBS Studio is free and open-source software for video recording and live broadcasting.
Open Broadcaster Software (OBS) Studio is a free, open-source video encoder compatible with Windows, macOS, and Linux systems.
While it is more basic at its core than many other software platforms available, it offers a wide range of plugins to enhance its capabilities and functionality. Many of these plugins help elevate OBS to the level of many of the pricier video encoders.
Key Features of OBS Studio:
- Support for audio, video, image, web browser, and graphics sources
- Supports video recording and RTMP live streaming
- Switch between multiple sources, including camera using a capture card
- Variety of community-developed plugins
- Studio mode and multi-view features
- Pre-program scenes with multiple elements
Pricing:
OBS Studio is open-source and completely free. There is no cost to accessing and using this software. Version 27.0.1 was released on June 11th, 2021, and is available for download here for macOS 10.13 or newer, Windows 8, 8.1, and 10, as well as Ubuntu 18.04 operating systems.
For the Linux version, FFmpeg is required.
История
Протокол RTSP был разработан RealNetworks , Netscape и Колумбийским университетом . Первый проект был представлен в IETF в октябре 1996 года компаниями Netscape и Progressive Networks , после чего Хеннинг Шульцринн из Колумбийского университета представил «RTSP ‘» («RTSP prime») в декабре 1996 года. были объединены для стандартизации Рабочей группой по управлению многосторонними мультимедийными сеансами (MMUSIC WG) Инженерной группы Интернета (IETF), а дальнейшие проекты были опубликованы рабочей группой. Предлагаемый стандарт для RTSP был опубликован в RFC 2326 в 1998 году RTSP 2,0 опубликован в RFC 7826 в 2016 году в качестве замены RTSP 1.0. RTSP 2.0 основан на RTSP 1.0, но не имеет обратной совместимости, кроме как в механизме согласования базовой версии, и остается «предлагаемым стандартом».
RTSP to MSE
Еще один кейс использования MSE over Websockets — это воспроизведение видео с IP-камеры или другой системы, которая отдает видеопоток по RTSP.
IP камера, как правило, нативно поддерживает H.264 и AAC кодеки, поэтому кодеки полностью совпадают с теми, что используются на MSE. Это помогает избежать транскодинга, поглощающего ресурсы CPU.
Схема трансляции следующая:
- Браузер просит RTSP поток.
- Сервер устанавливает соединение с камерой и запрашивает этот поток у камеры по RTSP.
- Камера отдает RTSP поток. Начинается стриминг.
- RTSP поток конвертируется в Websockets на стороне сервера и спускается на браузер.
- Браузер передает поток MSE-плееру для воспроизведения.
Для работы с RTSP потоком используется тот же самый плеер, который мы показывали выше. Просто задается полный урл RTSP потока вместо имени.
На момент написания статьи, мы протестировали MSE плеер в Chrome, Firefox, Safari.
Способ 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.
Conclusion:
Both RTMP and RTSP streaming protocols serve their own unique purposes in broadcasting previously streamed video files online. RTMP is a widely compatible, flexible option that allows your viewers to select the web browser or mobile device of their choice to view your content without difficulty.
On the other hand, RTSP works better for localized streams or, if you utilize additional software to improve compatibility with web browsers, online streaming.
If you’re looking for an easy-to-use, robust platform with broad streaming capability, try Dacast. You get 30 days of free access to see why we were selected as the 2019 Streaming Media Readers’ Choice for Best Small/Medium Business Platform. No credit cards or hefty startup fees are required.
For exclusive offers and regular live streaming tips, join our LinkedIn group. Do you have questions or feedback on this article or streaming protocols in general? We’d love to hear from you in the comments below.