Большинство современных 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:
Обсуждается: http://www.opennet.me/tips/info/2161.shtml
> Примечание: ffplay (из пакета ffmpeg) -
> единственный плеер в Debian 5.0 Lenny,
> который отобразил этот поток.В смысле ? А сам влк не катит что ли ?
P.S. Я когда с компа лил через влк поток то на ПСП
( сони ) влк показывал несколько секунд а потом ресетил :(
Именно точно тоже самое у меня и было.
Только у меня он не вис а начинал по кругу крутить эти первые секунды.Мало того, качество этого потока было не просто неприемлемым а ужасным.
К сожалению я не нашел ни одного приемлемого решения для ретрансляции rtsp потока.
>Мало того, качество этого потока было не просто неприемлемым а ужасным.Нет ни малейшего смысла говорить о качестве без упоминания
о исходном качестве (характеристике входного mpeg4 потока)
и настройках кодека финального кодирования (в jpeg).В условиях (см. выше) описываемого эксперимента качество было отличным,
только jpeg весил больше среднего - 40Kb.>К сожалению я не нашел ни одного приемлемого решения для ретрансляции rtsp потока.
Долго не гоняли, но несколько раз минутки по 3-5 работало без сбоев.
>Нет ни малейшего смысла говорить о качестве без упоминания
> о исходном качествекогда я говорил о ужасном качестве потока, я имел ввиду, что просматривая входящий поток под тем же квиктаймом и сравнивая исходящий поток в h264/mp4 который отдавал vlc с установленным максимально возможным качеством, исходящий поток не выдерживал никакой критики.
Это касалось именно rtps входящего потока.
Имея на руках камеру которая отдавала поток в rtp таких проблем не было.
Ни самая свежая сборка ffmpeg ни vlc не смогли нормально работать с входящим rtsp потоком. Делалось это все в июле месяце. Сомневаюсь что за месяц что то изменилось.
Ребята, а подскажите как это все на винде работает. Может у кого получилось, я меняю уже 4-ю камеру, ничего не получается, камеры - Evidence M1Box, ACTi 1421, ACTi 4132 Dynacolor m16. <ele jxtym ghtpyfntkty
http://blog.nou-pchelka.ru/?p=99Читайте как я ZM настраивал
Еще один вариант настройки c FFMPEG, буду пробоватьhttp://itmultimedia.ru/translyaciya-video-s-ip-kamery-v-set-.../