URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 58634
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Захват видео с ip-камер с пробросом..."

Отправлено auto_tips , 08-Сен-09 08:21 
Большинство современных 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.


URL:
Обсуждается: https://www.opennet.ru/tips/info/2161.shtml


Содержание

Сообщения в этом обсуждении
"Захват видео с ip-камер с пробросом на программы видеонаблюдения"
Отправлено mx , 08-Сен-09 08:21 
> Примечание: ffplay (из пакета ffmpeg) -
> единственный плеер в Debian 5.0 Lenny,
> который отобразил этот поток.

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

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


"Захват видео с ip-камер с пробросом на программы видеонаблюд..."
Отправлено demimurych , 08-Сен-09 11:35 
Именно точно тоже самое у меня и было.
Только у меня он не вис а начинал по кругу крутить эти первые  секунды.

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

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


"Захват видео с ip-камер с пробросом на программы видеонаблюд..."
Отправлено avreg , 08-Сен-09 12:50 
>Мало того, качество этого потока было не просто неприемлемым а ужасным.

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

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

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

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


"Захват видео с ip-камер с пробросом на программы видеонаблюд..."
Отправлено demimurych , 10-Сен-09 10:58 
>Нет ни малейшего смысла говорить о качестве без упоминания
> о исходном качестве

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

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

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

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


"Захват видео с ip-камер с пробросом на программы видеонаблюдения"
Отправлено Евгени , 20-Дек-10 11:37 
Ребята, а подскажите как это все на винде работает. Может у кого получилось, я меняю уже 4-ю камеру, ничего не получается, камеры - Evidence M1Box, ACTi 1421, ACTi 4132 Dynacolor m16. <ele jxtym ghtpyfntkty

"Захват видео с ip-камер с пробросом на программы видеонаблюдения"
Отправлено alex4222 , 07-Апр-11 16:34 
http://blog.nou-pchelka.ru/?p=99

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


"Захват видео с ip-камер с пробросом на программы видеонаблюдения"
Отправлено Sergey , 12-Дек-13 16:23 
Еще один вариант настройки c FFMPEG, буду пробовать

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