Технический Портал Левши Четверг, 25.04.2024, 07:18
| RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
ТЕХНИЧЕСКИЙ ФОРУМ » ЭЛЕКТРОНИКА » СИСТЕМЫ БЕЗОПАСНОСТИ » Motion, Zoneminder??? (Системы видеонаблюдения на базе OpenSource)
Motion, Zoneminder???
VolodyДата: Среда, 17.12.2008, 09:37 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: 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
~$ lspci

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
Награды: 0
Статус: 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
~$ v4l-info | 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]

Все ОК!
Для того, чтобы посмотреть картинку, можно использовать, например, программу "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
Награды: 2
Статус: Offline
а под ХР такое организовать можно?

упростить - улучшить!
если ВЫ хотите помочь сайту в развитии,
наши счета:
Z789673670495 ($)
R806233314616 ®
41001205775274(yand)
 
VolodyДата: Среда, 17.12.2008, 10:49 | Сообщение # 4
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Quote (ЛЕВША)
а под ХР такое организовать можно?

Под ХР есть другие проекты, но я эту ось, равно как и продукты под эту ось давно не пользую. Sorry.
Агитировать за Линукс я не намерен. Если есть желание к самосовершенствованию, - будет и само это самое самосовершенствование, ну а нет,- ...
Как тут поможешь? Здесь технари, в общем-то, обитают, люди с пытливым умом, которым освоить новую ось, хотя бы в пользовательских рамках, не составит никакой проблемы. На мой взгляд.
Что касается помощи по освоению, то она всегда будет предложена. Свободным сообществом.

 
VolodyДата: Среда, 17.12.2008, 11:08 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Ну так как, дальше продолжаем, или нет?

з.ы. здесь мой и моего сына Александра старый проект под ХР. Возможно кому-нибудь что-то из опубликованного пригодится.

 
ЛЕВШАДата: Среда, 17.12.2008, 17:44 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 1923
Награды: 2
Статус: Offline
Quote (Volody)
дальше продолжаем, или нет?

разумеется. smile


упростить - улучшить!
если ВЫ хотите помочь сайту в развитии,
наши счета:
Z789673670495 ($)
R806233314616 ®
41001205775274(yand)
 
VolodyДата: Среда, 17.12.2008, 20:31 | Сообщение # 7
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Motion, если в репозитории отсутствует, берем здесь
Не забываем так же об ffmpeg и ffmpeg-devel, которые есть в репозиториях ubuntu и debian.
 
VolodyДата: Среда, 17.12.2008, 20:53 | Сообщение # 8
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: 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
Награды: 0
Статус: Offline
Конечно, я использовал не все опции, которые существуют в исходнике, а лишь те, которые необходимы мне.
Полный список параметров можно посмотреть здесь.
Постепенно разберем их все, а пока посмотрим на те, которые я указал в своем файле motion.conf
 
VolodyДата: Суббота, 20.12.2008, 11:31 | Сообщение # 10
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Продолжим, помолясь...:)
Quote
Настройка программы в общем-то сводится к настройке именно этих файлов.
Рассмотрим главный из указанных, а именно - motion.conf. Вот, один из примеров установки параметров в этом файле (вытащил из своей системы):

Quote

daemon off
process_id_file /var/run/motion.pid

С этими все понятно, надеюсь.
Quote
setup_mode off

В этом режиме, заменив "off" на "on" можно посмотреть в консоли работу детектора движения. Особой пользы от оспользования этого параметра я не заметил.
Quote
norm 0

Стандарт. По умолчанию используется 0, то есть PAL. Значения: 1 - NTSC, 2 – SECAM и 3 PAL NC.
Quote
frequency 0

Этот параметр в (kHz) используется в том случае, если есть тюнер. По умолчанию frequency = 0 (не используется).
Quote
rotate 0

Поворот изображения на заданное число в градусах. Возможные значения: 0, 90, 180, 270. По умолчанию 0 (не используется).
Вращение влияет на все сохраненные изображения, в том числе и на MPEG файлы.
Quote
width 768
height 576

С этим параметром все понятно. Установка видеоразрешения по горизонтали и вертикали (4:3).
Quote
framerate 100

Установка частоты кадров. Значение framerate 100 указывает программе, что следует использовать системные настройки карт видеозахвата. Например, для PAL реального времени - 25 кадров в сек. smile
 
VolodyДата: Суббота, 20.12.2008, 16:58 | Сообщение # 11
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Не, не очень интересно "тихо сам с собою"... cool

По параметрам и прочему - по мере поступления вопросов. Вопросы могут возникнуть лишь у тех, кто попытается видео систему (хотя бы однокамерную) у себя на компе реализовать.

Напоследок, в консоли запускаем программу:

Code
~$ motion

Видим:
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
Награды: 0
Статус: 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 smile

 
VolodyДата: Вторник, 30.12.2008, 11:17 | Сообщение # 13
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
Функционирование программы Motion в инете можно посмотреть, например, вот у этого китайца-линуксоида smile
 
VolodyДата: Вторник, 30.12.2008, 11:25 | Сообщение # 14
Полковник
Группа: Проверенные
Сообщений: 192
Награды: 0
Статус: Offline
При реализации этой замечательной программы, вполне возможно у пользователей могут возникнуть какие-нибудь проблемы. Я готов помочь их порешать.
Если проблемы типа: "нет камеры", "нет карты видеозахвата" и прочие, из того же ряда, то смею вас заверить, это - не проблемы.
В любом случае, под лежачий камень вода не потечет, будет проявлена инициатива - будет и решение. Те же камеры можно заказать на сегодняшний день в любом регионе планеты, в том числе и у меня. smile
 
ЛЕВШАДата: Вторник, 30.12.2008, 17:07 | Сообщение # 15
Admin
Группа: Администраторы
Сообщений: 1923
Награды: 2
Статус: Offline
такой вопросик Володя с чего вообще начинать освоение линукса?
где взять дистрибутив? какой лучше выбрать? и как его ставить? я кроме винды пока ни в чем не работал.
хочу попробовать то что тут описано, заманчиво все получается. smile


упростить - улучшить!
если ВЫ хотите помочь сайту в развитии,
наши счета:
Z789673670495 ($)
R806233314616 ®
41001205775274(yand)
 
ТЕХНИЧЕСКИЙ ФОРУМ » ЭЛЕКТРОНИКА » СИСТЕМЫ БЕЗОПАСНОСТИ » Motion, Zoneminder??? (Системы видеонаблюдения на базе OpenSource)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright MyCorp © 2024