что такое rtsp поток с ip камеры

Как получить RTSP поток с IP-камеры

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Установка IP камеры — удобный способ получения картинки в любом месте, где присутствует подключение к интернету. Но для работы с видеопотоком необходим соответствующий инструментарий. Существуют различные варианты поддерживаемых IP камерами протоколов трансляции, и один из самых удобных среди них — RTSP.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Что такое RTSP

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

Сжатие в рамках RTSP не выполняется. Транспортные протоколы и способ инкапсуляции передаваемой информации он тоже не устанавливает. Упрощенно процесс выглядит следующим образом:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

По умолчанию сервер RTSP работает на порту 544. Захват видео и звука можно выполнять с помощью таких программ, как плееры VLC или Windows Media Player, и иных клиентов с поддержкой протокола. Существуют также веб-приложения и программные решения для трансляции потока в интернет (например, стриминга на YouTube).

Как получить поток RTSP с камеры

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

Если поддержка заявлена, то в инструкции будут прописаны настройки для доступа к трансляции. Они представляют собой ссылку для подключения в следующем формате:

Здесь rtsp — указание на протокол подключения, addr — IP-адрес камеры. Через двоеточие указан порт. Последний может отличаться, если в настройках указан отличный от «дефолтного».

Перед выполнением дальнейших инструкций рекомендуем прочитать как узнать IP камеры видеонаблюдения.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Далее следуют user и password — логин пользователя и пароль для подключения (их может и не быть). После них указываются дополнительные параметры, который у разных камер могут отличаться.

Как узнать RTSP адрес

Ссылка может находиться в документации или явно указываться в веб-интерфейсе устройства. Если известно, что камера точно поддерживает RTSP, но параметры нигде явно не указаны, их придется выяснять:

Для последнего потребуется ПО Onvif Device Manager, компьютер под управлением Windows и сама камера.

Важно: она и ПК должны находиться в одной сети.

Device Manager умеет конфигурировать видеосервер, захватывать видео и так далее, но самая важная функция этой программы в данном случае — WS-Discovery, обнаружение устройств в сети.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Когда вы скачали и поставили программу, нужно сделать следующее:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Смотрим видео через RTSP

Самый простой способ получить rtsp поток с ip камеры — использовать проигрыватель VLC. В нем достаточно пройти в пункт меню «Медиа — Открыть URL…», перейти в появившемся диалоге на вкладку «Сеть» и вставить в строку сетевого адреса rtsp-ссылку.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Для стриминга в интернет, существуют различные способы. Один из самых доступных — использовать связку VLC и программы OBS Studio, это бесплатное и достаточно простого решения.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Существуют также онлайн-сервисы вывода изображения в интернет, например, webcam.io, и прочие. Спецификации протокола открыты, поэтому специалисты могут написать и собственный проигрыватель RTSP.

Где купить IP-видеокамеру

Видео по теме

Источник

Еще раз о видеонаблюдении, камерах, 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)
что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры
И такое у «них» происходит постоянно. Этим частенько страдают китайские камеры. 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 камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камерыВладельцу системы видеонаблюдения может потребоваться знание RTSP-потока в различных ситуациях:

Для чего нужен протокол RTSP?

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камерыНазвание протокола RTSP переводится управление в онлайн-режиме. Таким образом, Real Time Streaming Protocol помогает наладить управление потоковым видео онлайн. Данный протокол очень часто используется в IP-видеонаблюдении, поскольку там есть описание необходимых команд.

RTSP-протокол позволяет собственнику камеры слежения решать несколько важных функций:

При этом открыть RTSP-поток многим пользователям систем видеонаблюдения не очень просто и достаточно затруднительно.

Узнаем адрес RTSP камеры видеонаблюдения

Есть несколько вариантов, которые позволяют узнать RTSP поток видеокамеры, когда он не указан в соответствующей инструкции.

Большое количество IP-видеокамер, которые продаются в России, в своём составе имеют китайские элементы XMEye. Данные комплектующие можно заметить даже у отечественных производителей таких камер, как Vesta, HiQ, SVplus и подобных. Камера подобных моделей будет иметь следующий формат RTSP-потока:

В данном адресе присутствуют такие составляющие, как:

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

Первый вариант – самый упрощённый. Чтобы узнать RTSP-поток с камеры видеонаблюдения, необходимо связаться с производителем или поставщиком данного устройства. По запросу они смогут предоставить формат нужного потока, причём данную услугу могут оказать даже китайские продавцы – с фабрик из Китая или сайта AliExpress.

Второй вариант – использовать специализированное программное обеспечение. Этот способ сможет выручить в том случае, когда не владелец системы видеонаблюдения не обладает возможностями или желанием запросить адрес RTSP-потока у поставщика. Тогда можно будет сделать это собственноручно при помощи софта.

Для начала нужно будет скачать программу под названием One Device Manager. После установки данный софт поможет узнать RTSP-адрес.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камерыКак правило, большинство видеокамер обладает поддержкой onvif-протокола, поэтому при эксплуатации программного обеспечения затруднений возникнуть не должно. Важный нюанс – для правильно работы необходимо подсоединить ноутбук или компьютер, куда будет установлена программа, а также само IP-устройство к одной и той же локальной сети.

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

Как открыть RTSP-поток в видеокамере?

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камерыКогда адрес RTSP-потока становится известен владельцу системы слежения, он может получать видеоинформацию с IP-камеры. Для того, чтобы открыть трансляцию потокового видео, необходимо будет выполнить следующий перечень шагов:

Статический адрес можно настроить можно при помощи программы IP Hunter или же связаться с провайдером и попросить его обеспечить в качестве дополнительной опции постоянный адрес IP. После этого нужно настроить переадресацию и пробросить порты на RTSP-порт с локальных портов видеокамеры. Затем можно переходить к проверке потока.

Чтобы понять, обладает ли RTSP-ссылка работоспособностью, можно открыть VLC-плеер и сделать там проверку. Для этого в главном меню плеера нужно нажать на категорию «Медиа» и выбрать пункт «Открыть URL». Далее потребуется перейти на вкладку «Сеть» окошка «Источник» и указать свою ссылку.

Источник

Как подключить IP камеру по Onvif или RTSP?

1. ONVIF что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Начнем с протокола ONVIF (Open Network Video Interface Forum).
ONVIF — это общепринятый протокол для совместной работы IP-камер, видеорегистраторов NVR, программного обеспечения, на случай, если все устройства разных производителей.
Убедитесь, что подключаемые устройства имеют поддержку ONVIF, на некоторых устройствах ONVIF может быть выключен по умолчанию.
Либо может быть отключена авторизация по ONVIF это значит, что логин/пароль будет всегда по умолчанию независимо от логина/пароля для WEB.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Также стоит отметить, что некоторые устройства используют отдельный порт для работы по протоколу ONVIF. В некоторых случаях ONVIF-пароль может отличаться от пароля для WEB-доступа.

Что доступно при подключении по ONVIF?

Эти параметры зависят от совместимости версий протокола ONVIF. В некоторых случаях часть параметров недоступна или работает некорректно.

Разберем пример подключения камеры к видеорегистратору OMNY с использованием ONVIF:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Камеры OMNY PRO и OMNY Base используют ONVIFпорт 80, в регистраторе он указывается как Порт устройства/HTTP-порт (На моделях OMNY PRO до 2017 года ONVIF-порт 8080).
TCP — устанавливает соединение между отправителем и получателем, следит за тем, чтобы все данные дошли до адресата без изменений и в нужной последовательности, также регулирует скорость передачи.
В отличие от TCP, UDP не устанавливает предварительного соединения, а вместо этого просто начинает передавать данные. UDP не следит чтобы данные были получены, и не дублирует их в случае потерь или ошибок.
UDP менее надежен, чем TCP. Но с другой стороны, он обеспечивает более быструю передачу потоков благодаря отсутствию повторения передачи потерянных пакетов.

Второй способ подключения — это RTSP (Real Time Streaming Protocol).

RTSP-потоковый протокол реального времени, в котором описаны команды для управления видеопотоком. С помощью этих команд происходит трансляция видеопотока от источника к получателю. Например, от IP-камеры к видеорегистратору или серверу.

Что доступно при подключении по RTSP?

Преимущество этого протокола передачи в том, что он не требует совместимости по версиям. На сегодняшний день RTSP поддерживают практически все IP-камеры и NVR.
Недостатки протокола в том, что кроме передачи видео- и аудиоданных больше ничего не доступно.

Разберем пример подключения камеры к видеорегистратору OMNY с использованием RTSP:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Пример запроса для OMNY BASE:

Зачем нужен дополнительный поток?

На локальном мониторе, подключенном к регистратору в мульти-картинке, регистратор использует дополнительный поток для экономии ресурсов. К примеру, в маленьких картинках по 16 окон совсем не обязательно декодировать Full HD разрешение, достаточно D1.
Ну а если Вы открыли 1/4/8 окон, то в этом случае декодируется основной поток с высоким разрешением.

3. Не получается подключить по ONVIF

Если не получается подключить IP камеру в ПО или NVR по ONVIF, нужно убедиться:

ONVIF Device Manager

Проверить работоспособность ONVIF в камере, вы можете через независимое ПО ONVIF Device Manager. Для проверки правильности параметров ONVIF необходимо использовать ODM в локальной сети, исключив другие ПО и NVR.

Источник

7 способов отобразить видео с RTSP IP-камеры на веб-странице и 2 в мобильном приложении

В этой статье покажем 7 технологически разных способов отображения видеопотока с IP-камеры с поддержкой RTSP на web-странице браузера.

Браузеры, как правило, не поддерживают RTSP, поэтому поток будет конвертироваться для браузера через промежуточный сервер.

Способ 1 — RTMP

RTMP протокол браузеры не поддерживают, но его поддерживает старый добрый Flash Player, который работает неплохо, хоть и не во всех браузерах, и может отобразить видеопоток.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Код плеера в этом случае будет построен на Action Script 3 и выглядеть примерно так:

rtmp://192.168.88.59/live — это адрес промежуточного сервера, который заберет RTSP видеопоток с камеры и конвертирует его в RTMP

rtsp://192.168.88.5/live.sdp — это RTSP адрес самой камеры.

Немного избыточный вариант кода плеера на Flex и AS3 доступен здесь.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 2 — RTMP с оберткой HTML5

Желающих кодить на Action Script 3 все меньше. Специально для этого придуман способ с HTML5 оберткой, которая позволяет управлять RTMP-плеером из JavaScript. В этом случае флэшка подгружается на HTML-страницу только для того чтобы отобразить картинку и выдать в динамики звук.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Полный код плеера находится здесь. А выглядит это так:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 3 — RTMFP

Протокол RTMFP также работает внутри флэш плеера. Разница с RTMP в том, что RTMFP работает поверх протокола UDP и тем самым является более пригодным для получения трансляции с низкой задержкой.

Код плеера на AS3 в этом случае полностью идентичен используемому в RTMP, добавлена одна буква F в строке протокола подключения к серверу.

Для порядка дадим скриншот с RTMFP

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 4 — RTMFP c оберткой HTML5

Этот способ идентичен пункту 2, с той разницей, что мы при инициализации в JavaScript устанавливаем RTMFP протокол для использования в нижележащей флэшке (swf-объекте).

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 5 — WebRTC

В данном случае Flash не используется совсем и видеопоток проигрывается средствами самого браузера, без использования сторонних плагинов. Это работает и в Android Chrome и Android Firefox — мобильных браузерах, где Flash не установлен. WebRTC дает самую низкую задержку — менее 0.5 секунды.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Автоматически определяется поддержка WebRTC, и если поддерживается то поток играет по WebRTC.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 6 — Websockets

WebRTC и Flash не покрывают все браузеры и платформы. Например, в браузере iOS Safari эти технологии не поддерживаются.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

На iOS Safari можно доставить видеопоток по транспорту Websocket (TCP соединению между браузером и сервером). В этот туннель можно завернуть сконвертированный с RTSP видеопоток. После того, как бинарные данные придут их можно декодировать с помощью JavaScript и отрисовать на Canvas HTML5-элементе.

Именно этим занимается Websocket — плеер при работе в браузере iOS Safari, а его код снаружи выглядит также:

Это чем-то похоже на подход с флэшкой, когда под HTML5 лежит swf-элемент. В данном случае, под HTML5-страницей лежит не swf-объект, а JavaScript-приложение, которое тянет данные по вебсокетам, декодирует и отрисовывает на Canvas в нескольких потоках.

Так выглядит RTSP поток на Canvas в браузере iOS Safari

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 7 — HLS

При конвертации RTSP в HLS, видеопоток разбивается на сегменты, которые благополучно скачиваются с сервера и отображаются в HLS-плеере.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры
В качестве HLS-плеера мы используем video.js. Код плеера можно скачать здесь.

Как выглядит плеер:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 8 — Android приложение, WebRTC

Приложение забирает поток с сервера по WebRTC. Задача сервера в этом случае — сконвертировать RTSP в WebRTC и скормить мобильному приложению.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Java-код плеера для Android находится здесь и выглядит так:

Тестовое мобильное приложение плеера можно установить из Google Play, а исходники приложения скачать здесь.

Так выглядит воспроизведение RTSP потока по WebRTC на планшете Asus под Android:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Способ 9 — iOS приложение, WebRTC

Приложение также как и в случае Android забирает поток с сервера по WebRTC.

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Скачать исходный код плеера для iOS можно здесь.

А из App Store можно установить тестовое приложение, которое использует показанные выше куски кода. Его работа с RTSP-потоком выглядит так:

что такое rtsp поток с ip камеры. Смотреть фото что такое rtsp поток с ip камеры. Смотреть картинку что такое rtsp поток с ip камеры. Картинка про что такое rtsp поток с ip камеры. Фото что такое rtsp поток с ip камеры

Результаты

Подведем итоги и объединим полученные результаты в табличку:

Способ отображенияПрименениеЗадержка
1RTMPТам, где важно использование legacy — флэш клиента, Flex или Adobe Airmedium
2RTMP + HTML5В браузерах IE, Edge, Mac Safari, если там установлен Flash Playermedium
3RTMFPТам, где важно использование legacy — флэш клиента, Flex или Adobe Air и важна низкая задержкаlow
4RTMFP + HTML5В браузерах IE, Edge, Mac Safari, если там установлен Flash Player и важна низкая задержка.low
5WebRTCВ браузерах Chrome, Firefox, Opera на десктопах и мобильных браузерах под Android, где важна real-time задержка.real-time
6WebsocketВ браузерах, где нет Flash и WebRTC, но нужна средняя или низкая задержка.medium
7HLSВо всех браузерах. Где не важна задержка.high
8Android app, WebRTCВ нативных мобильных приложениях под Android, где требуется real-time задержка.real-time
9iOS 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 — исходный код мобильного приложения.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *