The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Захват видео с ip-камер с пробросом на программы видеонаблюдения
Большинство современных ip-камер умеют отдавать потоковое видео двумя основными способами:

1) по протоколу http: в виде потока jpeg-ов (Motion JPEG)
  - поддерживается почти любым софтом - Motion, Zoneminder, AVReg ...

2) по протоколам rtsp:(управление), rtp:(транспорт) и сжатием - mpeg4 (обычно)
  - поддержка захвата по rtsp недавно заявлена только у Zoneminder,
    однако работает ли и как работает - я не проверял,
    если кто пользовал - напишите в комментах.

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

Однако есть небольшое количество камер, которые:

1) могут отдавать видео только по rtsp, например D-Link DCS-950;
 или

2) по http могут отдавать только одиночные кадры JPEG (snapshot mode или still image),
  что создаёт лишнюю нагрузку на сеть (при http/1.0) и не позволяет получить
  высокую и стабильную скорость захвата (условно выше 10fps)
  Примеры: D-Link DCS-2000+, DCS-2100, DCS-3230, DCS-5300.

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

Ниже предлагаю вариант сопряжения подобных устройств с выше обозначенным софтом.
Важное замечание: серьёзными недостатками этого метода являются последствия
дополнительного лишнего декодирования (из mpeg4) и кодирования видео (в jpeg):

1) существенная нагрузка на процессор (+20% на 2.4ГГц Intel-е, поток 640x480@25fps);

2) потеря в качестве изображения.

Итак, к делу - SYNOPSIS.

   % vlc --intf dummy rtsp://x.x.x.x:554/mpeg4/media.amp --no-sout-audio \
     --sout '#transcode{vcodec=MJPG}:standard{ \
        access=http{mime=multipart/x-mixed-replace;boundary=myboundary}, \
          mux=mpjpeg,dst=:8050/video.mjpg}'

   VLC media player 0.8.6h Janus
   [00000289] dummy interface: using the dummy interface module...
   [00000306] main private: creating httpd

Где, vlc - это vlc, x.x.x.x:554 - адрес и rtsp порт сетевой камеры,
8050 - порт http, с которого можно забирать живой поток с камеры в виде Motion JPEG.

Ниже привожу детали для конкретно заинтересованных.

   % sudo netstat -atunp -l | grep vlc
   tcp        0      0 x.x.x.x:60868     x.x.x.x:554   ESTABLISHED 7719/vlc
   # это комп<->камера rtsp
   udp        0      0 0.0.0.0:50750     0.0.0.0:*                 7719/vlc
   udp        0      0 0.0.0.0:50751     0.0.0.0:*                 7719/vlc
   udp        0      0 0.0.0.0:48576     0.0.0.0:*                 7719/vlc
   udp        0      0 0.0.0.0:48577     0.0.0.0:*                 7719/vlc
   # это транспортные соединения rtp для аудио и видео потоков

   tcp        0      0 0.0.0.0:8050      0.0.0.0:*      LISTEN     7719/vlc
   # а вот он и желаемый результат - http-сервер, с которого мы будем забирать MJPEG

Проверяем доступность httpd.

   % HEAD http://localhost:8050/video.mjpg
   200 OK
   Cache-Control: no-cache
   Content-Length: 0
   Content-Type: multipart/x-mixed-replace;boundary=myboundary
   Client-Date: Fri, 04 Sep 2009 11:43:37 GMT
   Client-Peer: 127.0.0.1:8050
   Client-Response-Num: 1

Ну и наконец смотрим.

   % ffplay http://localhost:8050/video.mjpg

Примечание: ffplay (из пакета ffmpeg) - единственный плеер в Debian 5.0 Lenny,
который отобразил этот поток.

Проверяли мы с камерой Axis,
  только видео - rtsp://192.168.53.90:554/mpeg4/media.amp/trackID=1

Настройки Axis:
 Video Stream:
   * Maximum frame rate: Unlimited
 MPEG4(MP4V-ES):
   * Variable bit rate
   * GOV length: 12
   * Maximum bit rate: limited, 3000 kbit/s
   * Variable bit rate

Поток получался 640x480@25fps.
 
08.09.2009 , Автор: Андрей Никитин
Ключи: mpeg, video, webcam / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Обработка изображений и видео

Обсуждение [ RSS ]
  • 1.1, mx (??), 08:21, 08/09/2009 [ответить]  
  • +/
    > Примечание: ffplay (из пакета ffmpeg) -
    > единственный плеер в Debian 5.0 Lenny,
    > который отобразил этот поток.

    В смысле ? А сам влк не катит что ли ?

    P.S. Я когда с компа лил через влк поток то на ПСП
    ( сони ) влк показывал несколько секунд а потом ресетил :(

     
     
  • 2.2, demimurych (?), 11:35, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Именно точно тоже самое у меня и было.
    Только у меня он не вис а начинал по кругу крутить эти первые  секунды.

    Мало того, качество этого потока было не просто неприемлемым а ужасным.

    К сожалению я не нашел ни одного приемлемого решения для ретрансляции rtsp потока.

     
     
  • 3.3, avreg (ok), 12:50, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Мало того, качество этого потока было не просто неприемлемым а ужасным.

    Нет ни малейшего смысла говорить о качестве без упоминания
    о исходном качестве (характеристике входного mpeg4 потока)
    и настройках кодека финального кодирования (в jpeg).

    В условиях (см. выше) описываемого эксперимента качество было отличным,
    только jpeg весил больше среднего  - 40Kb.

    >К сожалению я не нашел ни одного приемлемого решения для ретрансляции rtsp потока.

    Долго не гоняли, но несколько раз минутки по 3-5 работало без сбоев.

     
     
  • 4.4, demimurych (?), 10:58, 10/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Нет ни малейшего смысла говорить о качестве без упоминания
    > о исходном качестве

    когда я говорил о ужасном качестве потока, я имел ввиду, что просматривая входящий поток под тем же квиктаймом и сравнивая исходящий поток в h264/mp4 который отдавал vlc с установленным максимально возможным качеством, исходящий поток не выдерживал никакой критики.

    Это касалось именно rtps входящего потока.

    Имея на руках камеру которая отдавала поток в rtp таких проблем не было.

    Ни самая свежая сборка ffmpeg ни vlc не смогли нормально работать с входящим rtsp потоком. Делалось это все в июле месяце. Сомневаюсь что за месяц что то изменилось.

     

  • 1.5, Евгени (?), 11:37, 20/12/2010 [ответить]  
  • +/
    Ребята, а подскажите как это все на винде работает. Может у кого получилось, я меняю уже 4-ю камеру, ничего не получается, камеры - Evidence M1Box, ACTi 1421, ACTi 4132 Dynacolor m16. <ele jxtym ghtpyfntkty
     
  • 1.6, alex4222 (?), 16:34, 07/04/2011 [ответить]  
  • +/
    http://blog.nou-pchelka.ru/?p=99

    Читайте как я ZM настраивал

     
  • 1.7, Sergey (??), 16:23, 12/12/2013 [ответить]  
  • +/
    Еще один вариант настройки c FFMPEG, буду пробовать

    http://itmultimedia.ru/translyaciya-video-s-ip-kamery-v-set-internet-c-pomosh

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру