«

»

Май 11

Распечатать Запись

Трансляция видео с IP камеры в сеть Интернет

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

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

Зачем нужно транслировать видео в сеть Интернет?

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

Что обычно необходимо для организации трансляции?

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

  1. Камера.
  2. Кодер.
  3. Сервер.

Примеры разных типов камер:  Аналоговые камеры, IP камеры, USB web камеры.

Примеры кодеров: Аппаратные кодеры (ViewCast Niagra 2120), Программные кодеры (Adobe FMLE, WireCast или Flash приложение).

Примеры серверов: Adobe Flash Streaming Server, Wowza, Erlyvideo, Red5 и др. Подробнее читайте в статье про медиа сервера.

Суть реализованного нами проекта

 В одном из проектов (около года назад), нам необходимо было создать систему трансляции с IP камеры, чтобы пользователи могли заходить на веб сайт и видеть видеоизображение строящегося здания во Flash плеере.  Максимальное число одновременных клиентов не больше 10. Т.е. система без особых нагрузок. Камера уже предоставлялась (Модель —  AXIS  P3344 Network Camera). То есть камеру мы не выбирали. Получается, необходимо было реализовать следующую цепочку:

IP-камера > Кодер > Медиа Сервер > Flash плеер пользователя

 После прочтения технической документации стало понятно, что камеры AXIS умеют отдавать видеопоток по протоколу – RTP/RTSP (RTSP – это потоковый протокол реального времени). Дальше был проведен анализ Медиа серверов, которые могут забирать видеопотоки по этому протоколу, чтобы далее передать их удаленным пользователям уже по другому протоколу, который называется RTMP (Real Time Messaging Protoco). Для этих целей был выбран Wowza сервер. Бесплатная версия Wowza сервера позволяет осуществлять до 10 одновременных подключений пользователей.

 В качестве кодера использовалось Flash web приложение, которое поставляется вместе с Wowza сервером. В итоге, вся система свелась к следующей цепочке:

IP-камера > Web приложение > Wowza сервер > Flash плеер пользователя.

1. Основные настройки Камеры

 Чтобы настроить IP камеру, надо зайти в ее административный web интерфейс, далее выбрать кодек и разрешение видео для транслируемого мультимедийного потока. Также необходимо разрешить протокол RTSP (Enable RTSP Server). В случае с нашей камерой, протокол RTSP можно было включить во вкладке Advanced (Меню: System Options > Network > TCP/IP > Advanced). Далее смотрим в технической документации камеры ‘RTSP URL’, по которому можно забрать с нее видеопоток. Для камеры AXIS P3344, адрес будет такой:

rtsp://<ip>/axis-media/media.amp

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

2. Wowza server

 Wowza сервер устанавливается довольно просто. Также очень много информации по настройке есть в Интернете, поэтому разобраться будет несложно, также выкладываю видео с описание установки, после статьи. Для запуска Wowza сервера мы используем команду: /usr/local/WowzaMediaServer/bin/startup.sh

3. Настройка Flash приложения

 С Wowza  сервером поставляется набор тестовых приложений, которые находятся в директории examples. Одно из них называется Live Video Streaming (examples/LiveVideoStreaming/client/live.html), его мы и использовали, для того чтобы указать серверу Wowza откуда надо забрать поток с IP камеры, по протоколу RTSP. Далее сервер заменяет протокол RTSP на RTMP и отдает удаленным пользователям.  На картинке ниже, вы можете посмотреть это приложение и пример параметров настройки. Чтобы настроить данное приложение, надо загрузить его в веб браузере и указать всего два параметра:

  1. Server: IP адрес сервера Wowza, порт и точка подключения удаленных пользователей.
  2. Stream: ‘RTSP URL’ потока IP камеры.

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

4. Настройка Flash плеера.

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

(‘streamer’,’rtmp://192.168.0.1:1935/rtplive’);

(‘file’,’rtsp://192.168.0.2:554/axis-media/media.amp’);

Также IP камера позволяет вставить в изображение логотип и время, может кому-то пригодится.

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

Вот вроде и все. До встречи!

 Приглашаю подписаться на новости моей публичной страницы ВКонтакте, ее адрес http://vk.com/itmultimedia . Буду рад видеть Вас в своих подписчиках! 

 Как установить и настроить Wowza сервер смотрите в видео (скринкасте), ниже. Скринкаст был создан моим коллегой, Евгением Петровым.

Поделиться в соц. сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Постоянная ссылка на это сообщение: http://itmultimedia.ru/translyaciya-izobrazheniya-s-ip-kamery-v-set-internet/

Комментарии:

23 комментария

  1. Сергей

    Здравствуйте.
    подскажите пожалуйста, какие файлы Wowza (или скрипты РНР), надо залить в папку на хостинг РНР, и в каком скрипте надо указать RTSP ссылку на IP камеру для последующего вывода потока на веб страничку?
    в документации ни чего не нашел…
    спасибо!

  2. Анатолий

    Нужно выбрать какой-нибудь плеер (JW Player, Flowplayer или др.) и написать код для встраивания плеера в web страничку.

  3. Сергей

    позвольте уточнить, т.е. сервер Wowza мне придется по любому дома запустить и держать его постоянно включенным?
    мне бы хотелось сделать так- IP камера в домашней сети, доступна по DDNS, транслирует RTSP поток. А уже на хостинге скрипт раздает его клиентам через тот-же Flowplayer (подгружаемый с того-же хостинга клиентам). Есть ли в пакете Wowza, РНР скрипты такие? (желательно бесплатные (-:)
    MJPEG поток то гораздо проще у меня получилось воткнуть в веб, без всяких серверов… а вот Н.264 ну ни как альтернативы не найду )-:
    http://mbqqq.narod.ru/ipcam/LCD-TV.htm

  4. Анатолий

    Да Wowza придется всегда держать включенным. Как встроить плеер вы можете почитать на сайте разработчика плеера (Flowplayer).

    1. Сергей

      грустно… а не посоветуете скрипт РНР который вместе с плеером можно подгрузить клиенту с того же юкоза?
      т.е. скрипт на хосте принимает мою RTSP ссылку и транслирует в плеер клиенту. есть ли на сегодня такое решение? опять же желательно free (-:
      спасибо за ответы.

      1. Анатолий

        Такие скрипты я не знаю. Как раз Медиа сервер Wowza и служит для преобразования RTP/RTSP в RTMP.

        1. Сергей

          нееее… постоянно включённый ПК с сервером дома это не вариант… увы
          но спасибо за консультацию тем не менее.

  5. Алексей

    День добрый! Установил Wowza, в наличии имеется IP камера D-Link 2103, она умеет передавать поток по rtsp, всё как надо)) надо вывести её на сайт. в плеере VLC поток типа rtsp://192.168.0.2:554/live1.sdp проигрывается отлично, но когда ввожу данные в Wowza — пишет ошибку Failed to play rtsp://192.168.0.2:554/live1.sdp; stream not found… Данные такие: Server rtmp://192.168.0.1:1935/live , Stream rtsp://192.168.0.2:554/live1.sdp. кто знает что ему надо???

  6. Дмитрий

    Доброго времени суток. Подскажите может ли работать Wowza с несколькими камера? если нет, то какой бесплатный сервер это может? нужно вывести видео с порядка 10 ip-камер на страничку. Заранее спасибо

    1. Анатолий

      Да конечно возможно. Для этого он и предназначен. Если нужна помощь в настройке, обращайтесь http://itmultimedia.ru/kontakty/

      1. Дмитрий

        В статье про Медиа сервера написано про бесплатную версию, которая позволяет одновременное подключение 10 клиентов, подскажите где можно найти такую версию? На оф. сайте только Free 30-day Trial.

        1. Анатолий

          Нужно зарегистрироваться на сайте Wowza, чтобы получить лицензию.

          For those users who need more than 30 days to develop, test, create and validate applications for any screen, Wowza provides a 180-day Developer license. This license is intended for long-term development tasks, it includes one (1) license key for one (1) server instance, up to ten (10) channels and limited access to all AddOns. Simply complete this form and you will receive a Developer license key by email.

          1. Дмитрий

            а версии без ограничения по времени нет?

          2. Анатолий

            180 дней максимум дается для такой лицензии — Wowza provides a 180-day Developer license.

  7. Анатолий

    180 дней максимум дается для такой лицензии — Wowza provides a 180-day Developer license.

    1. Дмитрий

      Тогда можете подсказать бесплатный сервер?

      1. Анатолий

        Есть бесплатный Red5 и Erlyvideo бесплатная версия. Выбор сервера зависит от того, для чего он будет использоваться. Статья про сервера: http://itmultimedia.ru/media-servera-flash-media-server-wowza-erlyvideo-red5/

  8. Дима

    Добрый день, Анатолий!
    Пытаюсь сделать трансляцию на инете для IP-камеры. Задача такая же как у вас, только камера у меня hikvision.
    Через VLC-плеер все работает, поток в плеер идет по протоколу http. Но в этом плеере большой минус — нужно ставить на Mozill’у дополнительный плагин от VLC.
    Поэтому хочу создать трансляцию через обычный jw-player. Вроде делаю все по науке, установил сервер Wowza, запустил его (через Администрирование->Службы->Wowza). Wowza на том физическом сервере, что сервер TRASSIR.
    Дальше, указываю такие пути:

    ('stream','rtmp://10.11.207.131:1935/rtplive');
    ('file','rtsp://10.11.207.131:554')

    131 — это сама камера, подставляю и 102 — это уже сервер TRASSIR.
    Сейчас на экран выводится сам плеер, но ни на что не реагирует.

    VLC работает по такому пути —
    http://10.11.207.102/oPDYOMMW?container=mjpeg&stream=main
    где oPDYOMMW — id камеры.

    Как решить задачу, что посоветуешь проверить, может Wowza не пашет?, хотя показывает что работает

  9. Анатолий

    Дмитрий, посмотрите логи Wowza. Попробуйте напрямую забрать с камеры сигнал Wowza сервером.

    1. Дима

      В логи посмотрел, там не понятный мне бред)
      Пытаюсь напрямую подключится ч/з Wowza. Делаю так:
      В поле Server указываю такой путь — rtmp://10.11.207.102:1935/live (или vod)
      А в Stream — rtsp://10.11.207.131:554
      где 131, как уже писал, сама камера (102 — сервер), подставляю и то и другое, разницы нет.
      В Status пишет ответ: Failed to play rtsp://10.11.207.131:554; stream not found.
      Я как понимаю сервер мне говорит, что не нашел поток с камеры.
      Что делать не понимаю, уже все цифры переставил, тупо не показывает. Через http:// в брауезере все ок, но jw-player этот протокол чет не понимает, точнее ему нужен еще файл для чтения, наскока помню.
      Может в портах дело? Кстати, что за порт 1935? где его можно проверить?

  10. Kalempir

    Добрый день всем.
    У меня вопрос про саму архитектуру организации трансляции видео с айпи камер.
    У меня вообще нету опыта работы с ними, но есть такое задание.
    И так,
    1-вариант. У айпи камер есть веб интерфейс, и можно напрямую смотреть видео поток с браузера. Кажется в этом случае, камера будет загружен если числа подключенных клиентов будет превышать скажем 3-4, что не есть хорошо. Камера Много подключений. Основная нагрузка будет на айпи камеру. Видео будет риал тайм.
    2-вариант. Устанавливаем медиа сервер, медиа сервер будет получать видео поток с айпи камеры, и затем распределять их пользователям которые подключились к нему. То есть Камера Медиа сервер Много подключений. В этом случае основная нагрузка будет на медиа сервер. Видео для пользователей будет риал тайм.

    У меня будет много камер разбросанных по всему городу Х, и много пользователей, которые могут просмотривать онлайн видео поток с камер. Если мои рассуждения правильны, то кажется будет правильным выбрать 2-вариант.

    1. Анатолий

      Да все верно, вам подойдет именно второй вариант!

  11. Дмитрий

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

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

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

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>