Для чего нужны несколько видеопотоков с одной камеры?

Последовательность действий для тестирования

1. Создаем Live трансляцию в YouTube Studio. Копируем уникальный код видеопотока:

2. Открываем созданную ранее HTML страницу. Указываем в первом поле уникальный код видеопотока, который мы скопировали на YouTube:

3. Создаем Live трансляцию в своем аккаунте на Facebook. Копируем уникальный код видеопотока.

4. Возвращаемся на нашу web страничку, вставляем скопированный код во второе поле и нажимаем кнопку «Start republish»

5. Теперь проверяем работу нашей републикации. Снова переходим в YouTube Studio и на Facebook, ждем несколько секунд и получаем превью потока.

6. Для завершения републикации нажмите кнопку «Stop»

Теперь, как и обещали, исходные коды примера полностью:

Листинг HTML файла «rtsp-to-rtmp-min.html»

<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript" src="../../../../flashphoner.js"></script>
    <script type="text/javascript" src="rtsp-to-rtmp-min.js"></script>
</head>

<body onload="init_page()">
	<input id="streamKeyYT" type="text" placeholder="YouTube Stream key"/>
	<input id="streamKeyFB" type="text" placeholder="Facebook Stream key"/>
	<button id="repubBtn">Start republish</button>
	<div id="republishStatus"></div>
	<br>
	<button id="stopBtn">Stop republish</button>
	
</body>
</html>

Листинг JS файла «rtsp-to-rtmp-min.js»:

var url = "https://demo.flashphoner.com:8444/rest-api";
var rtspStream = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"

function init_page() {
    Flashphoner.init({});	
	repubBtn.onclick = streamToYouTube;
	stopBtn.onclick = stopStream;
	getStream();
}

function getStream() {
    fetchUrl = url + "/rtsp/startup";
    const options = {
        method: "POST",
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            "uri": rtspStream
        }),
    }
    fetch(fetchUrl, options);
	console.log("Stream Captured");
}

function streamToYouTube() {
	fetchUrl = url + "/push/startup";
	const options = {
        method: "POST",
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            "streamName": rtspStream,
			"rtmpUrl": "rtmp://a.rtmp.youtube.com/live2/"+document.getElementById("streamKeyYT").value
        }),
    }
    fetch(fetchUrl, options);
	streamToFB()
}

function streamToFB() {
	fetchUrl = url + "/push/startup";
	const options = {
        method: "POST",
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            "streamName": rtspStream,
			"rtmpUrl": "rtmps://live-api-s.facebook.com:443/rtmp/"+document.getElementById("streamKeyFB").value
        }),
    }
    fetch(fetchUrl, options);
	document.getElementById("republishStatus").textContent = "Stream republished";
}

function stopStream() {
	fetchUrl = url + "/rtsp/terminate";
    const options = {
        method: "POST",
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            "uri": rtspStream
        }),
    }
    fetch(fetchUrl, options);
	document.getElementById("republishStatus").textContent = "Stream stopped";
}

Для минимальной реализации требуется совсем немного кода. Конечно для итогового внедрения функционала еще потребуется небольшая доработка напильником — добавить стили на web страницу и разные проверки на валидность данных в код JS скрипта. Но это работает.

Удачного стриминга!

Как настроить сетевое оборудование

Хотя процесс настройки схож во многих роутерах, названия параметров и настроек у разных производителей могут отличаться. Прежде чем приступать к настройке, ознакомьтесь с инструкциями к оборудованию. В статье камера будет подключаться к роутеру TP-Link (модель: TL-WR842N, версия прошивки: 150921).

Если вы подключаете IP-камеру внутри корпоративной сети — обратитесь к вашему системному администратору. Он поможет с настройкой.

  1. Резервирование IP-адреса за камерой.
  2. Перенаправление сетевых портов.

Как присвоить IP-адрес камере

Существует два способа присвоить камере постоянный IP-адрес:

  1. В настройках роутера
  2. В настройках камеры

В примере мы разберём первый способ.

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

Процесс резервирования IP-адреса:

1. Подключите к камере кабель питания и сетевой кабель роутера.

2. Напишите в адресной строке браузера IP-адрес вашего роутера, чтобы перейти в его настройки.

IP-адрес роутера может зависеть как от настроек сети, так и от модели сетевого оборудования. Как правило, IP-адрес указан в документации вашего роутера (чаще всего это 192.168.0.1 или 192.168.1.1). Узнать его можно и с компьютера или ноутбука, подключенного к вашей сети.

Как узнать IP-адрес роутера в Windows

1. Откройте командную строку

Первый способ: одновременно нажмите WIN и R , введите cmd и нажмите Enter.

Второй способ: войдите в меню Пуск, введите в поле поиска командная строка и выберите её в результатах поиска.

2. Введите команду ipconfig и нажмите Enter. IP-адрес роутера будет указан в строке Основной шлюз.

Как узнать IP-адрес роутера в macOS
  1. Откройте Системные настройки.
  2. Выберите меню Сеть и нажмите кнопку Дополнительно.
  3. Откройте вкладку TCP/IP. IP-адрес вашего роутера указан в строке Маршрутизатор.

При входе в настройки роутер запросит логин и пароль. Они указываются в инструкции, на коробке или корпусе устройства.

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
  1. Перейдите в настройки роутера.
  2. Выберите категорию Forwarding.
  3. Перейдите во вкладку UPnP и нажмите Enable, если опция была отключена.

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-камер для каждой из них необходимо выделить и настроить свои сетевые порты.

Как интегрировать видеонаблюдение к Ajax по RTSP протоколу

Итак, RTSP ссылка у нас уже готова — это уже половина дела. Вы можете уже добавить ссылку rtsp://admin:mysecurePassword@192.168.1.52:554/11 в приложение Ajax и смотреть видео локально. Далее, необходимо сделать так, чтобы поток был доступен извне.

Настройка роутера и локального IP-адреса

Первое, что нам необходимо сделать — это чтобы локальный IP-адрес сетевой камеры (или видеорегистратора) не менялся и был постоянным. Например, настроили мы нашу IP-камеру и она получила IP-адрес в локальной сети 192.168.1.52 , таким образом ссылка для RTSP потока будет:

rtsp://admin:mysecurePassword@ 192.168.1.52 :554/11

Здесь есть два варианта настройки IP-камеры:

  • В сетевых настройках для IP-камеры или видеорегистратора использовать статический IP-адрес и прописать ручками все сетевые настройки (шлюз по умолчанию, и т.п.) ;
  • Активировать DHCP — в этом случае IP-адрес камере или видеорегистратору будет давать маршрутизатор (роутер). Для режима DHCP на роутере необходимо сделать привязку MAC-адреса камеры (который уникальный) к IP-адресу — тогда роутер всегда будет давать камере один и тот же IP-адрес.

Привязка MAC-адреса к IP-адресу

Настройка привязки MAC-адреса к IP-адресу у разных производителей роутеров может называться по-разному.

  • Для роутеро TP-Link — это меню «Сеть» — «DHCP-сервер» — «Резервирование адресов»;
  • Для маршрутизаторов Asus — это меню «Локальная сеть» — «Список присвоенных вручную IP-адресов в обход DHCP»;
  • для роутеров Mikrotik — это кнопка «Make Static» в меню «IP» — «DHCP-Server» — «Leases».

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

Выделенный IP-адрес у провайдера

Выделенный IP-адрес от провайдера — эта гарантия того, что IP-адрес в RTSP ссылке для доступа извне не поменяется.

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

Использование функции

VLC узнаваем тем, что воспроизводит все форматы видео без каких-либо проблем. Более того, приложение также может записать все, что может воспроизвести или транслировать. В частности, включает опцию «Устройство захвата», которая преобразовывает выходящий видеосигнал с оборудования и направляет его на экран проигрывателя. С ее помощью, можно записать видео с веб-камеры.

Откройте проигрыватель, перейдите на вкладку Медиа и выберите пункт «Открыть устройство захвата».

Укажите видеоустройство в качестве камеры и используемый микрофон как аудиоустройство.

Примечание: Здесь также можно изменить режим на Экран, чтобы записывать рабочий стол в VLC.

Кликните на опцию «Другие». Здесь можно поменять частоту кадров видеовхода и соотношение сторон. После завершения настроек, щелкните на воспроизведение, чтобы отобразить картинку с камеры в окне плеера.

Затем перейдите на вкладку Вид и выберите пункт Дополнительные элементы управления.

Внизу отобразятся дополнительные кнопки управления. Щелкните на «Запись», чтобы начать захват картинки. Чтобы остановить, снова нажмите на эту кнопку. Видеофайл будет сохранен в каталоге видеотеки.

Источник

Что такое RTSP

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

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

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

Статьи по теме

  • Грузите WebRTC контейнерами или рассказ о том, как я WCS в Docker запускал
  • Обзор WCS 5.2 — сервера для веб-разработчиков онлайн трансляций и видеочатов
  • Никогда не транслируйте WebRTC потоки в HLS, или проблема первого подключившегося зрителя
  • Индикатор качества канала серверного WebRTC через TCP
  • Как готовить RTSP на сайте в 2020 году, или почему кабаны не успеют убежать
  • Облачный WebRTC стриминг на DigitalOcean
  • iOS Safari 11 теперь умеет WebRTC
  • Тянем ролик с Youtube и раздаем по WebRTC в реалтайме
  • Межсерверное WebRTC
  • Встраиваем WebRTC плеер для живых трансляций на сайт
  • 7 способов транслировать RTSP на страницу
  • Задержка в онлайн-трансляциях с веб-камеры, бессердечная ты стерва
  • Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой

Тестирование задержек VLC vs WebRTC

После того, как мы настроили IP камеру и протестировали в VLC, настроили сервер и протестировали RTSP поток через сервер с раздачей по WebRTC, мы наконец-то можем сравнить задержки. Для этого будем использовать таймер, который будет показывать на экране монитора доли секунды. Включаем таймер и воспроизводим видеопоток одновременно на VLC локально и на браузере Firefox через удалённый сервер. Пинг до сервера 100 ms. Пинг локально 1 ms.

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

На черном фоне расположен исходный таймер, который показывает нулевую задержку. Слева VLC, справа Firefox, получающий WebRTC поток с удаленного сервера.

  Zero VLC Firefox, WCS
Time 50.559 49.791 50.238
Latency ms 768 321

На этом тесте видим задержку на VLC в два раза больше чем задержку на Firefox + Web Call Server, не смотря на то, что видео в VLC воспроизводится в локальной сети, а видео, которое отображается в Firefox проходит через сервер в датацентре в Германии и возвращается обратно. Такое расхождение может быть вызвано тем, что VLC работает по TCP (interleaved mode) и включает какие-то дополнительные буферы для плавного воспроизведения видео. Мы сделали несколько снимков чтобы зафиксировать значения задержки:

Результаты измерений выглядят так:

  Metric Zero VLC Firefox, WCS
Test1 Time 50.559 49.791 50.238
Latency 768 321
Test2 Time 50.331 49.565 49.951
Latency 766 380
Test3 Time 23.870 23.101 23.548
Latency 769 322
Average 768 341

Таким образом, средняя задержка при тестировании с VLC в локальной сети составила 768 миллисекунд. В то время, как средняя задержка при проходе видео через удаленный сервер составила 341 миллисекунду, т.е. была в 2 раза ниже при использовании UDP и WebRTC.

Подводный камень #3 — Битрейт зрителей и потери

Каждый подключившийся к серверу зритель трансляции также имеет определенную пропускную способность на Download. Если IP-камера отправляет поток, превышающий возможности канала зрителя (например камера отправляет 1 Mbps, а зритель может принять только 500 Kbps), то на этом канале будут большие потери и, как следствие фризы видео или сильные артефакты.

В этом случае есть три варианта:

  1. Транскодировать видеопоток индивидуально под каждого зрителя под требуемый битрейт.
  2. Транскодировать потоки не для каждого подключившегося, а для группы группы зрителей.
  3. Подготовить потоки с камеры заранее в нескольких разрешениях и битрейтах.

Первый вариант с транскодингом под каждого зрителя не подходит, так как израсходует ресурсы CPU уже при 10-15 подключившихся зрителей. Хотя нужно отметить, что именно этот вариант дает максимальную гибкость при максимальной загрузке CPU. Т.е. это идеальный вариант например в том случае, если вы транслируете потоки всего на 10 географически распределенных человек, каждый из них получает динамический битрейт и каждому из них нужна минимальная задержка.

Второй вариант заключается в уменьшении нагрузки на CPU сервера с помощью групп транскодирования. Сервер создает несколько групп по битрейту, например две:

  • 200 Kbps
  • 1 Mbps

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

Третий вариант предполагает полный отказ от транскодинга на стороне сервера и использование уже подготовленных видеопотоков в различных разрешениях и битрейтах. В этом случае камера настраивается на отдачу двух или трех потоков с разными разрешениями и битрейтами, а зрители переключаются между этими потоками в зависимости от своей пропускной способности. В этом случае транскодинговая нагрузка на сервер уходит и смещается на саму камеру, т.к. камера теперь вынуждена кодировать два и более потоков вместо одного. В результате мы рассмотрели три варианта подстройки под полосу пропускания зрителей. Если предположить, что одна транскодинг-сессия забирает 1 ядро сервера, то получаются следующая таблица нагрузки на CPU:

  Способ подстройки Количество ядер на сервере
1 Транскодировать видеопоток под каждого зрителя под требуемый битрейт N — количество зрителей
2 Транскодировать видеопотоки по группам пользователям G — количество групп зрителей
3 Подготовить потоки с камеры заранее в нескольких разрешениях и битрейтах

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

Удаленный просмотр через Интернет

Для удалённого просмотра необходимо иметь выделенный, статический IP адрес. В роутере
пробросить соответствующие порты. Свободный пул адресов: 49001—49150. Пример проброса:

  • Порт № 49001 пробросить на локальный адрес 192.168.0.102 и порт № 554
  • Порт № 49002 пробросить на локальный адрес 192.168.0.101 и порт № 554

Если Интернет провайдер выделил нам статический IP адрес 177.177.177.177, то плейлист
для удалённого просмотра будет выглядеть так:

  • rtsp://admin:pass @176.176.176.176:49001/live1.sdp
  • rtsp:// 176.176.176.176:49002/user=admin&password=pass&channel=1&stream=0.sdp?real_stream
  • rtsp:// 176.176.176.176:49002/user=admin&password=pass&channel=2&stream=0.sdp?real_stream

Что такое RTSP

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

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

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

Немного теории

RTSP
— потоковый протокол реального времени (Real Time Streaming Protocol),
предназначенный для использования в системах, работающих с мультимедиа
данными, позволяющий клиенту удалённо управлять потоком данных с
сервера, предоставляя возможность выполнения команд, таких как «Старт»,
«Стоп», а также доступа по времени к файлам, расположенным на сервере.

VLC media player
— это бесплатный, мульти-платформенный мультимедиа проигрыватель, который
воспроизводит большинство мультимедийных файлов, а также различные
протоколы потокового вещания.

Все современные видеорегистраторы и IP видеокамеры могут передавать
изображение и звук, используя протокол RTSP. Чтобы получить данные от
устройства (камеры или регистратора) по этому протоколу, необходимо
обратиться к устройству с запросом. У каждого производителя, вид
RTSP запроса разный.

Пример rtsp запроса к камере D-link DSC-2103:

rtsp://
admin:
pass
@192.168.0.102:
554/
live1.sdp

  • admin – имя пользователя
  • pass – пароль
  • 192.168.0.102 – адрес камеры в локальной сети
  • 554 – адрес порта, зарезервирован за протоколом rtsp
  • 1 – номер потока данных получаемого с видеокамеры.

Отправляя данный запрос, мы стучимся по адресу 192.168.0.102, заходим в
дверь номер 554, где живёт протокол RTSP, и говорим: «Вот тебе имя
пользователя, вот пароль. Дай мне, пожалуйста, поток с видеокамеры,
который называется live1.sdp». Если мы хотим получить вторичный поток
с этой же камеры, то мы отправляем запрос вида:

rtsp://admin:pass @192.168.0.102:554/live
2.sdp

Пример rtsp запроса к видеорегистратору tbtec, divitec, polyvision:


rtsp://
192.168.0.101:
554/user=
admin&password=
pass&channel=
1&stream=
.sdp?real_stream

  • 192.168.0.101 — адрес видеорегистратора в локальной сети
  • 554 — адрес порта, зарезервирован за протоколом rtsp
  • admin — имя пользователя
  • pass — пароль
  • 1 — номер канала, с которого будут передаваться данные.
  • — номер потока данных получаемого от видеокамеры. В данном случае 0 — это основной поток. Если поставить единицу, то будет вторичный поток.

Настройки потокового вещания

Для начала нужно перейти в «Медиа», далее «Передавать».

Нужно с помощью проводника добавить определённый фильм в список воспроизведений и нажать «Поток».

Во втором окне просто нажимаем «Следующий».

Следующее окно очень важное. Первое – это выпадающий список

Здесь нужно выбрать протокол для вещания. Отмечаем (RTSP) и нажимаем «Добавить».

В поле «Порт» указываем, например, «5000», а в поле «Путь» вписываем произвольное слово (буквы), например, «/qwerty».

В списке «Профиль» следует выбрать вариант «Video-H.264+MP3 (MP4)».

В следующем окне мы соглашаемся с перечисленным и нажимаем «Поток».

Проверяем, правильно ли мы настроили трансляцию видео. Для этого открываем другой VLC или другой плеер.

В меню открываем «Медиа»-«Открыть URL».

В новом окне вводим наш локальный IP-адрес. Далее указываем порт и путь, который указали при создании потокового вещания.

В данном случае (для примера) мы вводим «rtsp://192.168.0.0:5000/qwerty». Нажимаем «Воспроизвести».

Как мы узнали, настроить потоковое вещание совсем не тяжело. Следует знать только свой локальный (сетевой) IP адрес. В случае, если вы не знаете его, то можно ввести в поисковую систему в браузере, например, «Мой сетевой IP адрес».

Источник

Потоковое вещание VLC

Прежде всего, программа должна быть установлена на вашем компьютере. Если вы еще не установили VLC используйте такую команду в Ubuntu:

Сначала запустите программу, и если это был первый запуск, то вам нужно принять лицензию:

Затем откройте меню Медиа и выберите пункт Открыть устройство захвата:

Затем перейдите на вкладку Файл, и выберите файл, который вы собираетесь транслировать с помощью кнопки Добавить:

Далее нажмите на стрелку вниз около кнопки Воспроизвести, затем выберите Поток:

В открывшемся окне прочитайте информацию и нажмите Следующий:

Затем нужно выбрать способы вещания в сеть. В строчке Новое назначение выберите HTTP. Затем выберите порт и url по которому будет открываться поток. Данные лучше оставить по умолчанию:

На следующей вкладке отметьте Включить перекодирование, в строчке профиль выберите Video — H.264 +MP3 (MP4):

В следующем окне вы можете настроить различные параметры ffmpeg для потока если это нужно, затем осталось нажать кнопку Поток, чтобы запустить вещание:

Если все прошло успешно появиться главное окно VLC с индикатором воспроизведения, начнется потоковое вещание VLC:

Дальше вы можете проверить работает ли передача видео vlc с помощью mplayer:

Точно также вы можете подключиться к передачи из другого компьютера указав ip адрес, который вы узнали в первом пункте, перед установкой. Поскольку это живой поток, а не воспроизведение из файла, то вы не можете поставить на паузу, использовать ускоренную перемотку.

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

VLC поддерживает сетевую передачу про протоколах HTTP и RTSP. Вы можете использовать различные плееры для приема потокового видео, например Kodi поддерживает HTTP и даже RTSP.

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

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

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

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

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

Трансляция потока с веб-камеры с помощью VLC

Один из самых простых способов передать видео с веб-камеры по сети, это использовать VLC. Задача выполняется всего лишь в несколько кликов, но просто нужно знать, куда кликать Первый раз пришлось изрядно повозиться и погуглить.

Итак. Запускаем VLC и выбираем меню «Медиа->Потоковое вещание» или просто «Ctrl+S«.

Переходим во вкладку «Устройство захвата» и в «Режим захвата» устанавливаем, что мы хотим вещать в сеть. У меня доступны веб-камера и рабочий стол:

Для дальнейшей настройки жмём «Поток» и появляется новое окно:

Выбираем «Далее» чтобы перейти на вкладку «Пути назначения«.Если нас интересует трансляция видео по сети, то в «Новый путь назначения» выбираем «HTTP» и «Добавить«.

Если хотите, чтобы захватываемое видео показывало и локально, то, соответственно, ставим галочку «Воспроизводить локально«. Это больше подходит для отладки.

Далее, выбираем нужный кодек (тут кому что больше нравится) и, при желании, его настраиваем.

Если больше настраивать ничего не хотите, можно жать «Поток«

Источник

Применение

Большинство современных моделей камер видеонаблюдения, а также видеорегистраторов оснащены поддержкой описываемого протокола. Добавив к этим аппаратным составляющим такой надежный программный инструмент, как VideoLAN Client можно осуществить организацию системы для просмотра и сохранения видеоинформации без привлечения профессионалов в этой сфере.

Real Time Streaming Protocol – это прикладной потоковый протокол, описывающий команды, которые служат, чтобы управлять видеопотоком. Команды могут указать IP-камере либо серверу совершать различные действия, к примеру, начать транслировать поток, либо остановить передачу видеоданных.

В параметрах IP-камер может встречаться различное обозначение потокового варианта передачи информации. RTSP, как было сказано выше, является, по сути набором команд, с помощью которого осуществляется управление потоком. Аббревиатуры UDP и RTP указывают на транспортный механизм, применяемый при передаче видео.

СЕТЕВЫЕ ПРОТОКОЛЫ IP КАМЕР

Основные сетевые протоколы, по которым IP камеры передают или получают информацию:

  • RTSP;
  • TCP;
  • UDP;
  • RTP.

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

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

TCP — непосредственно протокол передачи данных видеонаблюдения. То есть IP камера может передавать информацию по TCP, и при этом получать управляющие команды через RTSP либо HTTP. По второму протоколу будет осуществляться управление камерой, по первому — движение видеопотока.

При использовании TCP можно быть уверенным в отсутствии повреждений и потерь передаваемых пакетов, однако работает он медленнее своей менее надёжной альтернативы UDP.

В отличие от TCP UDP-протокол не следит за движением информации и не устанавливает предварительного соединения. Однако передаёт данные быстрее за счёт отсутствия необходимости дублирования потерявшихся при передаче пакетов.

Его логичнее использовать, когда данные видеонаблюдения передаются с высокой интенсивностью, и потеря пары пакетов не играет существенной роли. В проблемных сетях, где потеря части информации критична, лучше использовать надёжный TCP.

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

Работает RTP поверх UDP и на практике неотделимо связан с RTCP, который управляет передачей результатов видеонаблюдения. Благодаря возможности синхронизации отсылки данных и корректировки поставок пакетов с изображением RTP подходит в качестве транспортного протокола лучше всего.

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

В связи с этим следует упомянуть стандарт ONVIF.

ONVIF реализуется организацией Open Network Video Interface Forum, и его цель — устранить проблему несовместимости между IP камерами и приёмными устройствами цифрового сигнала.

С помощью интерфейсов, предлагаемых ONVIF, можно интегрировать устройства различных производителей и не заботиться об условиях, прописанных в их лицензионных соглашениях.

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

При выборе элементов системы IP видеонаблюдения можно следовать простой тактике — смотреть, есть ли в описании упоминания поддержки ONVIF. Если есть — это оборудование с высокой степенью вероятности совместимо с другим оборудованием, поддерживающим этот стандарт.

В противном случае следует учитывать множество возможных проблем при интеграции IP камер, видеорегистраторов/серверов и прочих элементов.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий