Как транслировать с видеорегистратора

Обновлено: 07.07.2024

Продолжаем серию статей про полезности, которые нам дает wifi, а именно про удаленное онлайн видео наблюдение с помощью сетевого видеорегистратора и камер через интернет. Простую схему мы уже разобрали в одной из прошлых статей. Однако использовать дома или в офисе компьютер в качестве регистратора не совсем удобно на постоянной основе, так как необходимо иметь круглосуточно работающий ПК, на диск которого будет записываться видео. Да и с удаленным доступом к камерам могут возникнуть трудности. Другое дело — построить систему онлайн видеонаблюдения с удаленным доступом к IP камерам с помощью подключения через регистратор. Именно о таком типе мы и поговорим.

Чем онлайн наблюдение через видео регистратор лучше, чем с компьютера?

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

  • Во-первых, это это удобно, так как экономит место. Регистратор небольшой по размеру и его можно спрятать где-то в укромном месте комнаты, что удобно для домашнего исопльзования.
  • Во-вторых, в большинстве современных моделей видеорегистраторов уже встроена поддержка различных сервисов, чтобы удаленно посмотреть видео с камер онлайн через интернет.
  • Еще одна особенность — поддержка приложений для просмотра онлайн видео с мобильных устройств — iOS и Android.

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

Комплект онлайн видеонаблюдения — сетевой регистратор и камеры

Итак, приступим. Сперва-наперво надо определиться с необходимым оборудованием. Для организации интернет-видеонаблюдения через регистратор потребуется:

  • Сам рекордер
  • Аналоговые или цифровые камеры (не IP)
  • Монитор с VGA кабелем
  • Кабели для подключения камер к регистратору, блоку питания и патчкорд для соединения его с роутером
  • Съемный жесткий диск для установки в регистратор и записи
  • Источник питания для камер и регистратора

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

Составить такой набор можно самостоятельно, выбрав из множества представленных сегодня на рынке моделей. Однако новичку проще не изобретать велосипед, а остановиться на уже готовом решении, которое, например, предоставляет фирма UControl. Я уже неоднократно говорил, что не являюсь представителем какой-то фирмы и не рекламирую ничьи продукты — я говорю только о тех решениях, которые испробовал сам и которые считаю удобными для использования. Именно таким мне показались комплекты от UControl, которые предоставляют полный набор оборудования + приложения для работы с камерами через ПК и мобильные устройства.

комплект видеонаблюдения

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

Здесь все уже включено, от самих камер и регистраторов, различных блоков питания и кабелей для подключения камер, микрофонов и мониторов, и вплоть до наличия специального программного обеспечения для работы с этой системой как с ПК, так и через мобильные платформы. Также в сам регистратор уже будет предварительно вставлен жесткий диск — не придется устанавливать его самостоятельно — в общем, как говорится, all inclusive.

Предлагается несколько разных вариантов, отличающихся по цене и навороченности. Выбирайте любой — все они обеспечат подключение видеонаблюдения с записью на жесткий диск.

комплект видеонаблюдения ucontrol

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

Видео обзор

Для наглядности предлагаю посмотреть видеообзор одного из подобных комплектов.

Если все же хотите собрать комплект самостоятельно, то рекомендую в качестве регистратора видео использовать также проверенную продукцию компании Polyvision, а в качестве жесткого диска — WD Purple.

Схема подключения системы видеонаблюдения через интернет

Теперь определимся со схемой:

    Камеры подключаются кабелями к регистратору.

подключение камер к регистратору

подключение комплекта видеонаблюдения

видеорегистратор к интернету

В итоге должна будет получиться примерно такая картинка.

Схема видеонаблюдения

Запись видеона регистратор

Детально останавливаться на процессе соединения проводов я не буду — если не разберетесь сами, то для этого есть множество мануалов. Суть в том, что надо подключенные к источнику питания камеры присоединить к видеорегистратору, а регистратор к роутеру патчкордом (в разъем LAN) и так далее по схеме. Также не буду разбирать тонкую настройку работы видеорегистратора. В зависимости от модели они могут отличаться — штудируйте руководство.

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

подключение регистратора к сети

сетевая настройка видеорегистратора

Установите следующие рекомендуемые параметры (ваши IP адреса могут отличаться от тех, что на скриншоте, в зависимости от настроек роутера):

Применяем параметры и сохраняем.

вход в админку регистратора

Далее, если вы используете не IE, а Opera, Firefox или Chrome вас попросят установить какое-то приложение, например, QickTime Player, для просмотра картинки с видеокамер. Устанавливаем необходимые дополнения, которые он попросит и все, смотрим прямую трансляцию видеонаблюдения с наших камер.

подключение видеонаблюдения с записью

управление элементами active x

трансляция видеонаблюдения

Если не удается установить элемент ActiveX, то либо у вас совсем старая версия Internet Explorer, либо использование ActiveX запрещено в настройках браузера. Для пользователей Windows Vista и 7 можно также попробовать отключить контроль учетных записей.




Для одного RTSP потока потребуется один YouTube аккаунт, который будет принимать поток. Но что делать если камер не одна, а много?

Да, можно насоздавать вручную несколько YouTube-аккаунтов, например, чтобы покрыть видеонаблюдением приусадебный участок. Но это с огромной вероятностью нарушит условия пользовательского соглашения. А если камер не 10, а все 50? Создавать 50 аккаунтов? А дальше что? Смотреть это как? В этом случае на помощь может прийти микшер, который объединит камеры в один поток.

Посмотрим, как это работает на примере двух RTSP камер. Результирующий поток mixer1 = rtsp1 + rtsp2. Отправляем стрим mixer1 на YouTube. Все работает - обе камеры идут в одном потоке. Здесь стоит заметить, что микширование - достаточно ресурсоемкая по использованию CPU операция.



Меня, как девопса, будет мучать совесть, если я не заскриптую то, что можно было бы заскриптовать. Автоматизации способствует наличие REST API для управления захватом видео с камеры и ретрансляцией.

Например, с помощью запроса:

можно захватить видеопоток от IP камеры.

позволит получить список захваченных сервером RTSP потоков.

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

Захватом и ретрансляцией видеопотоков можно управлять или с помощью простого браузера и любого удобного REST клиента, или с помощью минимального количества строчек кода встроить функционал управления сервером в свой web проект.

Давайте подробно рассмотрим, как это можно сделать.

Небольшой мануал, как с помощью минимального кода организовать Live трансляцию на YouTube и Facebook

Предполагается, что у вас имеется подтвержденный аккаунт на YouTube и вы уже создали трансляцию в YouTube Studio, а так же создали прямую видеотрансляцию в своем аккаунте на Facebook.

Для работы Live трансляций на YouTube и Facebook нужно указать в файле настроек WCS flashphoner.properties следующие строки:

rtmp_transponder_stream_name_prefix= – Убирает все префиксы для ретранслируемого потока.

rtmp_transponder_full_url=true – В значении "true" игнорирует параметр "streamName" и использует RTMP адрес для ретрансляции потока в том виде, в котором его указал пользователь.

rtmp_flash_ver_subscriber=LNX 76.219.189.0 - для согласования версий RTMP клиента между WCS и YouTube.


Теперь, когда все подготовительные действия выполнены, перейдем к программированию. Разместим в HTML файле минимально необходимые элементы:

Подключаем скрипты основного API и JS скрипт для работы live трансляции, который мы создадим чуть позже:

Инициализируем API на загрузку web-страницы:

Добавляем нужные элементы и кнопки – поля для ввода уникальных кодов потоков для YouTube и Facebook, кнопку для републикации RTSP потока, div элемент для вывода текущего статуса работы программы и кнопку для остановки републикации:

Затем переходим к созданию JS скрипта для работы републикации RTSP. Скрипт представляет собой мини REST клиент.

Константа "url", в которую записываем адрес для запросов REST API . Замените "demo.flashphoner.com" на адрес своего WCS.

Константа "rtspStream" — указываем RTSP адрес потока с IP камеры. Мы для примера используем RTSP поток с виртуальной камеры.

Функция "init_page()" инициализирует основной API при загрузке web - страницы. Так же в этой функции прописываем соответствие кнопок вызываемым функциям и вызываем функцию "getStream", которая захватывает RTSP видеопоток с IP камеры:

Функция "getStream()" отправляет на WCS REST запрос /rtsp/startup который захватывает видеопоток RTSP адрес которого был записан в константу rtspStream

Функция "streamToYouTube()" републикует захваченный видеопоток в Live трансляцию на YouTube:

Эта функция отправляет на WCS REST вызов /push/startup в параметрах которого передаются следующие значения:

"streamName" - имя потока, который мы захватили с IP камеры. Имя потока соответствует его RTSP адресу, который мы записали в константу "rtspStream"

"rtmpUrl" - URL сервера + уникальный код потока. Эти данные выдаются при создании Live трансляции в YouTube Studio. В нашем примере мы жестко закрепили URL в коде, вы можете добавить для него еще одно поле на свою web страницу. Уникальный код потока указывается в поле "streamKeyYT" на нашей Web странице.

Функция "streamToFB" републикует захваченный видеопоток в Live трансляцию на Facebook:

Эта функция так же отправляет на WCS REST вызов "/push/startup" в параметрах которого передаются значения:

"streamName" - имя потока, который мы захватили с IP камеры. Имя потока соответствует его RTSP адресу, который мы записали в константу "rtspStream"

"rtmpUrl" - URL сервера + уникальный код потока. Эти данные можно найти на странице Live трансляции в Facebook в секции Live API. Url сервера в этой функции мы указали в коде, как и для функции републикации на YouTube. Уникальный код потока берем из поля "streamKeyFB" на Web странице.

Функция "stopStream()" отправляет RTSP запрос "/rtsp/terminate" который прекращает захват потока с IP камеры на WCS и соответственно прекращает публикации на YouTube и Facebook:

Полные коды HTML и JS файлов рассмотрим немного ниже.

Итак. Сохраняем файлы и пробуем запустить.

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

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


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


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


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


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


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


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

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

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

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

Ссылки

WCS на Amazon EC2 - Быстрое развертывание WCS на базе Amazon

WCS на DigitalOcean - Быстрое развертывание WCS на базе DigitalOcean

WCS в Docker - Запуск WCS как Docker контейнера

Трансляция WebRTC видеопотока с конвертацией в RTMP - Функции сервера по конвертации WebRTC аудио видео потока в RTMP

HTML5-трансляции с RTSP-IP камер - Функции сервера по воспроизведению RTSP видеопотоков

Продолжаем серию статей про полезности, которые нам дает wifi, а именно про удаленное онлайн видео наблюдение с помощью сетевого видеорегистратора и камер через интернет. Простую схему мы уже разобрали в одной из прошлых статей. Однако использовать дома или в офисе компьютер в качестве регистратора не совсем удобно на постоянной основе, так как необходимо иметь круглосуточно работающий ПК, на диск которого будет записываться видео. Да и с удаленным доступом к камерам могут возникнуть трудности. Другое дело — построить систему онлайн видеонаблюдения с удаленным доступом к IP камерам с помощью подключения через регистратор. Именно о таком типе мы и поговорим.

Чем онлайн наблюдение через видео регистратор лучше, чем с компьютера?

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

  • Во-первых, это это удобно, так как экономит место. Регистратор небольшой по размеру и его можно спрятать где-то в укромном месте комнаты, что удобно для домашнего исопльзования.
  • Во-вторых, в большинстве современных моделей видеорегистраторов уже встроена поддержка различных сервисов, чтобы удаленно посмотреть видео с камер онлайн через интернет.
  • Еще одна особенность — поддержка приложений для просмотра онлайн видео с мобильных устройств — iOS и Android.

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

Комплект онлайн видеонаблюдения — сетевой регистратор и камеры

Итак, приступим. Сперва-наперво надо определиться с необходимым оборудованием. Для организации интернет-видеонаблюдения через регистратор потребуется:

  • Сам рекордер
  • Аналоговые или цифровые камеры (не IP)
  • Монитор с VGA кабелем
  • Кабели для подключения камер к регистратору, блоку питания и патчкорд для соединения его с роутером
  • Съемный жесткий диск для установки в регистратор и записи
  • Источник питания для камер и регистратора

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

Составить такой набор можно самостоятельно, выбрав из множества представленных сегодня на рынке моделей. Однако новичку проще не изобретать велосипед, а остановиться на уже готовом решении, которое, например, предоставляет фирма UControl. Я уже неоднократно говорил, что не являюсь представителем какой-то фирмы и не рекламирую ничьи продукты — я говорю только о тех решениях, которые испробовал сам и которые считаю удобными для использования. Именно таким мне показались комплекты от UControl, которые предоставляют полный набор оборудования + приложения для работы с камерами через ПК и мобильные устройства.

комплект видеонаблюдения

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

Здесь все уже включено, от самих камер и регистраторов, различных блоков питания и кабелей для подключения камер, микрофонов и мониторов, и вплоть до наличия специального программного обеспечения для работы с этой системой как с ПК, так и через мобильные платформы. Также в сам регистратор уже будет предварительно вставлен жесткий диск — не придется устанавливать его самостоятельно — в общем, как говорится, all inclusive.

Предлагается несколько разных вариантов, отличающихся по цене и навороченности. Выбирайте любой — все они обеспечат подключение видеонаблюдения с записью на жесткий диск.

комплект видеонаблюдения ucontrol

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

Видео обзор

Для наглядности предлагаю посмотреть видеообзор одного из подобных комплектов.

Если все же хотите собрать комплект самостоятельно, то рекомендую в качестве регистратора видео использовать также проверенную продукцию компании Polyvision, а в качестве жесткого диска — WD Purple.

Схема подключения системы видеонаблюдения через интернет

Теперь определимся со схемой:

    Камеры подключаются кабелями к регистратору.

подключение камер к регистратору

подключение комплекта видеонаблюдения

видеорегистратор к интернету

В итоге должна будет получиться примерно такая картинка.

Схема видеонаблюдения

Запись видеона регистратор

Детально останавливаться на процессе соединения проводов я не буду — если не разберетесь сами, то для этого есть множество мануалов. Суть в том, что надо подключенные к источнику питания камеры присоединить к видеорегистратору, а регистратор к роутеру патчкордом (в разъем LAN) и так далее по схеме. Также не буду разбирать тонкую настройку работы видеорегистратора. В зависимости от модели они могут отличаться — штудируйте руководство.

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

подключение регистратора к сети

сетевая настройка видеорегистратора

Установите следующие рекомендуемые параметры (ваши IP адреса могут отличаться от тех, что на скриншоте, в зависимости от настроек роутера):

Применяем параметры и сохраняем.

вход в админку регистратора

Далее, если вы используете не IE, а Opera, Firefox или Chrome вас попросят установить какое-то приложение, например, QickTime Player, для просмотра картинки с видеокамер. Устанавливаем необходимые дополнения, которые он попросит и все, смотрим прямую трансляцию видеонаблюдения с наших камер.

подключение видеонаблюдения с записью

управление элементами active x

трансляция видеонаблюдения

Если не удается установить элемент ActiveX, то либо у вас совсем старая версия Internet Explorer, либо использование ActiveX запрещено в настройках браузера. Для пользователей Windows Vista и 7 можно также попробовать отключить контроль учетных записей.

Людям, которые недавно обзавелись видеорегистратором, придется самостоятельно подключать его к сети Internet. Многим может показаться, что сделать это очень сложно. Однако на самом деле в этом нет ничего трудного. Особенно если заранее разобраться, как подключить видеорегистратор к интернету и что для этого нужно сделать.


Регистратор — устройство, часто используемое для осуществления видеонаблюдения

Подключение видеорегистратора для работы через интернет

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

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

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

Какое потребуется подключение


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

Существует несколько способов подключения видеорегистраторов к сети Internet. Среди них можно выделить следующие:

  • ADSL. Этот способ позволяет одновременно подключать 2 видеокамеры с высоким разрешением транслируемого изображения или 3-4 устройства с более плохим качеством картинки. Главный недостаток этого метода — медленная скорость передачи данных. Поэтому не рекомендуется пользоваться ADSL, если надо подключать более 4 устройств.
  • Роутер. Сегодня чаще всего используют подключение видеорегистратора Dahua и других моделей к интернету через роутер. Такой способ подключения считается наиболее качественным и надежным. Роутер обеспечивает передачу данных на скорости 100 Мбит/с.
  • Wi-Fi. Довольно часто используется беспроводной метод подключения через Wi-Fi сеть. Такой способ не очень надежный, так как периодически могут возникать обрывы связи. Для хорошего качества картинки, качество связи должно быть высоким как на стороне видеорегистратора, так и на стороне пользователя системы.

Дополнительная информация! Подключать устройство беспроводным способом нужно только при наличии хорошего приема Wi-Fi сигнала.

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

Особенности использования роутера и 3G-модема


3G-модемы редко используются для подключения видеорегистраторов к интернету из-за медленной передачи данных

Некоторые пользователи подключают видеорегистраторы к интернету, используя сети 3G или 4G. На самом деле пользоваться таким методом не стоит. Дело в том, что работа мобильных сетей во многом зависит от качества покрытия. При плохой связи скорость работы интернета будет слишком низкой для передачи данных с видеорегистратора. Лучше подключать устройство через роутер или Wi-Fi.

Нужно понимать, что видеопоток в приемлемом разрешении (когда хорошо видно, что именно происходит перед камерой), это мегабайты информации. Быстро передавать такие объемы способно только проводное соединение.

Настройка удаленного доступа

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

Настройка видеорегистратора

Для начала необходимо изменить параметры в самом устройстве, которое будет записывать и транслировать видео. Настраивается видеорегистратор следующим образом:

Настройка роутера


Настройка роутера осуществляется через любой браузер

Закончив с видеорегистратором, можно настраивать маршрутизатор. Для этого необходимо сделать следующее:

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

Какие программы лучше для этого использовать


IP Camera Viewer — софт, часто используемый при настройке видеонаблюдения

После того, как удалось подключить регистратор видеонаблюдения к интернету, необходимо выбрать ПО для просмотра видео. Чаще всего для этого используются следующие программы:

  • IP Camera Viewer. Это бесплатный софт, позволяющий смотреть видео с USB или IP-камер. У данной программы достаточно обширные функциональные возможности. Она позволяет делать фотоснимки, перематывать и записывать видео. При необходимости можно увеличить и уменьшить изображение.
  • Active Webcam. Программа используется для транслирования аудио и видео в реальном времени. При срабатывании датчиков движения Active Webcam отправляет оповещения на E-Mail и мобильный номер.
  • ZoneMinder. Этот софт разработан для управления камерами наблюдения. Использовать программу можно на устройствах с ОС Windows и Linux. ZoneMinder поддерживает большинство аналоговых, IP и USB камер.

Важно! Прежде чем использовать тот или иной софт, надо убедиться в том, что он совместим с регистратором.

Возможные проблемы подключения

При подключении видеорегистратора к интернету периодически появляются проблемы. К наиболее распространенным можно отнести следующее:

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

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




Для одного RTSP потока потребуется один YouTube аккаунт, который будет принимать поток. Но что делать если камер не одна, а много?

Да, можно насоздавать вручную несколько YouTube-аккаунтов, например, чтобы покрыть видеонаблюдением приусадебный участок. Но это с огромной вероятностью нарушит условия пользовательского соглашения. А если камер не 10, а все 50? Создавать 50 аккаунтов? А дальше что? Смотреть это как? В этом случае на помощь может прийти микшер, который объединит камеры в один поток.

Посмотрим, как это работает на примере двух RTSP камер. Результирующий поток mixer1 = rtsp1 + rtsp2. Отправляем стрим mixer1 на YouTube. Все работает - обе камеры идут в одном потоке. Здесь стоит заметить, что микширование - достаточно ресурсоемкая по использованию CPU операция.



Меня, как девопса, будет мучать совесть, если я не заскриптую то, что можно было бы заскриптовать. Автоматизации способствует наличие REST API для управления захватом видео с камеры и ретрансляцией.

Например, с помощью запроса:

можно захватить видеопоток от IP камеры.

позволит получить список захваченных сервером RTSP потоков.

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

Захватом и ретрансляцией видеопотоков можно управлять или с помощью простого браузера и любого удобного REST клиента, или с помощью минимального количества строчек кода встроить функционал управления сервером в свой web проект.

Давайте подробно рассмотрим, как это можно сделать.

Небольшой мануал, как с помощью минимального кода организовать Live трансляцию на YouTube и Facebook

Предполагается, что у вас имеется подтвержденный аккаунт на YouTube и вы уже создали трансляцию в YouTube Studio, а так же создали прямую видеотрансляцию в своем аккаунте на Facebook.

Для работы Live трансляций на YouTube и Facebook нужно указать в файле настроек WCS flashphoner.properties следующие строки:

rtmp_transponder_stream_name_prefix= – Убирает все префиксы для ретранслируемого потока.

rtmp_transponder_full_url=true – В значении "true" игнорирует параметр "streamName" и использует RTMP адрес для ретрансляции потока в том виде, в котором его указал пользователь.

rtmp_flash_ver_subscriber=LNX 76.219.189.0 - для согласования версий RTMP клиента между WCS и YouTube.


Теперь, когда все подготовительные действия выполнены, перейдем к программированию. Разместим в HTML файле минимально необходимые элементы:

Подключаем скрипты основного API и JS скрипт для работы live трансляции, который мы создадим чуть позже:

Инициализируем API на загрузку web-страницы:

Добавляем нужные элементы и кнопки – поля для ввода уникальных кодов потоков для YouTube и Facebook, кнопку для републикации RTSP потока, div элемент для вывода текущего статуса работы программы и кнопку для остановки републикации:

Затем переходим к созданию JS скрипта для работы републикации RTSP. Скрипт представляет собой мини REST клиент.

Константа "url", в которую записываем адрес для запросов REST API . Замените "demo.flashphoner.com" на адрес своего WCS.

Константа "rtspStream" — указываем RTSP адрес потока с IP камеры. Мы для примера используем RTSP поток с виртуальной камеры.

Функция "init_page()" инициализирует основной API при загрузке web - страницы. Так же в этой функции прописываем соответствие кнопок вызываемым функциям и вызываем функцию "getStream", которая захватывает RTSP видеопоток с IP камеры:

Функция "getStream()" отправляет на WCS REST запрос /rtsp/startup который захватывает видеопоток RTSP адрес которого был записан в константу rtspStream

Функция "streamToYouTube()" републикует захваченный видеопоток в Live трансляцию на YouTube:

Эта функция отправляет на WCS REST вызов /push/startup в параметрах которого передаются следующие значения:

"streamName" - имя потока, который мы захватили с IP камеры. Имя потока соответствует его RTSP адресу, который мы записали в константу "rtspStream"

"rtmpUrl" - URL сервера + уникальный код потока. Эти данные выдаются при создании Live трансляции в YouTube Studio. В нашем примере мы жестко закрепили URL в коде, вы можете добавить для него еще одно поле на свою web страницу. Уникальный код потока указывается в поле "streamKeyYT" на нашей Web странице.

Функция "streamToFB" републикует захваченный видеопоток в Live трансляцию на Facebook:

Эта функция так же отправляет на WCS REST вызов "/push/startup" в параметрах которого передаются значения:

"streamName" - имя потока, который мы захватили с IP камеры. Имя потока соответствует его RTSP адресу, который мы записали в константу "rtspStream"

"rtmpUrl" - URL сервера + уникальный код потока. Эти данные можно найти на странице Live трансляции в Facebook в секции Live API. Url сервера в этой функции мы указали в коде, как и для функции републикации на YouTube. Уникальный код потока берем из поля "streamKeyFB" на Web странице.

Функция "stopStream()" отправляет RTSP запрос "/rtsp/terminate" который прекращает захват потока с IP камеры на WCS и соответственно прекращает публикации на YouTube и Facebook:

Полные коды HTML и JS файлов рассмотрим немного ниже.

Итак. Сохраняем файлы и пробуем запустить.

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

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


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


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


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


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


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


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

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

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

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

Ссылки

WCS на Amazon EC2 - Быстрое развертывание WCS на базе Amazon

WCS на DigitalOcean - Быстрое развертывание WCS на базе DigitalOcean

WCS в Docker - Запуск WCS как Docker контейнера

Трансляция WebRTC видеопотока с конвертацией в RTMP - Функции сервера по конвертации WebRTC аудио видео потока в RTMP

HTML5-трансляции с RTSP-IP камер - Функции сервера по воспроизведению RTSP видеопотоков

Читайте также: