ООО "Сетевые информационные системы"
ПО видеонаблюдения LinuxDVR c поддержкой аналоговых CCTV видеокамер и сетевых IP видеокамер.

www.LinuxDVR.ru

Документ изменен: 15.07.2013,    распечатан: 28.03.2024

Сетевые камеры.

Настройка программы видеонаблюдения LinuxDVR (спец. дистрибутив) / AVReg (Debian/Ubuntu) для набл. и записи потокового видео c интернет видеокамер по протоколу Motion JPEG (MJPG).

1   Выбор/проверка модели.

Представляем неполный, но проверенный список устройств, поддерживающих захват видеопотока в формате MJPEG по протоколу HTTP (иногда сокращают до MJPG или Motion JPEG).
Почему именно mjpeg/http? Потому что, захватывать видео в формате mpeg4 (включая mpeg4 part10/AVC, он же h.264) по протоколам rtp/rtsp/http, в настоящее время ни LinuxDVR, ни AVReg (новая версия софта) пока не могут.

Axis Panasonic Arecont D-Link Planet
Бевард Trendnet ACTi Smartec Aviosys
Foscam Apexis Vivotek Genius
Если вы не нашли CGI-запрос для нужной модели ip-камеры в нашей базе знаний на этой странице, посмотрите здесь или напишите нам.
Замечание по захвату аудиопотоков: AVReg 5.5 может
забирать аудио потоки с некоторых моделей видеокамер.
Значения параметра "A.http_get" для захвата аудио:
  * Axis (все):
        - /axis-cgi/audio/receive.cgi
  * D-Link (все новые модели) и некоторые "похожие" на D-Link модели,
    например TV-IP512P):
        - /audio/ACAS.cgi
  * Panasonic (BB-HCM and BL-C series):
        - /nphAudio?Mode=Mixed
  * Aviosys 9100B:
        -  /GetAudioData.cgi?Format=Pcm
        и A.force_fmt = pcm_u8'


2   Настройка вашей сетевой камеры или видеосервера через штатный (фирменный) софт (обычно "родной" веб-интерфейс камеры).

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

После этого нужно проверить режим наблюдения в/к через браузер. Для этого запускаем Интернет браузер (Internet Explorer, Mozilla) и вводим в строке запроса URL в/к или как написано в паспорте на устр-во.

Хотя почти все серьезные фирмы поддерживают разные браузеры, проще всего просмотреть в/к через браузер Mozilla Firefox, Opera 10, Google Chrome. Под Windows и Linux/Unix эти браузеры поддерживают Motion JPEG без всякого дополнительных плагинов и прослоек - Java или ActiveX.

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

Как минимум, в родном веб-интерфейсе камеры вы должны настроить следующее:
  • дату/время + !!! врезать в кадр;
  • название + !!! врезать в кадр;
  • разрешение кадра;
  • степень сжатия;
  • максимальный framerate (fps) (если нужно);
  • запаролить доступ (если нужно).

3   Определение запроса HTTP на получения потока MJPEG, то есть что нужно подставить в параметр InetCam_HTTP_GET.

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

Motion JPEG оборудование не представивших (или скрывающих) документацию производителей, проверялось методом перехвата и анализа соединения TCP/IP live demo webcam на их сайтах в Интернет и успешно заработало с результатом 100%. По мере накопления материала мы будем публиковать, то что раскопали.

   Производитель: Axis (Швеция)

Фирменное ПО (для компьютера, не для уст-ва) управления, записи, в/наблюдения называется так:

  • Axis Camera Station.
  • Axis Camera Recorder.
  • Axis Media Control.

Если у устройства firmware новый, то запрос должен быть следующего вида:
/axis-cgi/mjpg/video.cgi?resolution=640x480&color=1&fps=5

а если firmware старый, то:
/axis-cgi/mjpg/video.cgi?resolution=640x480&colorlevel=100&req_fps=5

Где:
  • resolution - запрашиваемое разрешение ширина X высота в пикселях,
  • colorlevel,color - параметры цветности,
  • req_fps,fps - запрашиваемое кол-во кадров/сек.

Выяснить какой firmware зашит в устройство можно по запросу с параметру fps - в старом ПО всесто него req_fps и des_fps. К тому же, можно скачать и перешить новое firmware с www.axis.com.

Список доступных разрешений смотрите в паспорте или инструкции, хотя можете методом тыка попробывать основные из них (стандарт PAL): 320x240, 352x288, 384x288, 480x360, 640x480, 704x576. Т.е. набрали запрос с параметром resolution=WxH, получили картинку, смотрим ей размеры - сошлось значит Ok.

Для более детального изучения всех параметров приводим 2 ссылки, где это подробно описано (за исключением того, как посмотреть версию firmware :-) : Video API HTTP v2,   Video API HTTP v1. Ищите раздел "MJPG video CGI request"



   Производитель: Planet ® (Тайвань)    поставщик: ЗАО "БелСофт МСК"
ICA-HM101, версия прошивки 6.C.2.8552
 /asp/video.cgi?profile=3&resolution=1600x1200
другие MJPEG профили и разрешения см. в настройках "Video Profile" камеры

ICA-HM100, версия прошивки 5.a.2.7317, mjpeg-запросы для различных разрешений:
/asp/video.cgi?profile=8&resolution=sxga
/asp/video.cgi?profile=9&resolution=vga
/asp/video.cgi?profile=10&resolution=qvga
/asp/video.cgi?profile=11&resolution=qqvga

ICA-HM312, версия прошивки 6.D.2.6834
/asp/video.cgi?resolution=1080p
/asp/video.cgi?resolution=640x352
/asp/video.cgi?resolution=320x176
/asp/video.cgi?resolution=160x80
ICA-HM136, ICA-HM316, ICA-HM132, версия прошивки V1.0.XX_PL:
(потоковый mjpeg) /GetData.cgi?CH={номер_потока}
(snapshot jpeg) /GetImage.cgi?CH={номер_потока}
где значение (!!! подставлять без скобок {}) параметра CH
определяет номер потока (1 или 2 или 0) в
настройках камеры (Настройка A/V Настройка видео).
ICA-H160 версия прошивки 5.0.2.4196
(потоковый mjpeg) /video.cgi?resolution=4cif
(snapshot jpeg) /image.cgi?resolution=4cif
ICA-HM126, ICA-HM131 версия прошивки pla20100923NS или pla20101215NS
(на камере Streaming -> Video Format -> Video Resolution = любое  сочетание с MJPEG)
V.http_het = «/» (без кавычек)
InetCam_http_port = 8008 (на камере Network -> Basics -> MJPEG over HTTP port)

  • ICA-H312, ICA-H651
  • ICA-HM350, ICA-HM135, ICA-HM130, ICA-HM230, ICA-M220, ICA-(M)230
  • потоковый mjpeg:
    универсальный запрос, которым можно получить все разрешения:
    /video.cgi[?resolution={sxga,vga,qvga,qqvga}]
    например, для 1280х1024: "/video.cgi?resolution=sxga"
    всегда 640х480: /mjpg/video.mjpg

    IVS-110,
    ICA-120, ICA-107, ICA-108, ICA-310, ICA-312, ICA-350,
    ICA-510, ICA-525, ICA-530, ICA-601/651, ICA-700
    (потоковый mjpeg) /mjpg/video.mjpg
    (snapshot jpeg) /jpg/image.jpg

    ICA-151, ICA-750
    (mjpeg, «чистый») /img/video.mjpeg
    (mjpeg с включениями служебных данных, но тоже работает) /img/mjpeg.cgi

    IVS-100, ICA-300, ICA-302, ICA-500
    (mjpeg) /GetData.cgi?Status=1
    (snapshot jpeg) /Jpeg/CamImg.jpg

    ICA-100C и ICA-100PE (с прошивкой v.3.12 от 2005-08-18)
    (mjpeg) /video.cgi

    ICA-150, ICA-550
    (mjpeg) /img/mjpeg.cgi !!! работают только в новой версии AVReg http://avreg.net

    ICA-110
    (snapshot jpeg) /goform/capture



        D-Link ®

    Новые модели:

    • DCS-1100, DCS-1130,
    • DCS-2102, DCS-2121,
    • DCS-2103, DCS-2130,
    • DCS-3110, DCS-3410, DCS-3411, DCS-3415, DCS-3430, DCS-3710
    • DCS-5230,DCS-5605, DCS-5635
    • DCS-6111, DCS-6410, DCS-6510, DCS-6511, DCS-6817, DCS-6818
    • DCS-7110, DCS-7410, DCS-7510, DCS-7510
    • DVS-210-1, DVS-310-1

    (mjpeg вариант1) /video{НОМЕР_ПРОФИЛЯ}.mjpg
    (mjpeg вариант2) /video/mjpg.cgi?profileid={НОМЕР_ПРОФИЛЯ}
    где число {НОМЕР_ПРОФИЛЯ} (!!! подставлять без скобок {})- номер профиля с выбранным кодированием JPEG/MJPEG (Mode = JPEG) в настройках «Video Settings» или «Setting -> Audio and Video».

    (snapshot вариант1) /image/jpeg.cgi
    (снапшот вариант2) /cgi-bin/viewer/video.jpg?streamid={НОМЕР_ПРОФИЛЯ}

    DCS-910/920/930
    (mjpeg) /mjpeg.cgi
    (snapshot jpeg) /image.jpg
    возможны запросы в верхнем регистре, например /MJPEG.CGI и /IMAGE.JPG.

    DCS-3110, DCS-5610, DCS-6110
    (mjpeg) /video.mjpg или /video2.mjpg
    (snapshot jpeg) /cgi-bin/viewer/video.jpg

    DCS-900
    /video.cgi?resolution=640x480
    или
    /video.jpg?resolution=640x480

    см. также http://forum.linuxdvr.ru/viewtopic.php?t=100

    DCS-2000+, DCS-2100, DCS-2120, DCS-3230, DCS-5220, DCS-5300, DCS-6620(G)
    (snapshot jpeg) /cgi-bin/video.jpg

    MJPEG видеошлюзы DVS-104, DVS-301
    /cgi-bin/video.cgi?cam=N&quality=Q&size=S
    или
    /cgi-bin/video.jpg?cam=N&quality=Q&size=S

    где
    N - номер канала (камеры),
    Q=1,2,3,4,5 - чем больше цифра тем выше качество изображения и больше размер кадра,
    S=1(176х144), 2 и 4 (352х288), 3 и 5 (704х576) (прим: для стандарта PAL)



        Panasonic ®

    WV-NP244, WV-NF284, WV-NW484, WV-NS202, WV-NS202A, WV-NS954, WV-NW964, WV-NF302, WV-NP304, WV-NP1004, WJ-NT304, WJ-NT314, WV-NP502, WV-NW502, WJ-GXE500, WV-SP30X Series, WV-SF33X Series, WV-SC385, WV-SP10XSeries
    /cgi-bin/mjpeg?framerate=15&resolution=640x480
    или /cgi-bin/jpeg?connect=start&framerate=5&resolution=640&UID=7777
    для видеосерверов WJ-NT304, WJ-NT314 нужно ещё добавить параметр ch=N (номер канала)
    Примечания:

    • Источник: http://panasonic.net/pss/security/library/developer.html, файл: CGI Common «Ref Panasonic_Network_camera ver1.25», документ: «External interface specifications of Panasonic WV-Series Network Camera Ver.1.25», разделы «3.1.11. Request JPEG video transmission ( "UID" is unnecessary )» и «3.1.2. Request JPEG video transmission».
    • Если вы используете /cgi-bin/jpeg с UID, см. рецепт, чтобы время от времени камера не разрывала соединение каждые 2,5 мин.
    BL-C1, BL-C10, BL-C111, BL-C131, BL-C20, BL-C210, BL-C230, BL-C30, BL-C140, BL-C160, BL-C121
    KX-HCM10, KX-HCM8
    WV-NP502, WV-NW502,
    WV-SP305, WV-SP306, WV-SP302, WV-SF336, WV-SF335, WV-SF332, DG-SP306, DG-SF335 (все с прошивкой >= v1.30),
    WV-SF342, WV-SF346 (все с прошивкой >= v1.30),
    DG-SP304V, DG-SF334 (все с прошивкой >= v1.30),
    WV-SP105, WV-SP102, DG-SP102 (все с прошивкой >= v1.30),
    WV-SC385, DG-SC385,
    WV-SW395, DG-SW395,
    WV-SC384, BB-SC384,
    WV-SW355, WV-SW352, DG-SW355,
    WV-SW155, WV-SW152, DG-SW155, DG-SW152,
    WV-SF135, WV-SF132, DG-SF135,
    BB-HCM715, BB-HCM735, BB-HCM705,
    BB-HCM701,
    BB-HCM515, BB-HCM511, BB-HCM531,
    BB-HCM580, BB-HCM581, BB-HCM527, BB-HCM547,
    /nphMotionJpeg?Resolution=640x480&Quality=Standard
    или
    /ImageViewer?Mode=Motion&Resolution=640x480&Quality=Standard&Title=1
    Примечание:
    • разумеется вы можете ставить другие разрешённые значения параметров Resolution (320x240, 640x480, 1280x960, 1280x1024) и Quality (Motion, Standard, Clarity).
    • некоторые модели понимают параметр Framerate для управления скоростью конкретного потока.
    WV-NP472
    /cgi-bin/cameraid?UID=



        Arecontvision
    http://www.arecontvision.com/supports/INTEGRATING-ARECONT-VISION-CAMERAS
    
    На этой странице ищите разлел "HTTP (HyperText Transfer Protocol)"
    и открывайте pdf-документ по ссылке "Click here to download"
    
    Строки запроса GET для подстановки в V.http_get описаны в разделах:
    Chapter III - HTTP Access
    HTTP Request Format for Continuous MJPEG Video Streaming
    HTTP Request Format for Receiving Individual JPEG Frames
    


        Trendnet

    TV-IP100, IP-200, TV-IP201, TV-IP400:
    (mjpeg) /VIDEO.CGI
    (snapshot) /IMAGE.JPG

    TV-IP110, TV-IP400W:
    (mjpeg) /cgi/mjpg/mjpg.cgi
    (snapshot) /cgi/jpg/image.cgi

    TV-IP501(w):
    (mjpeg) /MJPEG.CGI

    TV-IP512P:
    (mjpeg) /video/mjpg.cgi



        Smartec
    STC-IP2580/IP3301A/IPM2090A/IPM3090A

    (mjpeg) /cgi-bin/cmd/system?GET_STREAM

    Особенности получения видеопотока mjpeg по http с этих камер:
    1. прошивка должна быть не старее версии 3.11.13;
    2. в настройках видео "VIdeo Setting" в веб-интерфейсе камеры: "Streaming Mode" = "TCP only", "Encoding type" = "MJPEG", "B2 Frame Enable" = "Выкл".
    STC-IPM3095A/3096A/3595A

    (mjpeg) /ipcam/mjpeg.cgi

    (snapshot) /ipcam/jpeg.cgi


        ACTi

    (mjpeg для камер ACM-XXXX ) /cgi-bin/cmd/encoder?GET_STREAM

    Особенности получения видеопотока mjpeg по http с этих камер:
    1. прошивка должна быть не старее версии 3.11.13;
    2. в настройках видео "VIdeo Setting" в веб-интерфейсе камеры: "Streaming Mode" = "TCP only", "Encoding type" = "MJPEG", "B2 Frame Enable" = "Выкл".

    (mjpeg для камер ACM-E51 ) /cgi-bin/system?USER=login&PWD=password&GET_STREAM



        BEWARD
    Совместимыми являются камеры с поддержкой MJPEG over HTTP:
    • серии BD
    • серии N

    В настройках камеры Beward нужно выбрать:
    (на примере BD4070, для других моделей выбирайте по аналогии)

    • VideoFormat/Video Resolution - нужно выбрать любой пункт, включающий «MJPEG»;
    • Network/Advanced:
      • «MJPEG over HTTP port» - далее по тексту beward_mjpeg_over_http_port
      • «Web Server port» - далее по тексту beward_http_port
    В настройках камеры AVReg 5.5:
    «InetCam_IP» = «beward_camera_ip»
    поток MJPEG по http:
      для камер серии BD:
        «InetCam_http_port» = «beward_mjpeg_over_http_port»
        «V.http_get» = «/»
      для камер серии N с прошивкой 16.16.03:
        V.http_get = «/video.mjpg»
    
    JPEG по http (одиночные кадры):
      для камер серии BD:
        «InetCam_http_port» = «beward_http_port», по умолчанию 80
        «V.http_get» = «/cgi-bin/jpg/image.cgi»
    
      для камер серии N с прошивкой 16.16.03:
        «InetCam_http_port» = «beward_http_port», по умолчанию 80
        «V.http_get» = «/jpg/image.jpg» 
     



        FOSCAM

    Модели: FI8904(W), FI8909(W)-NA, FI8902(W), FI8903(W), FI8908(W):
    (mjpeg) /videostream.cgi
    (snapshot) /snapshot.cgi
    Необязательные CGI-параметры: user, pwd и resolution={8(для 320x240) и 32(для 640х480)}



    Apexis

    APM-J0233: (mjpeg) /videostream.cgi (что-то foscam напоминает, или наоборот)



        Genius

    IPCAM SECURE300
    /video.cgi



    AVIOSYS

    Документация по управлению в/к IP Kamera v9000(A) и IP Видео Сервер v9100 выложена на русскоязычный сайте http://www.aviosys.ru/command.html

    Смотрите также форум на этом сайте. Примечание: прошивки часто меняются, стандарты не выдерживаются.

    (9000, 9100) MpJPEG: /GetData.cgi?Status=1

    Особенность работы с 4-х канальными видеосерверами серии 9100.

    Если Вы хотите одновременно захватывать несколько каналов в режиме round robin, предварительно нужно включить этот режим.
    Для это входим IE (именно им) на 9100, включаем round robin и ставим галки на реально подключенные камеры.

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

    (9100) одиночный JPEG: /Jpeg/CamImg.jpg

    (9060) MJPEG: /cgi-bin/Stream?Video

    (9060) одиночный JPEG: /snapshot.jpg?UserName=USER=&PassWord=PASS

    Vivotek

    ip7161
    /cgi-bin/viewer/video.jpg?streamid=3&resolution=800x600&quality=5


    4   Настройки захвата с сетевой камеры/видео-шлюза в программе LinuxDVR.

    Итак предположим что у нас камера Axis и как мы уже знаем, HTTP запрос на получение потока MJPEG для неё такой:
    /axis-cgi/mjpg/video.cgi?resolution=640x480&color=1&fps=5

    Заходим в веб-интерфейс LinuxDVR и определяем особо значимые параметры для настройки интернет вебкамер.

    debug = "Вкл" - в журнал будет сыпаться много отладочной информации (просмотр по Alt-F4). Полезно если не заработало или что-то не так.

    • cam_type - "netcam";
    • geometry - "640x480";
    • color - "Вкл".

    При несовпадении geometry и color с тем, что реально в/к выдает - сервер обругается и ничего записывать и показывать не будет.

    • InetCam_URL = http://<IP_адрес>[:port]
    • InetCam_HTTP_GET * = /axis-cgi/mjpg/video.cgi?resolution=640x480&color=1&fps=5
    • InetCam_USER и InetCam_PASWD - если только поток запаролен.;

    Примечение:

    • * InetCam_HTTP_GET показан для устройств Axis, для других устройств формат запроса смотрите в разделе выше.
    • В версии AVReg, вместо InetCam_URL нужно определять параметр InetCam_IP значением ip-адреса камеры без префикса http:// и без указания порта (он указывается отдельно в InetCam_http_port), а вместо параметра InetCam_HTTP_GET - V.http_get.

    Запускаем/перегружаем ПО сервера (!!!НЕ ПК) и читаем лог-файл (Alt-F4 на сервере или через браузер). Если валом повалила инф. - скорее всего видео поток принимается с устр-ва, запускаем утилиту наблюдения mon и смотрим.

    Если все нормально, правим запрос по вкусу (разрешение, fps), выключаем отладку debug-Выкл и перегружаем ПО сервера (!!!НЕ ПК).
    Если нет, внимательно читаем что записано в логе и связываемся с нами.

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


    Программа видеонаблюдения за web камерами MONITOR

     увеличить
    (1280х960 ~150Kb)

    Copyright (©) 2004-2010 ООО "Сетевые информационные системы", mailto: