Форум » IP Video 9100B/RK/A Plus » Обсуждение php-демона http://ip9100d.sourceforge.net/ » Ответить

Обсуждение php-демона http://ip9100d.sourceforge.net/

Megabyte:

Ответов - 9

Megabyte: Кто пользовался этим скриптом, у меня к вам вопрос: почему-то демон прекращает работу через час с небольшим. кто-нибудь сталкивался с подобной проблемой? помогите решить. делал запись логов в файл. вот последние строчки перед завершением работы: Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Окончание кадра Записываю порт 1 1 50.25 Начало кадра или кадр целиком. Количество кадров: 1 Прочитали блок Продолжение кадра Прочитали блок Продолжение кадра Прочитали блок Окончание кадра Записываю порт 2 ставил все программы как написано в пояснении в демону. + добавил небольшую доработку - авторизацию с логином\паролем на видео-сервер, поскольку иначе надо было ставить на видео-сервере режим без авторизации $out = "GET /GetData.cgi HTTP/1.1\r\n"; $out .= "Authorization: Basic ".base64_encode("$user:$pass")."\r\n"; $out .= "User-Agent: Mozilla/4.0 (compatible; PHP-script engine)\r\n"; $out .= "Accept: */*\r\n"; $out .= "Range: bytes=0-\r\n"; $out .= "Host: bla-bla-bla.ru \r\n"; $out .= "Connection: close\r\n\r\n\r\n";

Megabyte: стал глубже копать. вот что обнаружил: скрипт отваливается через 1 час 20 мин. причина - Jul 25 19:22:10 sdg kernel: pid 85111 (php), uid 0: exited on signal 6 (core dumped) Jul 26 16:23:23 sdg kernel: pid 25746 (php), uid 0: exited on signal 6 (core dumped) как мне кажется, ошибка в рекурсии при выполнении цикла ошибку искать лень, на коленках написал пхп-скрипт который висит в бекграунде и проверяет каждые 2 секунды, запущен демон или нет. если не запушен, то запускает его. #!/usr/local/php/bin/php <? //скрипт для управления 9100-демоном.если он падает , то этот скрипт снова его запускает do { $cmd='/bin/ps -ax | grep 9100d_pub'; exec($cmd,$out); //print_r($out); $ps_count=0; foreach($out as $val) { if (substr_count($val,'/usr/local/php/bin/php /usr/local/bin/9100d_pub')==1) $ps_count++; } if ($ps_count==0) { exec('/usr/local/php/bin/php /usr/local/bin/9100d_pub > /dev/null &');//запускаем демона $date=date('d-m-Y G:i:s'); exec("echo '$date Starting 1900d_pub' >> /mnt/hdd1/webcam2/log"); //логируем дату запуска в файл } //print $ps_count; unset($out); sleep(2); } while (1) ?> скоро буду делать веб-интерфейс для просмотра картинок из камер(с предпросмотром и календариком, все как положено). кому эта инфа будет интересна - стучите в асю 151099922 . готов объединить совместные усилия по данному направлению.

Maxim: Что же вы не пишете мне через службу поддержки проекта https://sourceforge.net/projects/ip9100d/? С подобной проблемой не сталкивался. Скорее всего это что-то у вас с PHP. Попробуйте обновить его до последней версии. Или с системой. Рекурсия здесь не используется. Кстати, я выложил новую версию, можете загружать. Основные функции новой версии: 1. Формирование jpeg-файлов с изображением отдельно для каждой камеры в реальном времени 2. Детектор движения раздельно для каждой камеры 3. Фильтрация случайных срабатываний на основе фактора времени 4. Фильтрация случайных срабатываний на основе образцов фотографий 5. Объединение нескольких событий в одно на основе временных факторов 6. Оповещение о движении по электронной почте 7. Оповещение о движении через SMS 8. Ведение базы данных событий детектора с классификацией 9. Контроль и очистка жесткого диска при превышении допустимого объема архива 10. Автоматическая блокировка при переполнении дискового пространства 11. Формирование уменьшенных изображений для просмотра с мобильных телефонов Что нового в данной версии (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", остальные требуют перезапуска) Планируемые доработки в следующих версиях: 1. WEB-интерфейс для наблюдения за событиями с возможностью просмотра отдельных изображений и видеороликов а также классификацией событий по камерам, датам и категориям (прототип уже создан и эксплуатируется автором) 2. Управление системой (включение и выключение оповещения) с помощью SMS (прототип уже эксплуатируется автором) 3. Оповещение о тревожных событиях с помощью мобильного телефона, подключенного к серверу (требуется помощь) У меня последняя версия системы работает с начала июля в постоянном режиме. Никаких серьезных сбоев не замечено.


Maxim: Да, кстати, авторизацию для видео-сервера я тоже добавил

Maxim: Информация для тех, кто грузил архив с программой вчера. Архив оказался битый. Сейчас доступен исправленный вариант

Maxim: Вот забрел сюда снова. Как время летит быстро! А между прочим, у меня до сих пор успешно работает этот демон и ведется база данных. Ничего не вываливается. Сам сервер, правда, пришлось один раз менять.

Guest: Это хорошо, столько времени прошло и недостатков не обнаружено. Пора переводить статус проекта в release. А что с первым сервером случилось, если не секрет?

Maxim: Сначала вышел из строя блок питания, потом, после замены на другой блок, проработал еще пол года с периодическими зависаниями, после чего совсем сломался. В чем конкретно проблема не знаю. Индикаторы мигают, но в сети устройство не определяется. Пришлось купить новый такой же. Это по прежнему самый недорогой четырехканальный сервер. Он не самодостаточный и скорость невысокая, но по моему вполне себя оправдывает.

Guest: Ясно, спасибо.



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