Форум » IP Video 9100B/RK/A Plus » Снова про разделение каналов » Ответить

Снова про разделение каналов

Megabyte: Добрый день! Купил видео-сервер 9100B, настроил, все работает. возникли следующие вопросы: 1. Не нашел полного описания вывода команды GetStatus.cgi. пришлите пожалуйста 2. При выполнении http://camera.address/GetData.cgi?Status=1 (выдача видеопотока), за что отвечает параметр status ? может есть еще параметры кроме status? Когда подключена только одна камера, то при вписывании любой цифры выдается картинка с этой камеры. Когда подключена одна ч\б и одна цветная, то при status=0 идет цветная картинка цветной камеры, status=1 идет ч\б картинка цветной камеры, status=2 и других остальных идет ч\б картинка ч\б камеры. 3. Нашел на aviosys.com описание Jpeg/CamImg.jpg . что означают буквы перед .jpg ?? какой-то разделитель ? для чего? http://192.168.10.133/Jpeg/CamImg*.jpg * Mean caractor, notice the capital. fro example: : http://192.168.10.133/Jpeg/CamImg.jpg http://192.168.10.133/Jpeg/CamImg0.jpg http://192.168.10.133/Jpeg/CamImg001.jpg http://192.168.10.133/Jpeg/CamImgABCD.jpg Выложите полный список команд для видео-сервера!! хоть с веб-камерой много общего, но отличия должны быть!!! ------- Кстати все кто работает под юниксами (особенно FreeBSD), советую http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome - позволяет делать захват видео и обрабатывать датчиком движения. есть веб-интерфейс для показа картинок. Для дома или офиса - самое лучшее решение и максимально дешевое!!! Виндоз нервно курит в сторонке когда слышит об аппаратных требованиях - Р3 400-500 MHZ :))) для консольного сервера без монитора и клавы (управление - по сети через SSH) ничего лучше не придумаешь :) У меня стоит FreeBSD, буду ставить эту прогу на след неделе.... если кого заинтересует, выложу подробный отчот.

Ответов - 18

Megabyte: Когда включил одну ч\б и одну цветную камеры, возник баг: все время работал датчик движения и флудил мой фтп картинками на которых не было никакого двидения (за минуту выдавал около 60 картинок). кто-нибудь сталкивался с подобной проблемой? И еще: если включены 2 камеры, то при срабатывании детектора движения в зоне одной камеры должны сбрасываться на фтп только картинки с этой камеры, или со всех ?

Guest: Встроенный детектор движения в данном сервере работает как должен только в Fixed режиме (т.е. только для одной камеры). Далее: 1. Неизвестно; 2. Неизвестно; 3. Ничего не значит, можно любое поставить; Команды для камер 9000x и 9100x полностью совпадают. Отличаются только в плане выбора канала. http://aviosys.fastbb.ru/index.pl?1-3-0-00000015-000-0-0-1146060544 Как выделить кадр для нужной камеры из потока. http://aviosys.fastbb.ru/index.pl?1-3-0-00000012-000-0-0-1146873454

Megabyte: http://www.irrelevant.com/cam/ - php-скрипты для вытаскивания картинок http://www.sunspot.co.uk/Projects/IP_KAM_9000and9100_notes.htm - тоже команды http://woody.solivant.com:8089/9100aplus/ - про прокачку мозгов видеосервера посредством подключения эмулятора терминала


Maxim: Совершенно верно, детектор движения работает корректно только в режиме показа одной камеры. В режиме RoundRobin срабатывает при каждой смене камеры. Скорее всего разработчики столкнулись с каким-то аппаратным ограничением, когда делали сервер, хотя не понимаю каким. А может просто лень доводить до ума. Программа Motion (http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome) - штука конечно хорошая, но, во-первых, на Pentium 1 133Mhz 64 Mb нагрузка 100%, а во-вторых, единичный сбой строчной развертки воспринимает как отказ камеры и выключает наблюдение. Эта ошибка устранена в поздних версиях, но версия под FreeBSD не обновляется с декабря, а человек, который портирует эту программу под FreeBSD, ответил, что не может ничего сделать, так как у него сломался компьютер. В-третьих, она тоже не умеет разделять каналы на ip9xxx. То есть это нужно делать отдельным скриптом. Секрет разделения каналов, который используется в программе smart-recorder (www.smart-recorder.com) заключается в том, что в 14-м байте каждого jpeg кадра хранится номер камеры, по которому можно однозначно ее идентифицировать. Существует несколько php-скриптов, которые так или иначе могут вытаскивать картинки нужных камер из потока по этому принципу, но делают это далеко не лучшим образом. В настоящий момент я заканчиваю разрабатывать свой скрипт на PHP, позволяющий разделять видеопоток в режиме RoundRobin на 4 канала и реализующий простейший детектор движения (отдельно для каждой камеры) на основе PSNR (пиковое соотношение сигнал/шум). Тестирую на FreeBSD Pentium 1 130 Mhz 64 Mb. Средняя нагрузка на процессор 7%. Пока-что результаты хорошие, если вести наблюдение в помещении. Если есть желающие потестировать, могу дать, когда доведу до ума.

Megabyte: Я первый на тестирование :) могу сделать веб-интерфейс для просмотра картинок

Guest: Подключайтесь к http://groups.yahoo.com/group/9100/, там много чего интересного есть. Megabyte ссылки все, кроме последней, известны. Вот такие еще есть: http://www.ipw.net/web-video/web-cam-server1.htm http://www.drgw.net/~maverick/pmwiki.php/Electronics/WinbondIPCams

Megabyte: Maxim, как с тобой связаться? стучись ко мне в асю 151099922

Maxim: Сейчас я регистрирую проект на sourceforge.net, когда закончу, свяжусь

Maxim: http://ip9100d.sourceforge.net/

Den: Люди подскажите мне пожалуйста как я смогу разделить видео канал с одного IP Сервера на котором висит две кмеры?Либо может есть какойто приличный софт каторый это сможет сделать?

Guest: http://smart-recorder.com/

Maxim: Вышла новая версия системы ip9100d См. http://ip9100d.sourceforge.net/ Что нового в данной версии (2 beta 1): 1. Исправлены ошибки в анализаторе потока (поддерживается частота 25 кадров в секунду в режиме работы с одной камерой) 2. Оптимизирована работа детектора движения при большом объеме архива изображений (деление на папки по дням) 3. Введена фильтрация случайных срабатываний 4. Внедрено ведение базы данных детектора движения (на основе MySQL) 5. Внедрено объединение событий при малой паузе 6. Введено оповещение о тревожных событиях через E-Mail и SMS 7. Внедрен механизм обслуживания дискового пространства - блокирование демона при переполнении диска, удаление старых событий из архива при превышении лимита (удаляются как файлы так и записи в базе данных) 8. В рамках планируемого создания WEB интерфейса введен демон формирования уменьшенных изображений для просмотра с мобильного телефона 9. Введен файл конфигурации (9100d.ini). Теперь все настройки программы осуществляются с помощью него 10. Файл конфигурации 9100d.ini динамически контролируется, и, в случае наличия изменений в файле, значения параметров динамически обновляются, не требуя перезапуска демона (действительно только для демона "9100d2_pub", остальные требуют перезапуска)

DVM: Maxim пишет: 1. Не нашел полного описания вывода команды GetStatus.cgi. пришлите пожалуйста /GetStatus.cgi returns a pure text with 73 bytes£º Byte 0, 1 Camera State(2) 00 - off 01 - on Byte 2, 3 Modem State(2) 00 - off 01 - on line(common mode) 02 - connecting(common mode) Byte 4, 5 PPPoE State(2) same as Modem State Byte 6, 7, 8 x-direction(3) reserved Byte 9, 10, 11 y-direction(3) reserved Byte 12, 13, 14 focus(3) reserved Byte 15, 16, 17 bright(3) 0 - 255 Byte 18, 19, 20 contrast(3) 0 - 255 Byte 21 resolution(1) 00 - {176, 144}, 01 - {352, 288}, 02 - {320, 240}, 03 - {640, 480}, 04 - {800, 600}, 05 - {1280, 960} Byte 22 compression ratio(1) reserved Byte 23 privilege(1) 0 - super user(administrator) 1 - common user Byte 24, 25, .., 29 picture index(6) (999999 - invalid picture) Byte 30 email state(1) 0 - do not send motion-detected pictures 1 - send motion-detected pictures, success 2 - send motion-detected pictures, fail (wrong ip, user or password?) Byte 31 user check(1) 0 - do not check user, any user can connect and act as a super user 1 - username and password required, only username is "administrator" has the super privilege. Byte 32, 34, .., 39 image file length(8) length in bytes Byte 40, 42, .., 55 monite rect(16) 4 - left(0-9999) 4 - top(0-9999) 4 - right(0-9999) 4 - bottom(0-9999) Byte 56 ftp state(1) 0 - disable ftp upload 1 - enable ftp upload, and upload success 2 - enable fpt upload, but fail(wrong ip, user or password?) Byte 57, 58, 59 saturation(1) 0 - 255 Byte 60, 61, ..., 65 motion detected index (999999 - init value) Byte 66, 67, 68 hue 0 - 255 Byte 69, 70, 71 sharpness 0 - 255 Byte 72 motion detect way 0 - no motion detect non-zero - motion detect Maxim пишет: 2. При выполнении http://camera.address/GetData.cgi?Status=1 (выдача видеопотока), за что отвечает параметр status ? может есть еще параметры кроме status? Отвечает за подмешивание в видеопоток статусной инфы: Description Get images/status with "multipart/x-mixed-replace" mime-type. (no privilege required) Grammar /GetData.cgi[?Status=<true|false>] Remark GetData.cgi is designed for "server-push". "Server-push" means that user need not always detect camera's state, and the camera server transfer the camera data on its own. GetData.cgi[?Status=false] returns: HTTP/1.0 200 OK Date: Wed, 19 Feb 2003 03:40:16 GMT Server: WYM/1.0 Connection: close Content-Type: multipart/x-mixed-replace;boundary=WINBONDBOUDARY Last-Modified: Wed, 19 Feb 2003 03:40:16 GMT Pragma: no-cache Cache-Control: no-cache Expires: 01 Jan 1970 00:00:00 GMT --WINBONDBOUDARY Content-Type: image/jpeg <content of jpeg file> --WINBONDBOUDARY Content-Type: image/jpeg <content of jpeg file> --WINBONDBOUDARY ... GetData.cgi?Status=true returns: HTTP/1.0 200 OK Date: Wed, 19 Feb 2003 03:40:16 GMT Server: WYM/1.0 Connection: close Content-Type: multipart/x-mixed-replace;boundary=WINBONDBOUDARY Last-Modified: Wed, 19 Feb 2003 03:40:16 GMT Pragma: no-cache Cache-Control: no-cache Expires: 01 Jan 1970 00:00:00 GMT --WINBONDBOUDARY Content-Type: image/jpeg <content of jpeg file> --WINBONDBOUDARY Content-Type: text/plain <same as what's returned by GetStatus.cgi> --WINBONDBOUDARY Content-Type: image/jpeg <content of jpeg file> --WINBONDBOUDARY Content-Type: text/plain <same as what's returned by GetStatus.cgi> --WINBONDBOUDARY ...

Guest: Хотя уже выкладывалось, но еще раз видимо не помешает. Описание GetStatus.cgi процитировано отсюда. Т.к. документ изначально предназначался для камер и видеосерверов O'Rite может иметь место некоторые несовпадения с реализованным в Aviosys.

DVM: Guest пишет: Т.к. документ изначально предназначался для камер и видеосерверов O'Rite может иметь место некоторые несовпадения с реализованным в Aviosys Так и есть. Отличия небольшие.

00700: На запрос GetData.cgi?Status=true. Сервер возвращяет такие данные в Content-Type: text/plain. Content-Type: text/plain 0100000000000001281286002402760000010218000000000000000001289999991280000111500001880000000000000000100000 --WINBONDBOUDARY Content-Type: text/plain 0100000000000001281286002402770000025362000000000000000001289999991280000111500001880000000000000000100000 --WINBONDBOUDARY Content-Type: text/plain 0100000000000001281286002402780000021658000000000000000001289999991280000111500001880000000000000000100000 --WINBONDBOUDARY Content-Type: text/plain 0100000000000001281286002402790000009494000000000000000001289999991280000111500001880000000000000000100000 --WINBONDBOUDARY Content-Type: text/plain Как определить с какого канала картинка в Content-Type: image/jpeg?

Guest: Выше по тексту. Секрет разделения каналов ... заключается в том, что в 14-м байте каждого jpeg кадра хранится номер камеры, по которому можно однозначно ее идентифицировать. Пример как вычленить из потока данных кадры и узнать каким каналам они принадлежат. Можно поставить на данную модель прошивку от Yoics. В ней есть отдельный запросы для получения текущего кадра c каждого из портов в режиме Round Robin.

00700: Guest пишет: Спасибо.



полная версия страницы