Motion, Zoneminder???
|
|
Volody | Дата: Среда, 17.12.2008, 09:37 | Сообщение # 1 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Поклонников операционной системы Линукс становится все больше и больше, а последние дистрибутивы самой системы на сегодняшний день позволяют даже новичкам без проблем установить Линукс на своем компьютере, причем сделать это можно даже без уничтожения известного продукта старины Билла, а это немаловажно для ценителей проприетарного ПО. Одним из так называемых "линь-десктопов с человеческим лицом" является дистрибутив Ubuntu Итак, начнем ветку с OpenSource проекта Motion. Видео приложение Motion , к которому написано множество дополнений и расширений свободным сообществом, позволяет создать любому желающему (конечно, при некотором имеющемся запасе знаний) недорогую охранную систему для своего жилища или офиса. Программа включает в себя отличный детектор движения, возможность реализации видеоинформации в mjpeg, ppm, или mpeg потоках с записью на винчестер, передачу файлов на ftp-сервер и многое, многое другое. В большинстве дистрибутивов Linux, поставляемое ядро включает драйвера video4linux, разработкой значительной части которых занимается Gerd Knorr. В продаже (не только в специализированных магазинах) чаще всего можно встретить карты видеозахвата, использующие видеодекодеры: BT878, CX2388x (Connexant Fusion) и SAA713x (Philips), с разрядностью АЦП: 8, 10, 9 bit соответственно. Как правило, различают два класса устройств - с аппаратным сжатием и без такового. В своих экспериментах по "захвату" видео я использую старенькую плату AverMedia на bt878, имеющую три аналоговых видео входа: два композитных и один S-VIDEO. Модули на моем компьютере (ОС Ubuntu 8.10) размещены в каталоге: /lib/modules/ХХХХХХ/kernel/drivers/media/video (ХХХХХХ в моем случае: "2.6.27-7-generic". Итак, вначале нужно определить тип платы при помощи утилит "lspci" (пакет pciutils) и "v4l-info" (пакет xawtv). У меня: Code 02:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) Затем: Code ~$ v4l-info /dev/video0 | head Code ### v4l2 device info [/dev/video0] ### general info VIDIOC_QUERYCAP driver : "bttv" card : "BT878 video (ProVideo PV143)" bus_info : "PCI:0000:02:00.0" version : 0.9.17 capabilities : 0x5000015 [VIDEO_CAPTURE,VIDEO_OVERLAY,VBI_CAPTURE,READWRITE,STREAMING] Обращаем внимание на строку, начинающуюся с "card". В моем случае установлен модуль (драйвер) - PV143, однако чаще всего при выполнении v4l-info можно увидеть нечто: card : "BT878 video *** UNKNOWN/GENER", что означает неправильное определение карты системой...
|
|
| |
Volody | Дата: Среда, 17.12.2008, 09:42 | Сообщение # 2 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Далее. В каталоге, например: "/usr/src/хххххх/drivers/media/video" находим соответствующую вашему видеокодеру папку, причем "хххххх" у меня: "linux-source-2.6.27-7", а нужная папка - "bt8хх". В этой папке находим заголовочный файл "bttv.h", а в файле - свой драйвер. #define BTTV_BOARD_PV143 0x69 У меня установлен - PV143. Выгрузим драйвер: Code ~$ sudo rmmod bt878 bttv И загрузим выбранный: Code ~$ sudo modprobe -v bttv card=0x69 tuner=-1 autoload=0 Проверим, что получилось: Code ### v4l2 device info [/dev/video0] ### general info VIDIOC_QUERYCAP driver : "bttv" card : "BT878 video (ProVideo PV143)" bus_info : "PCI:0000:02:00.0" version : 0.9.17 capabilities : 0x5000015 [VIDEO_CAPTURE,VIDEO_OVERLAY,VBI_CAPTURE,READWRITE,STREAMING] Все ОК! Для того, чтобы посмотреть картинку, можно использовать, например, программу "TVtime", ну или тот же "xawtv". Итак, если все установилось нормально, можно прописать драйвер в автозагрузку. В Ubuntu, например, в каталоге "/etc/modprobe.d" создается файл "video4linux" и в него прописываются строки: Code alias char-major-81-0 bttv options bttv card=0x69 tuner=-1 autoload=0
|
|
| |
ЛЕВША | Дата: Среда, 17.12.2008, 10:12 | Сообщение # 3 |
Admin
Группа: Администраторы
Сообщений: 1923
Статус: Offline
| а под ХР такое организовать можно?
упростить - улучшить! если ВЫ хотите помочь сайту в развитии, наши счета: Z789673670495 ($) R806233314616 ® 41001205775274(yand)
|
|
| |
Volody | Дата: Среда, 17.12.2008, 10:49 | Сообщение # 4 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Quote (ЛЕВША) а под ХР такое организовать можно? Под ХР есть другие проекты, но я эту ось, равно как и продукты под эту ось давно не пользую. Sorry. Агитировать за Линукс я не намерен. Если есть желание к самосовершенствованию, - будет и само это самое самосовершенствование, ну а нет,- ... Как тут поможешь? Здесь технари, в общем-то, обитают, люди с пытливым умом, которым освоить новую ось, хотя бы в пользовательских рамках, не составит никакой проблемы. На мой взгляд. Что касается помощи по освоению, то она всегда будет предложена. Свободным сообществом.
|
|
| |
Volody | Дата: Среда, 17.12.2008, 11:08 | Сообщение # 5 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Ну так как, дальше продолжаем, или нет? з.ы. здесь мой и моего сына Александра старый проект под ХР. Возможно кому-нибудь что-то из опубликованного пригодится.
|
|
| |
ЛЕВША | Дата: Среда, 17.12.2008, 17:44 | Сообщение # 6 |
Admin
Группа: Администраторы
Сообщений: 1923
Статус: Offline
| Quote (Volody) дальше продолжаем, или нет? разумеется.
упростить - улучшить! если ВЫ хотите помочь сайту в развитии, наши счета: Z789673670495 ($) R806233314616 ® 41001205775274(yand)
|
|
| |
Volody | Дата: Среда, 17.12.2008, 20:31 | Сообщение # 7 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Motion, если в репозитории отсутствует, берем здесь Не забываем так же об ffmpeg и ffmpeg-devel, которые есть в репозиториях ubuntu и debian.
|
|
| |
Volody | Дата: Среда, 17.12.2008, 20:53 | Сообщение # 8 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| После установки пакетов motion создает в каталоге: /etc/motion примеры конфигурационных файлов - motion.conf, thread1.conf thread2.conf thread3.conf thread4.conf Настройка программы в общем-то сводится к настройке именно этих файлов. Рассмотрим главный из указанных, а именно - motion.conf. Вот, один из примеров установки параметров в этом файле (вытащил из своей системы): Code daemon off process_id_file /var/run/motion.pid setup_mode off norm 0 frequency 0 rotate 0 width 768 height 576 framerate 100 minimum_frame_time 0 auto_brightness off brightness 0 contrast 0 saturation 0 hue 0 roundrobin_frames 0 roundrobin_skip 0 switchfilter off threshold 1500 threshold_tune on noise_level 32 noise_tune on night_compensate off despeckle EedDl lightswitch 0 minimum_motion_frames 5 pre_capture 0 post_capture 150 gap 60 max_mpeg_time 0 low_cpu 0 output_all off output_normal off output_motion off quality 75 ppm off ffmpeg_cap_new on ffmpeg_cap_motion off ffmpeg_timelapse 0 ffmpeg_timelapse_mode manual ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec ffv1 ffmpeg_deinterlace off snapshot_interval 0 locate off text_right %Y-%m-%d\n%T text_double off jpeg_filename %d-%m-%Y__%H:%M:%S-%q movie_filename %d-%m-%Y__%H:%M:%S control_port 8080 control_localhost off control_html_output on quiet on video_pipe '-'
# config file for each camera in addition to this config file. ###################################### thread /etc/motion/thread1.conf thread /etc/motion/thread2.conf thread /etc/motion/thread3.conf thread /etc/motion/thread4.conf
|
|
| |
Volody | Дата: Среда, 17.12.2008, 20:57 | Сообщение # 9 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Конечно, я использовал не все опции, которые существуют в исходнике, а лишь те, которые необходимы мне. Полный список параметров можно посмотреть здесь. Постепенно разберем их все, а пока посмотрим на те, которые я указал в своем файле motion.conf
|
|
| |
Volody | Дата: Суббота, 20.12.2008, 11:31 | Сообщение # 10 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Продолжим, помолясь...:) Quote Настройка программы в общем-то сводится к настройке именно этих файлов. Рассмотрим главный из указанных, а именно - motion.conf. Вот, один из примеров установки параметров в этом файле (вытащил из своей системы): Quote daemon off process_id_file /var/run/motion.pid С этими все понятно, надеюсь. В этом режиме, заменив "off" на "on" можно посмотреть в консоли работу детектора движения. Особой пользы от оспользования этого параметра я не заметил. Стандарт. По умолчанию используется 0, то есть PAL. Значения: 1 - NTSC, 2 – SECAM и 3 PAL NC. Этот параметр в (kHz) используется в том случае, если есть тюнер. По умолчанию frequency = 0 (не используется). Поворот изображения на заданное число в градусах. Возможные значения: 0, 90, 180, 270. По умолчанию 0 (не используется). Вращение влияет на все сохраненные изображения, в том числе и на MPEG файлы. Quote width 768 height 576 С этим параметром все понятно. Установка видеоразрешения по горизонтали и вертикали (4:3). Установка частоты кадров. Значение framerate 100 указывает программе, что следует использовать системные настройки карт видеозахвата. Например, для PAL реального времени - 25 кадров в сек.
|
|
| |
Volody | Дата: Суббота, 20.12.2008, 16:58 | Сообщение # 11 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Не, не очень интересно "тихо сам с собою"... По параметрам и прочему - по мере поступления вопросов. Вопросы могут возникнуть лишь у тех, кто попытается видео систему (хотя бы однокамерную) у себя на компе реализовать. Напоследок, в консоли запускаем программу: Видим: Code [0] Processing thread 0 - config file /etc/motion/motion.conf [0] Processing config file /etc/motion/thread1.conf [0] Processing config file /etc/motion/thread2.conf [0] Motion 3.2.9 Started [0] ffmpeg LIBAVCODEC_BUILD 3355136 LIBAVFORMAT_BUILD 3409664 [0] Thread 1 is from /etc/motion/thread1.conf [1] Thread 1 started [1] cap.driver: "bttv" [1] cap.card: "BT878 video (ProVideo PV143)" [1] cap.bus_info: "PCI:0000:02:00.0" [1] cap.capabilities=0x05000015 [1] - VIDEO_CAPTURE [1] - VIDEO_OVERLAY [1] - VBI_CAPTURE [1] - READWRITE [1] - STREAMING [1] Supported palettes: [1] 0: GREY (8 bpp, gray) [1] 1: HI24 (8 bpp, dithered color) [1] 2: RGBO (15 bpp RGB, le) [1] 3: RGBQ (15 bpp RGB, be) [1] 4: RGBP (16 bpp RGB, le) [1] 5: RGBR (16 bpp RGB, be) [1] 6: BGR3 (24 bpp RGB, le) [1] 7: BGR4 (32 bpp RGB, le) [1] 8: RGB4 (32 bpp RGB, be) [1] 9: YUYV (4:2:2, packed, YUYV) [1] 10: YUYV (4:2:2, packed, YUYV) [1] 11: UYVY (4:2:2, packed, UYVY) [1] 12: 422P (4:2:2, planar, Y-Cb-Cr) [1] 13: YU12 (4:2:0, planar, Y-Cb-Cr) [1] 14: YV12 (4:2:0, planar, Y-Cr-Cb) [1] 15: 411P (4:1:1, planar, Y-Cb-Cr) [1] 16: YUV9 (4:1:0, planar, Y-Cb-Cr) [1] 17: YVU9 (4:1:0, planar, Y-Cr-Cb) [1] Test palette YU12 (768x576) [1] Using palette YU12 (768x576) bytesperlines 768 sizeimage 663552 colorspace 00000000 [1] found control 0x00980900, "Brightness", range 0,65535 [1] "Brightness", default 32768, current 32768 [1] found control 0x00980901, "Contrast", range 0,65535 [1] "Contrast", default 32768, current 32768 [1] found control 0x00980902, "Saturation", range 0,65535 [1] "Saturation", default 32768, current 32768 [1] found control 0x00980903, "Hue", range 0,65535 [1] "Hue", default 32768, current 32768 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x00000000, "42", range 0,0 !DISABLED! [1] "42", default 0, current 0 [1] found control 0x08000000, "chroma agc", range 0,1 [1] "chroma agc", default 0, current 0 [1] found control 0x08000001, "combfilter", range 0,1 [1] "combfilter", default 0, current 0 [1] mmap information: [1] frames=4 [1] 0 length=663552 [1] 1 length=663552 [1] 2 length=663552 [1] 3 length=663552 [1] Using V4L2 [0] Thread 2 is from /etc/motion/thread2.conf [2] Thread 2 started [2] cap.driver: "bttv" [2] cap.card: "BT878 video (ProVideo PV143)" [2] cap.bus_info: "PCI:0000:02:01.0" [2] cap.capabilities=0x05000015 [2] - VIDEO_CAPTURE [2] - VIDEO_OVERLAY [2] - VBI_CAPTURE [2] - READWRITE [2] - STREAMING [2] Supported palettes: [2] 0: GREY (8 bpp, gray) [2] 1: HI24 (8 bpp, dithered color) [2] 2: RGBO (15 bpp RGB, le) [2] 3: RGBQ (15 bpp RGB, be) [2] 4: RGBP (16 bpp RGB, le) [2] 5: RGBR (16 bpp RGB, be) [2] 6: BGR3 (24 bpp RGB, le) [2] 7: BGR4 (32 bpp RGB, le) [2] 8: RGB4 (32 bpp RGB, be) [2] 9: YUYV (4:2:2, packed, YUYV) [2] 10: YUYV (4:2:2, packed, YUYV) [2] 11: UYVY (4:2:2, packed, UYVY) [2] 12: 422P (4:2:2, planar, Y-Cb-Cr) [2] 13: YU12 (4:2:0, planar, Y-Cb-Cr) [2] 14: YV12 (4:2:0, planar, Y-Cr-Cb) [2] 15: 411P (4:1:1, planar, Y-Cb-Cr) [2] 16: YUV9 (4:1:0, planar, Y-Cb-Cr) [2] 17: YVU9 (4:1:0, planar, Y-Cr-Cb) [2] Test palette YU12 (768x576) [2] Using palette YU12 (768x576) bytesperlines 768 sizeimage 663552 colorspace 00000000 [2] found control 0x00980900, "Brightness", range 0,65535 [2] "Brightness", default 32768, current 32768 [2] found control 0x00980901, "Contrast", range 0,65535 [2] "Contrast", default 32768, current 32768 [2] found control 0x00980902, "Saturation", range 0,65535 [2] "Saturation", default 32768, current 32768 [2] found control 0x00980903, "Hue", range 0,65535 [2] "Hue", default 32768, current 32768 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x00000000, "42", range 0,0 !DISABLED! [2] "42", default 0, current 0 [2] found control 0x08000000, "chroma agc", range 0,1 [2] "chroma agc", default 0, current 0 [2] found control 0x08000001, "combfilter", range 0,1 [2] "combfilter", default 0, current 0 [2] mmap information: [2] frames=4 [2] 0 length=663552 [2] 1 length=663552 [2] 2 length=663552 [2] 3 length=663552 [2] Using V4L2 [0] motion-httpd/3.2.9 running, accepting connections [0] motion-httpd: waiting for data on port TCP 8080 [1] Opened input of /dev/video2 [1] Started stream webcam server in port 8081 [2] Opened input of /dev/video4 [2] Started stream webcam server in port 8082
|
|
| |
Volody | Дата: Суббота, 20.12.2008, 16:59 | Сообщение # 12 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Любое движение перед камерой,.. и: Code [1] File of type 8 saved to: /var/www/motion/camera1/%d-%m-%Y/11:43:58.avi Запись WAVE 'stdin' : Signed 16 bit Little Endian, Частота 44100 Гц, Стерео [2] File of type 8 saved to: /var/www/motion/camera2/%d-%m-%Y/11:43:59.avi При существующих настройках, для того, чтобы увидеть картинки, стоит лишь прогуляться по адресам: _http://localhost:8081, _http://localhost:8082 Настройки программы также можно изменять через вэб интерфейс, указав в любимом браузере адрес: _http://localhost:8080
|
|
| |
Volody | Дата: Вторник, 30.12.2008, 11:17 | Сообщение # 13 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| Функционирование программы Motion в инете можно посмотреть, например, вот у этого китайца-линуксоида
|
|
| |
Volody | Дата: Вторник, 30.12.2008, 11:25 | Сообщение # 14 |
Полковник
Группа: Проверенные
Сообщений: 192
Статус: Offline
| При реализации этой замечательной программы, вполне возможно у пользователей могут возникнуть какие-нибудь проблемы. Я готов помочь их порешать. Если проблемы типа: "нет камеры", "нет карты видеозахвата" и прочие, из того же ряда, то смею вас заверить, это - не проблемы. В любом случае, под лежачий камень вода не потечет, будет проявлена инициатива - будет и решение. Те же камеры можно заказать на сегодняшний день в любом регионе планеты, в том числе и у меня.
|
|
| |
ЛЕВША | Дата: Вторник, 30.12.2008, 17:07 | Сообщение # 15 |
Admin
Группа: Администраторы
Сообщений: 1923
Статус: Offline
| такой вопросик Володя с чего вообще начинать освоение линукса? где взять дистрибутив? какой лучше выбрать? и как его ставить? я кроме винды пока ни в чем не работал. хочу попробовать то что тут описано, заманчиво все получается.
упростить - улучшить! если ВЫ хотите помочь сайту в развитии, наши счета: Z789673670495 ($) R806233314616 ® 41001205775274(yand)
|
|
| |
|