Журнал LinuxFormat - перейти на главную

LXF156:Zoneminder:

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(На­строй­ка ка­мер)
(Рас­пи­сание)
 
(не показаны 13 промежуточных версий 1 участника)
Строка 81: Строка 81:
 
Те­перь расспро­сим о па­ра­мет­рах для на­шей ка­ме­ры. Ко­ман­да
 
Те­перь расспро­сим о па­ра­мет­рах для на­шей ка­ме­ры. Ко­ман­да
 
<pre>  
 
<pre>  
sudo zmu -d /dev/video0 -q –v</pre>
+
sudo zmu -d /dev/video0 -q –v
 
+
</pre>
 
даст нам длин­ный спи­сок ат­ри­бу­тов, но са­мые важ­ные – Formats, MJPEG, YUV 4:2:2 (YUYV) и Bounds 320 × 240.
 
даст нам длин­ный спи­сок ат­ри­бу­тов, но са­мые важ­ные – Formats, MJPEG, YUV 4:2:2 (YUYV) и Bounds 320 × 240.
 
{{Врезка|left|Заголовок=Скорая помощь |Ширина=15%|Содержание=Ес­ли у вас есть бо­лее од­но­го уст­рой­ст­ва V4L, хо­ро­шей иде­ей бу­дет при­вя­зать их к оп­ре­де­лен­ным уз­лам /dev/video* с по­мо­щью пра­ви­ла udev; в про­тив­ном слу­чае уз­лы мо­гут из­ме­нить­ся по­сле пе­ре­за­груз­ки.}}  
 
{{Врезка|left|Заголовок=Скорая помощь |Ширина=15%|Содержание=Ес­ли у вас есть бо­лее од­но­го уст­рой­ст­ва V4L, хо­ро­шей иде­ей бу­дет при­вя­зать их к оп­ре­де­лен­ным уз­лам /dev/video* с по­мо­щью пра­ви­ла udev; в про­тив­ном слу­чае уз­лы мо­гут из­ме­нить­ся по­сле пе­ре­за­груз­ки.}}  
 
Нам они по­тре­бу­ют­ся при на­строй­ке ка­ме­ры в Zoneminder. С это­го мо­мен­та мы долж­ны быть в со­стоянии об­хо­дить­ся web-ин­тер­фей­сом. За­пусти­те его сно­ва из web-брау­зе­ра на дру­гом ком­пь­ю­те­ре в той же се­ти и на­жми­те на кноп­ку До­ба­вить но­вый монитор. Поя­вит­ся всплы­ваю­щее ок­но.
 
Нам они по­тре­бу­ют­ся при на­строй­ке ка­ме­ры в Zoneminder. С это­го мо­мен­та мы долж­ны быть в со­стоянии об­хо­дить­ся web-ин­тер­фей­сом. За­пусти­те его сно­ва из web-брау­зе­ра на дру­гом ком­пь­ю­те­ре в той же се­ти и на­жми­те на кноп­ку До­ба­вить но­вый монитор. Поя­вит­ся всплы­ваю­щее ок­но.
 +
 +
{{Врезка|right|Заголовок=Ком­пь­ю­тер­ное же­ле­зо |Ширина=30%|Содержание=Тре­бо­вания к ком­пь­ю­тер­но­му обо­ру­до­ванию за­ви­сят от ко­ли­че­­ст­ва ка­мер, а так­же от уров­ня пе­ре­ра­бот­ки по­то­ко­во­го ви­део. С од­но­ядер­ным про­цес­со­ром Athlon 4200 + и 1 ГБ опе­ра­тив­ной па­мя­ти, од­на IP-ка­ме­ра и две web-ка­ме­ры с дву­мя зо­на­ми на ка­ж­дую за­гру­жа­ют сис­те­му в среднем на 0,7.
 +
 +
Де­тек­тор дви­жения так­же тре­бу­ет немало ре­сур­сов на об­ра­бот­ку, так как сюда вклю­ча­ется ана­лиз ви­део­по­то­ка и сравнение по­сле­до­ва­тель­но­сти кад­ров на пред­мет раз­ли­чий, достаточных для выдачи сигнала тре­во­ги; также необходимо сохранение со­от­вет­ст­вую­щих кад­ров из бу­фе­ра. Обработка долж­на происходить в ре­жи­ме ре­аль­но­го вре­мени, а ес­ли у вас несколь­ко ка­мер, она ока­жется до­воль­но затратной.
 +
 +
Кар­ты ви­део­зах­ва­та с несколь­ки­ми вхо­да­ми мож­но ис­поль­зо­вать со стан­дарт­ны­ми ви­део­ка­ме­ра­ми. Zoneminder-со­вмес­ти­мые PCI-мо­де­ли мож­но приобрести до­воль­но де­ше­во, а ко­ак­си­аль­ный ка­бель до­пуска­ет доста­точ­ную дли­ну без ухуд­шения ка­че­­ст­ва сиг­на­ла. Ана­ло­го­вые ТВ-кар­ты, хо­тя и ис­че­за­ют, уста­ре­вая, так­же при­год­ны в ка­че­­ст­ве уст­рой­ст­ва за­хва­та.
 +
 +
Уда­лен­ный ис­точник во­вле­ка­ет боль­ше об­ра­бот­ки дан­ных, по­то­му что за­ко­ди­ро­ван­ный по­ток дол­жен быть рас­шиф­ро­ван; а для ви­део с локаль­ной web-ка­ме­ры или ана­ло­го­вой ка­ме­ры, при­ме­няю­щей уст­рой­ст­во за­хва­та, Zoneminder мо­жет ис­поль­зо­вать за­хват бу­фе­ра кад­ров. 
 +
}}
  
 
На пер­вой странице вве­ди­те имя для монито­ра, а за­тем задай­те Local в ка­че­­ст­ве ти­па ис­точника и монитор в ка­че­­ст­ве функ­ции.
 
На пер­вой странице вве­ди­те имя для монито­ра, а за­тем задай­те Local в ка­че­­ст­ве ти­па ис­точника и монитор в ка­че­­ст­ве функ­ции.
  
 
Те­перь на­жми­те на вклад­ке Ис­точник и вве­ди­те сле­дую­щее:
 
Те­перь на­жми­те на вклад­ке Ис­точник и вве­ди­те сле­дую­щее:
<pre> </pre>
+
<pre>  
 
Device path: /dev/video0
 
Device path: /dev/video0
  
Строка 100: Строка 109:
  
 
Capture height: 240
 
Capture height: 240
<pre> </pre>
+
</pre>
 
и на­жми­те Со­хранить. Ес­ли все хо­ро­шо, вы долж­ны уви­деть ссыл­ки на функ­ции и ис­точники, и они бу­дут оран­же­во­го цве­та. Ес­ли они крас­но­го цве­та, это оз­на­ча­ет, что ка­ме­ра не ра­бо­та­ет. На­строй­ки IP- или се­те­вой ка­ме­ры схо­жи, но по­сколь­ку ко­ман­да zmu ра­бо­та­ет толь­ко для локаль­но под­клю­чен­ных уст­ройств, необ­хо­ди­мо по­лу­чить ин­фор­ма­цию об уст­рой­ст­ве из дру­гих ис­точников.
 
и на­жми­те Со­хранить. Ес­ли все хо­ро­шо, вы долж­ны уви­деть ссыл­ки на функ­ции и ис­точники, и они бу­дут оран­же­во­го цве­та. Ес­ли они крас­но­го цве­та, это оз­на­ча­ет, что ка­ме­ра не ра­бо­та­ет. На­строй­ки IP- или се­те­вой ка­ме­ры схо­жи, но по­сколь­ку ко­ман­да zmu ра­бо­та­ет толь­ко для локаль­но под­клю­чен­ных уст­ройств, необ­хо­ди­мо по­лу­чить ин­фор­ма­цию об уст­рой­ст­ве из дру­гих ис­точников.
  
Строка 144: Строка 153:
  
 
Для ка­ж­до­го из этих ти­пов зон мож­но уста­нав­ли­вать по­ро­ги чув­ст­ви­тель­но­сти по из­менениям пик­се­лей, ко­то­рые мо­гут быть по-раз­но­му сгруп­пи­ро­ва­ны или от­фильт­ро­ва­ны. К сча­стью, есть несколь­ко пре­дуста­нов­лен­ных ва­ри­ан­тов, ко­то­рые да­дут вам об­щее пред­став­ление при соз­дании соб­ст­вен­ных па­ра­мет­ров. Сто­ит иметь в ви­ду, что чем сложнее фильт­ра­ция, тем боль­ше вы­чис­ли­тель­ной мощ­но­сти необ­хо­ди­мо для ее реа­ли­за­ции, и без стро­гой необ­хо­ди­мо­сти зо­ны не долж­ны пе­ре­се­кать­ся. При уста­нов­ке слиш­ком вы­со­кой чув­ст­ви­тель­но­сти ваш же­ст­кий диск бы­ст­ро за­бьет­ся неже­ла­тель­ны­ми изо­бра­жения­ми от лож­ных сра­ба­ты­ваний. На­при­мер, во вре­мя пер­во­го снего­па­да в про­шлом го­ду я за 30 ми­нут по­лу­чил от мое­го сер­ве­ра Zoneminder 224 элек­трон­ных пись­ма.
 
Для ка­ж­до­го из этих ти­пов зон мож­но уста­нав­ли­вать по­ро­ги чув­ст­ви­тель­но­сти по из­менениям пик­се­лей, ко­то­рые мо­гут быть по-раз­но­му сгруп­пи­ро­ва­ны или от­фильт­ро­ва­ны. К сча­стью, есть несколь­ко пре­дуста­нов­лен­ных ва­ри­ан­тов, ко­то­рые да­дут вам об­щее пред­став­ление при соз­дании соб­ст­вен­ных па­ра­мет­ров. Сто­ит иметь в ви­ду, что чем сложнее фильт­ра­ция, тем боль­ше вы­чис­ли­тель­ной мощ­но­сти необ­хо­ди­мо для ее реа­ли­за­ции, и без стро­гой необ­хо­ди­мо­сти зо­ны не долж­ны пе­ре­се­кать­ся. При уста­нов­ке слиш­ком вы­со­кой чув­ст­ви­тель­но­сти ваш же­ст­кий диск бы­ст­ро за­бьет­ся неже­ла­тель­ны­ми изо­бра­жения­ми от лож­ных сра­ба­ты­ваний. На­при­мер, во вре­мя пер­во­го снего­па­да в про­шлом го­ду я за 30 ми­нут по­лу­чил от мое­го сер­ве­ра Zoneminder 224 элек­трон­ных пись­ма.
 +
{{Врезка|left|Заголовок= До­пол­ни­тель­но|Ширина=30%|Содержание=
 +
*Мо­биль­ный про­смотр Zoneminder пред­ла­га­ет скин с ин­тер­фей­сом, под­хо­дя­щим для мо­биль­ных уст­ройств. Оче­вид­но, уро­вень досту­па бо­лее ог­раничен, но вы мо­же­те про­смат­ри­вать со­хранен­ные изо­бра­жения и ви­део и да­же из­ме­нять ре­жи­мы.
  
 +
Ссыл­ка – http://<IP address of zm server>/zm/index.php?
 +
format=xhtml.
 +
 +
*А вот ко­му MythTV? У Грэ­ма и у ме­ня есть стран­ная тя­га к па­ке­ту под на­званием MythTV. Те из вас, кто так же склон­ны к нему, бу­дут при­ят­но удив­ле­ны, узнав, что в Zoneminder есть свой соб­ст­вен­ный мод­уль рас­ши­рения для MythTV.
 +
 +
Хит­ро­ум­но на­зван­ный mythzmserver, он по­зво­ля­ет про­смат­ри­вать изо­бра­жение с ка­ме­ры на­пря­мую, а так­же пре­ду­пре­ж­дения и т. д., че­рез ин­тер­фейс MythTV, вы­зы­вая изо­бра­жения с пуль­та дис­тан­ци­он­но­го управ­ления на эк­ран те­ле­ви­зо­ра (ес­ли вы смо­же­те на­стро­ить пульт на ра­бо­ту с MythTV).
 +
 +
Ес­ли вы на­ме­ре­ны за­пускать на од­ном ПК и MythTV, и Zoneminder, ре­ко­мен­ду­ем как минимум дву­ядер­ный про­цес­сор и 2 ГБ опе­ра­тив­ной па­мя­ти.
 +
 +
Мо­дуль мож­но уста­но­вить из ре­по­зи­то­ри­ев Ubuntu. К со­жа­лению, он ищет файл zm.conf в пап­ке по умол­чанию /etc/zm.conf, тогда как в Ubuntu Zoneminder име­ет свою от­дель­ную пап­ку в /etc. Та­ким об­ра­зом, ко­ман­да для за­пуска mythzmserver вы­гля­дит сле­дую­щим об­ра­зом:
 +
 +
mythzmserver -c /etc/zm/zm.conf
 +
 +
Если ее до­ба­вить к скрип­ту Zoneminder, он будет за­пус­кать­ся при за­груз­ке.}}
 +
[[Файл:LXF156.tut_zone.5_opt.jpeg |right |400px | thumb| Ти­пич­ное изо­бра­же­ние с ин­фра­крас­ной ка­ме­ры в ноч­ное вре­мя, с порт­ре­том зло­умыш­лен­ни­ка.]]
 
Что­бы уско­рить связь ме­ж­ду мо­ду­ля­ми, Zoneminder применяет бу­фер раз­де­ляе­мой па­мя­ти. Я ис­поль­зо­вал Ubuntu 11.10 и Zoneminder 1.24.4 с па­мя­тью, раз­ме­чен­ной по умол­чанию. Хо­тя на­строй­ки тут и не тре­бу­ет­ся, все-та­ки сле­ду­ет убе­дить­ся, что для всех ва­ших ка­мер па­мя­ти доста­точ­но. Ес­ли 11.10 слиш­ком серь­ез­но для вас, знай­те, что в вер­си­ях до 1.24 тре­буе­мый объ­ем об­щей па­мя­ти нуж­но уста­нав­ли­вать вруч­ную. Ес­ли вы за­да­ди­те ма­ло об­щей па­мя­ти, ка­ме­ра не бу­дет ра­бо­тать, и жур­на­лы по­ка­жут ошиб­ку shmget. Ос­нов­ная фор­му­ла для рас­че­та об­щих тре­бо­ваний к па­мя­ти та­ко­ва:
 
Что­бы уско­рить связь ме­ж­ду мо­ду­ля­ми, Zoneminder применяет бу­фер раз­де­ляе­мой па­мя­ти. Я ис­поль­зо­вал Ubuntu 11.10 и Zoneminder 1.24.4 с па­мя­тью, раз­ме­чен­ной по умол­чанию. Хо­тя на­строй­ки тут и не тре­бу­ет­ся, все-та­ки сле­ду­ет убе­дить­ся, что для всех ва­ших ка­мер па­мя­ти доста­точ­но. Ес­ли 11.10 слиш­ком серь­ез­но для вас, знай­те, что в вер­си­ях до 1.24 тре­буе­мый объ­ем об­щей па­мя­ти нуж­но уста­нав­ли­вать вруч­ную. Ес­ли вы за­да­ди­те ма­ло об­щей па­мя­ти, ка­ме­ра не бу­дет ра­бо­тать, и жур­на­лы по­ка­жут ошиб­ку shmget. Ос­нов­ная фор­му­ла для рас­че­та об­щих тре­бо­ваний к па­мя­ти та­ко­ва:
 +
{{Врезка|right|Заголовок=Скорая помощь |Ширина=10%|Содержание=
  
 +
Пе­ре­на­прав­ле­ние пор­тов с ва­ше­го ро­уте­ра сде­ла­ет Zoneminder дос­туп­ным че­рез Ин­тер­нет, но сна­ча­ла ус­та­но­ви­те безо­пас­ные име­на поль­зо­ва­те­лей и па­ро­ли. }}
 
(Ко­ли­че­­ст­во кад­ров в бу­фе­ре) × (ши­ри­на изо­бра­жения) × (Вы­со­та изо­бра­жения) × 3 (для 24-бит­но­го цве­та) × (ко­ли­че­­ст­во ка­мер) + 10 % за­пас
 
(Ко­ли­че­­ст­во кад­ров в бу­фе­ре) × (ши­ри­на изо­бра­жения) × (Вы­со­та изо­бра­жения) × 3 (для 24-бит­но­го цве­та) × (ко­ли­че­­ст­во ка­мер) + 10 % за­пас
  
 
Один кадр ви­део в раз­ре­шении 640 × 480 в 24-бит­ном цве­те бе­рет 921 600 байт, или око­ло 1 МБ, так что для бу­фе­ра на 40 кад­ров (по умол­чанию) для од­ной ка­ме­ры по­тре­бу­ет­ся око­ло 40 МБ. Для на­строй­ки это­го в бо­лее ранних вер­си­ях, ис­поль­зую­щих раз­де­ляе­мую па­мять SystemV, до­бавь­те на­строй­ки па­мя­ти в кон­це /etc/sysctl.conf, по­сле че­го пе­ре­за­гру­зи­тесь. Зна­чение shmall – это мак­си­маль­ное ко­ли­че­­ст­во об­щих страниц па­мя­ти, ко­то­рые мо­гут быть вы­де­ле­ны (по умол­чанию раз­мер страницы па­мя­ти ра­вен 4 КБ), а shmax – это мак­си­маль­ный раз­мер сег­мен­та раз­де­ляе­мой па­мя­ти. На­при­мер,
 
Один кадр ви­део в раз­ре­шении 640 × 480 в 24-бит­ном цве­те бе­рет 921 600 байт, или око­ло 1 МБ, так что для бу­фе­ра на 40 кад­ров (по умол­чанию) для од­ной ка­ме­ры по­тре­бу­ет­ся око­ло 40 МБ. Для на­строй­ки это­го в бо­лее ранних вер­си­ях, ис­поль­зую­щих раз­де­ляе­мую па­мять SystemV, до­бавь­те на­строй­ки па­мя­ти в кон­це /etc/sysctl.conf, по­сле че­го пе­ре­за­гру­зи­тесь. Зна­чение shmall – это мак­си­маль­ное ко­ли­че­­ст­во об­щих страниц па­мя­ти, ко­то­рые мо­гут быть вы­де­ле­ны (по умол­чанию раз­мер страницы па­мя­ти ра­вен 4 КБ), а shmax – это мак­си­маль­ный раз­мер сег­мен­та раз­де­ляе­мой па­мя­ти. На­при­мер,
 
+
<pre>
 
kernel.shmall = 31054432
 
kernel.shmall = 31054432
  
 
kernel.shmmax = 134217728
 
kernel.shmmax = 134217728
 
+
</pre>
 
Это до­бав­ля­ет 128 MБ раз­де­ляе­мой па­мя­ти. Ес­ли вы хо­ти­те ис­поль­зо­вать несколь­ко ка­мер, вам, воз­мож­но, сле­ду­ет уве­ли­чить приведенные циф­ры.
 
Это до­бав­ля­ет 128 MБ раз­де­ляе­мой па­мя­ти. Ес­ли вы хо­ти­те ис­поль­зо­вать несколь­ко ка­мер, вам, воз­мож­но, сле­ду­ет уве­ли­чить приведенные циф­ры.
  
 
==Рас­пи­сание==
 
==Рас­пи­сание==
  
В верхней час­ти эк­ра­на вы ви­ди­те, что Zoneminder по­ка­зан как ра­бо­таю­щий. На­жа­тие на ссыл­ку За­пуск по­зво­лит из­менить со­стояние на пе­ре­за­груз­ку. Служ­ба пе­ре­за­пустит­ся. Мож­но до­ба­вить и свои соб­ст­вен­ные ре­жи­мы. Для на­ча­ла на­стро­им ZoneMinder под свои за­про­сы – на­при­мер, на об­на­ру­жение дви­жения в днев­ное вре­мя. Для это­го на­жми­те на ссыл­ку За­пуск, вве­ди­те “daytime” в тек­сто­вом по­ле и на­жми­те кноп­ку Со­хранить. Daytime до­ба­вит­ся в спи­сок ре­жи­мов, поя­вит­ся в вы­па­даю­щем спи­ске и смо­жет вы­зы­вать­ся при по­мо­щи zmpkg.pl с за­данием cron при планиро­вании раз­лич­ных ре­жи­мов ра­бо­ты для раз­но­го вре­мени су­ток, в вы­ход­ные дни, праздники и т. д.
+
В верхней час­ти эк­ра­на вы ви­ди­те, что Zoneminder по­ка­зан как ра­бо­таю­щий. На­жа­тие на ссыл­ку '''За­пуск''' по­зво­лит из­менить со­стояние на пе­ре­за­груз­ку. Служ­ба пе­ре­за­пустит­ся. Мож­но до­ба­вить и свои соб­ст­вен­ные ре­жи­мы. Для на­ча­ла на­стро­им ZoneMinder под свои за­про­сы – на­при­мер, на об­на­ру­жение дви­жения в днев­ное вре­мя. Для это­го на­жми­те на ссыл­ку '''За­пуск''', вве­ди­те “daytime” в тек­сто­вом по­ле и на­жми­те кноп­ку Со­хранить. Daytime до­ба­вит­ся в спи­сок ре­жи­мов, поя­вит­ся в вы­па­даю­щем спи­ске и смо­жет вы­зы­вать­ся при по­мо­щи zmpkg.pl с за­данием cron при планиро­вании раз­лич­ных ре­жи­мов ра­бо­ты для раз­но­го вре­мени су­ток, в вы­ход­ные дни, праздники и т. д.
  
 
Ти­пич­ная запись crontab вы­гля­дит так:
 
Ти­пич­ная запись crontab вы­гля­дит так:
Строка 168: Строка 196:
  
 
И, на­конец... Zoneminder – слож­ный и мощ­ный па­кет, и на этом уро­ке я лишь по­верх­но­ст­но рас­ска­зал о его воз­мож­но­стях. Бо­лее под­роб­ная ин­фор­ма­ция доступ­на на www.zoneminder.org.
 
И, на­конец... Zoneminder – слож­ный и мощ­ный па­кет, и на этом уро­ке я лишь по­верх­но­ст­но рас­ска­зал о его воз­мож­но­стях. Бо­лее под­роб­ная ин­фор­ма­ция доступ­на на www.zoneminder.org.
 
242327.png
 
242328.png
 
 
LXF156.tut_zone.leo.psd
 
Наш эксперт
 
 
В ро­ли ИТ-ди­рек­то­ра и сис­тем­но­го ад­ми­ни­ст­ра­то­ра, Лео Мак­с­велл за­ни­ма­ет­ся под­держ­кой соб­ст­вен­но­го ПО и же­ле­за и се­тя­ми дру­гих лю­дей бо­лее 15 лет – не ди­во, что он на­жил лы­си­ну.
 
 
LXF156.tut_zone.1.psd
 
240867.png Верх­няя часть ок­на по­ка­зы­ва­ет до­маш­нюю стра­ни­цу Zoneminder. Не­сколь­ко скуд­ный вид об­ман­чив.
 
 
Же­ле­зо для ви­део
 
 
Диа­па­зон ви­део­ка­мер весь­ма ши­рок, но основ­ных ти­пов три:
 
 
242221.png Web-ка­ме­ры Мно­же­ст­во web-ка­мер име­ют до­воль­но низ­кие па­ра­мет­ры с точ­ки зрения ка­че­­ст­ва изо­бра­жения – за­час­тую раз­ре­шение, ука­зан­ное на упа­ков­ке, это «про­грамм­ная» циф­ра, по­лу­чен­ная пу­тем ин­тер­по­ля­ции, а не ис­тин­ное фи­зи­че­­ское раз­ре­шение сен­со­ра, хо­тя и де­ше­вые web-ка­ме­ры иногда да­ют уди­ви­тель­но хо­ро­шие ре­зуль­та­ты.
 
 
Ох­ват боль­шой пло­ща­ди мо­жет ока­зать­ся неце­ле­со­об­раз­ным, так как USB-ка­бе­ли не долж­ны пре­вы­шать пя­ти мет­ров в дли­ну, но уда­лен­ные ПК с web-ка­ме­ра­ми мож­но ис­поль­зо­вать для по­лу­чения ря­да изо­бра­жений, ес­ли на них уста­нов­ле­но ка­кое-либо сер­вер­ное ПО для ра­бо­ты с изо­бра­жения­ми.
 
 
242223.png IP-ка­ме­ры Эти ка­ме­ры мож­но под­клю­чить непо­сред­ст­вен­но к се­ти че­рез Ethernet или Wi-Fi. Они идут в раз­лич­ных фор­мах для внут­ренней и на­руж­ной эксплуатации и час­то име­ют ин­фра­крас­ные дат­чи­ки, спо­соб­ные дать непло­хие мо­но­хром­ные изо­бра­жения да­же в пол­ной тем­но­те. По­лез­ны мо­гут быть ка­ме­ры PTZ (с управ­ляе­мы­ми па­но­ра­ми­ро­ванием, уг­лом на­кло­на и мас­шта­би­ро­ванием), и неко­то­рые из них мож­но за­про­грам­ми­ро­вать на «пат­ру­ли­ро­вание» се­ри­ей смены поло­жений для по­кры­тия задан­ной тер­ри­то­рии.
 
 
Бес­про­вод­ные уст­рой­ст­ва, по по­нят­ным при­чи­нам, весь­ма по­пу­ляр­ны, но ес­ли вам ну­жен по­ток изо­бра­жений с вы­со­ким раз­ре­шением, необ­хо­ди­мо учи­ты­вать влияние мощ­но­сти сиг­на­ла и диа­па­зо­на пе­ре­да­вае­мых дан­ных.
 
 
242225.png Ана­ло­го­вые ви­део­ка­ме­ры Они, вме­сте с муль­ти­ка­наль­ны­ми пла­та­ми ви­део­зах­ва­та, мо­гут обес­пе­чить гиб­кое и недо­ро­гое ре­шение. Да­же до­ро­гие IP-ка­ме­ры ви­део­наб­лю­дения по­зво­ля­ют по­лу­чить раз­ре­шение толь­ко 640 × 480, что­бы со­от­вет­ст­во­вать стан­дарт­но­му ана­ло­го­во­му под­клю­чению ви­део.
 
 
Ка­че­­ст­во объ­ек­ти­ва и сен­со­ра важнее раз­ре­шения, осо­бен­но на бо­лее низ­ких уров­нях осве­щен­но­сти. Од­на мо­дель Sony, с ко­то­рый я ра­бо­тал, сто­ит око­ло £ 2000, и дат­чик у нее тоже 640 × 480. Кар­тин­ка, од­на­ко, рез­кая да­же при очень низ­ких уров­нях осве­щенности; име­ет­ся 30-крат­ный оп­ти­че­­ский зум и прак­ти­че­­ски бес­шум­ный PTZ-дви­га­тель.
 
 
LXF156.tut_zone.2.psd
 
241134.png Ре­дак­тор зон. Мож­но при­ме­нить раз­лич­ные цве­та для ин­ди­ка­ции раз­ных ти­пов дви­же­ния.
 
 
232320.png Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!
 
 
LXF156.tut_zone.4.psd
 
241887.png Внеш­няя IP-ка­ме­ра. Во­круг объ­ек­ти­ва — ин­фра­крас­ные све­то­дио­ды для ноч­но­го ос­ве­ще­ния.
 
 
234121.png
 
Скорая помощь
 
 
Важ­но дать ком­пь­ю­те­ру фик­си­ро­ван­ный IP-ад­рес, что­бы быть уве­рен­ны­ми в его дос­туп­но­сти. Про­ще все­го это сде­лать, ука­зав IP-ад­рес вруч­ную во вре­мя ус­та­нов­ки.
 
 
LXF156.tut_zone.3.psd
 
242386.png Стра­ни­ца со­бы­тий Zoneminder: здесь мож­но про­смот­реть, экс­пор­ти­ро­вать и уда­лить со­бы­тия. Стра­ни­ца Ре­дак­тор фильт­ров ото­бра­жа­ет­ся сле­ва.
 
 
241343.png
 
Скорая помощь
 
 
Ес­ли у вас есть бо­лее од­но­го уст­рой­ст­ва V4L, хо­ро­шей иде­ей бу­дет при­вя­зать их к оп­ре­де­лен­ным уз­лам /dev/video* с по­мо­щью пра­ви­ла udev; в про­тив­ном слу­чае уз­лы мо­гут из­ме­нить­ся по­сле пе­ре­за­груз­ки.
 
 
238368.png Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас.
 
 
Ком­пь­ю­тер­ное же­ле­зо
 
 
Тре­бо­вания к ком­пь­ю­тер­но­му обо­ру­до­ванию за­ви­сят от ко­ли­че­­ст­ва ка­мер, а так­же от уров­ня пе­ре­ра­бот­ки по­то­ко­во­го ви­део. С од­но­ядер­ным про­цес­со­ром Athlon 4200 + и 1 ГБ опе­ра­тив­ной па­мя­ти, од­на IP-ка­ме­ра и две web-ка­ме­ры с дву­мя зо­на­ми на ка­ж­дую за­гру­жа­ют сис­те­му в среднем на 0,7.
 
 
Де­тек­тор дви­жения так­же тре­бу­ет немало ре­сур­сов на об­ра­бот­ку, так как сюда вклю­ча­ется ана­лиз ви­део­по­то­ка и сравнение по­сле­до­ва­тель­но­сти кад­ров на пред­мет раз­ли­чий, достаточных для выдачи сигнала тре­во­ги; также необходимо сохранение со­от­вет­ст­вую­щих кад­ров из бу­фе­ра. Обработка долж­на происходить в ре­жи­ме ре­аль­но­го вре­мени, а ес­ли у вас несколь­ко ка­мер, она ока­жется до­воль­но затратной.
 
 
Кар­ты ви­део­зах­ва­та с несколь­ки­ми вхо­да­ми мож­но ис­поль­зо­вать со стан­дарт­ны­ми ви­део­ка­ме­ра­ми. Zoneminder-со­вмес­ти­мые PCI-мо­де­ли мож­но приобрести до­воль­но де­ше­во, а ко­ак­си­аль­ный ка­бель до­пуска­ет доста­точ­ную дли­ну без ухуд­шения ка­че­­ст­ва сиг­на­ла. Ана­ло­го­вые ТВ-кар­ты, хо­тя и ис­че­за­ют, уста­ре­вая, так­же при­год­ны в ка­че­­ст­ве уст­рой­ст­ва за­хва­та.
 
 
Уда­лен­ный ис­точник во­вле­ка­ет боль­ше об­ра­бот­ки дан­ных, по­то­му что за­ко­ди­ро­ван­ный по­ток дол­жен быть рас­шиф­ро­ван; а для ви­део с локаль­ной web-ка­ме­ры или ана­ло­го­вой ка­ме­ры, при­ме­няю­щей уст­рой­ст­во за­хва­та, Zoneminder мо­жет ис­поль­зо­вать за­хват бу­фе­ра кад­ров.
 
 
До­пол­ни­тель­но
 
 
242164.png Мо­биль­ный про­смотр Zoneminder пред­ла­га­ет скин с ин­тер­фей­сом, под­хо­дя­щим для мо­биль­ных уст­ройств. Оче­вид­но, уро­вень досту­па бо­лее ог­раничен, но вы мо­же­те про­смат­ри­вать со­хранен­ные изо­бра­жения и ви­део и да­же из­ме­нять ре­жи­мы.
 
 
Ссыл­ка – http://<IP address of zm server>/zm/index.php?
 
format=xhtml.
 
 
242166.png А вот ко­му MythTV? У Грэ­ма и у ме­ня есть стран­ная тя­га к па­ке­ту под на­званием MythTV. Те из вас, кто так же склон­ны к нему, бу­дут при­ят­но удив­ле­ны, узнав, что в Zoneminder есть свой соб­ст­вен­ный мод­уль рас­ши­рения для MythTV.
 
 
Хит­ро­ум­но на­зван­ный mythzmserver, он по­зво­ля­ет про­смат­ри­вать изо­бра­жение с ка­ме­ры на­пря­мую, а так­же пре­ду­пре­ж­дения и т. д., че­рез ин­тер­фейс MythTV, вы­зы­вая изо­бра­жения с пуль­та дис­тан­ци­он­но­го управ­ления на эк­ран те­ле­ви­зо­ра (ес­ли вы смо­же­те на­стро­ить пульт на ра­бо­ту с MythTV).
 
 
Ес­ли вы на­ме­ре­ны за­пускать на од­ном ПК и MythTV, и Zoneminder, ре­ко­мен­ду­ем как минимум дву­ядер­ный про­цес­сор и 2 ГБ опе­ра­тив­ной па­мя­ти.
 
 
Мо­дуль мож­но уста­но­вить из ре­по­зи­то­ри­ев Ubuntu. К со­жа­лению, он ищет файл zm.conf в пап­ке по умол­чанию /etc/zm.conf, тогда как в Ubuntu Zoneminder име­ет свою от­дель­ную пап­ку в /etc. Та­ким об­ра­зом, ко­ман­да для за­пуска mythzmserver вы­гля­дит сле­дую­щим об­ра­зом:
 
 
mythzmserver -c /etc/zm/zm.conf
 
 
Если ее до­ба­вить к скрип­ту Zoneminder, он будет за­пус­кать­ся при за­груз­ке.
 
 
LXF156.tut_zone.5.psd
 
242414.png Ти­пич­ное изо­бра­же­ние с ин­фра­крас­ной ка­ме­ры в ноч­ное вре­мя, с порт­ре­том зло­умыш­лен­ни­ка.
 
 
241292.png
 
Скорая помощь
 
 
Пе­ре­на­прав­ле­ние пор­тов с ва­ше­го ро­уте­ра сде­ла­ет Zoneminder дос­туп­ным че­рез Ин­тер­нет, но сна­ча­ла ус­та­но­ви­те безо­пас­ные име­на поль­зо­ва­те­лей и па­ро­ли.
 

Текущая версия на 17:34, 11 июля 2018


Ви­део­ох­ра­на. По­строй­те сер­вер без мо­ни­то­ра, дос­туп­ный че­рез Ин­тер­нет.

Содержание

[править] Zoneminder: Ви­део­слеже­ние

Лео Мак­свелл по­дав­ля­ет же­ла­ние от­ве­сить неодоб­ри­тель­ные за­ме­ча­ния о реа­ли­ти-шоу, по­ка­зы­вая вам, как соз­дать соб­ст­вен­ный Дом-2.

(thumbnail)
Верх­няя часть ок­на по­ка­зы­ва­ет до­маш­нюю стра­ни­цу Zoneminder. Не­сколь­ко скуд­ный вид об­ман­чив.

Три основ­ных по­во­да для на­блю­дения – безо­пас­ность, на­деж­ность и лю­бо­пыт­ст­во. Ес­ли вам необ­хо­ди­мо при­гля­ды­вать за спя­щим ре­бен­ком или по­лу­чить ви­део­до­ка­за­тель­ст­во, что некий тип за­су­нул ва­шу кош­ку в му­сор­ный ящик, Zoneminder вам в по­мощь. Это слож­ный менед­жер ка­ме­ры, вклю­чаю­щий под­держ­ку несколь­ких ис­точников изо­бра­жения, де­тек­тор дви­жения, опо­ве­щения по элек­трон­ной поч­те и ав­то­ма­ти­за­цию X10. Он под­дер­жи­ва­ет боль­шин­ст­во уст­ройств V4L (Ви­део для Linux) и мо­жет кон­тро­ли­ро­вать се­те­вые IP-ка­ме­ры, а благодаря web-ин­тер­фейсу иде­але­н для сер­ве­ра без монито­ра.

На сле­дую­щих страницах я рас­ска­жу вам, как по­стро­ить весь про­цесс по соз­данию «без­го­ло­во­го» сер­ве­ра ви­део­наб­лю­дения, спо­соб­но­го об­ра­ба­ты­вать изо­бра­жения и за­гру­жать изо­бра­жения на дру­гой ком­пь­ю­тер; и он бу­дет досту­пен в Ин­тернет, да­же с мо­биль­но­го те­ле­фо­на.

[править] Соз­дание сер­ве­ра

На нашем уро­ке мы применим па­ке­т про­грамм­но­го обес­пе­чения Zoneminder, ра­бо­таю­щий на сер­ве­ре Ubuntu. Для тес­ти­ро­вания нам по­на­до­бит­ся ком­пь­ю­тер на Pentium 4 или вы­ше, 512 МБ опе­ра­тив­ной па­мя­ти, под­клю­чение к се­ти и 20 ГБ на же­ст­ком дис­ке. Для по­сто­ян­ной экс­плуа­та­ции тре­бо­вания к обо­ру­до­ванию бу­дут за­ви­сеть от це­ло­го ря­да фак­то­ров, ко­то­рые мы об­су­дим поз­же.

За осно­ву для сис­те­мы я вы­брал сер­вер Ubuntu 11.10. Уста­нов­ка на дру­гие ди­ст­ри­бу­ти­вы, понят­но, бу­дет от­ли­чать­ся, но не долж­на быть силь­но сложнее. Ес­ли взду­мае­те со­би­рать из ис­ходников, имейте в ви­ду, что у Zoneminder до­воль­но мно­го за­ви­си­мо­стей.

Здесь нет гра­фи­че­­ско­­го ин­тер­фей­са ти­па на­ве­ди-и-щелкни – толь­ко web-ин­тер­фейс, и он недосту­пен, по­ка вы его не за­пусти­те. Это уст­рой­ст­во пред­на­зна­че­но для ра­бо­ты без монито­ра, так что боль­шин­ст­во опе­ра­ций мож­но про­во­дить уда­лен­но, и как толь­ко сис­те­ма бу­дет уста­нов­ле­на, эк­ран и кла­виа­ту­ру мож­но от­клю­чить.

Вам нуж­но вве­сти имя поль­зо­ва­те­ля и па­роль на ваш вы­бор для Ubuntu и для ба­зы дан­ных MySQL, плюс вашего SMTP-про­вай­дера поч­то­во­го сер­ве­ра (а так­же имя поль­зо­ва­те­ля и па­роль, ес­ли вы хотите использовать Zoneminder для от­прав­ки поч­ты).

Да­вай­те же начнем. Во-пер­вых, ска­чай­те об­раз Ubuntu Server с www.ubuntu.com/download/server/download. За­пи­ши­те его на ком­пакт-диск, а за­тем за­гру­зи­те диск на це­ле­вой ком­пь­ю­тер. По умол­чанию уста­но­вит­ся ба­зо­вый сер­вер без гра­фи­че­­ской обо­лоч­ки ра­бо­че­го сто­ла. Вы мо­же­те, ес­ли хо­ти­те, уста­но­вить пол­ную ОС Ubuntu, но этот пред­на­зна­чен для ра­бо­ты 24/7 «без го­ло­вы». На на­шей тес­то­вой сис­те­ме уста­нов­ка за­ня­ла око­ло 20 ми­нут.

Во вре­мя уста­нов­ки пре­достав­ля­ет­ся воз­мож­ность до­ба­вить еще па­ке­тов. До­полнитель­но ниче­го не тре­бу­ет­ся, но бы­ло бы непло­хо уста­но­вить сер­вер OpenSSH, ес­ли вам ну­жен уда­лен­ный доступ че­рез тер­ми­нал.

По­сле уста­нов­ки ком­пь­ю­тер пе­ре­за­гру­зит­ся, и вы уви­ди­те эк­ран вхо­да. Вой­ди­те с именем поль­зо­ва­те­ля и па­ро­лем, соз­дан­ны­ми в про­цес­се уста­нов­ки. Те­перь вы долж­ны уви­деть IP-ад­рес хоста на этой странице. На дан­ном эта­пе, вы мо­же­те про­дол­жить на этом ком­пь­ю­те­ре ли­бо ис­поль­зо­вать SSH с дру­го­го.

Те­перь мы го­то­вы к уста­нов­ке Zoneminder па­ке­та. В тер­ми­на­ле вве­ди­те:

 
sudo apt-get install zoneminder

Поя­вит­ся спи­сок фай­лов, в том чис­ле Zoneminder и все его за­ви­си­мо­сти. Достой­ны внимания в этом спи­ске web-сер­вер Apache, ба­за дан­ных MySQL, PHP и Perl, а так­же раз­лич­ные биб­лио­те­ки и ко­де­ки. Вве­ди­те Да и на­жми­те Ввод для уста­нов­ки. На за­груз­ку и уста­нов­ку всех необ­хо­ди­мых па­ке­тов по­тре­бу­ет­ся вре­мя, за­ви­ся­щее от ско­ро­сти ва­шей сис­те­мы и под­клю­чения к Ин­тернет. Вас по­про­сят вве­сти па­роль root для MySQL, и я бы вам со­ве­то­вал его за­пи­сать.

Вам так­же по­на­до­бит­ся вве­сти имя хоста, то есть сло­во, ко­то­рое бу­дет обо­зна­чать ваш ПК, и имя ва­ше­го поч­то­во­го сер­ве­ра – что­бы Zoneminder мог от­прав­лять опо­ве­щения по элек­трон­ной поч­те че­рез nullmailer, ко­то­рый так­же уста­нав­ли­ва­ет­ся ав­то­ма­ти­че­­ски.

По за­вер­шении про­ве­рьте web-сер­вер. На дру­гом ком­пь­ю­те­ре в се­ти, от­крой­те web-брау­зер и вве­ди­те IP-ад­рес но­во­го сер­ве­ра. Долж­на появиться на­чаль­ная страница Apache по умол­чанию, с за­го­лов­ком «Это ра­бо­та­ет!» и кое-ка­ким тек­стом. А раз ра­бо­та­ет, займемся на­стройкой. Спер­ва до­ба­вим сим­во­ли­че­скую ссыл­ку в ди­рек­то­рии кон­фи­гу­ра­ции Apache (это ука­жет Apache, где на­хо­дит­ся файл на­строй­ки Zoneminder). За­тем пе­ре­за­пустим Apache:

 
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

sudo /etc/init.d/apache2 restart

Да­лее нуж­но на­стро­ить Zoneminder, до­ба­вить Apache в ви­део­груп­пы, а так­же на­стро­ить zmfix, неболь­шой би­нарник, за­пускае­мый при за­груз­ке сис­те­мы, что­бы пра­ва ви­деоуст­рой­ст­ва бы­ли уста­нов­ле­ны пра­виль­но:

 
sudo chmod 4755 /usr/bin/zmfix

sudo zmfix -a

sudo adduser www-data video
(thumbnail)
Ре­дак­тор зон. Мож­но при­ме­нить раз­лич­ные цве­та для ин­ди­ка­ции раз­ных ти­пов дви­же­ния.

Те­перь мы мо­жем про­ве­рить его на дру­гом ком­пь­ю­те­ре в той же се­ти, от­крыв брау­зер и вве­дя в ад­рес­ной стро­ке http://<IP-ад­рес уст­рой­ст­ва>/zm. На­при­мер, ес­ли IP-ад­рес 192.168.0.10, бы­ло бы http://192.168.0.10/zm.

Долж­на от­крыть­ся до­маш­няя страница Zoneminder. Ес­ли Zoneminder не ра­бо­та­ет, на­жми­те на ссыл­ку Ос­та­нов­ле­но ввер­ху в цен­тре, что по­зво­лит за­пустить его. По­сле это­го он дол­жен за­пускать­ся при ка­ж­дой за­груз­ке.

[править] На­строй­ка ка­мер

Итак, Zoneminder ра­бо­та­ет; пе­рей­дем к на­строй­ке на­шей ка­ме­ры. Сле­дую­щие при­ме­ры по­ка­зы­ва­ют локаль­ное уст­рой­ст­во V4L и уда­лен­ное IP-уст­рой­ст­во.

V4L уст­рой­ст­ва вклю­ча­ют web-ка­ме­ры и кар­ты за­хва­та – лич­но я ис­поль­зую web-ка­ме­ру USB Logitech E3500, но и мно­гие дру­гие web-ка­ме­ры USB по­дой­дут. Что­бы убе­дить­ся, что web-ка­ме­ра под­клю­че­на, на­бе­ри­те lsusb в тер­ми­на­ле. Мы по­лу­чим спи­сок всех под­клю­чен­ных USB-уст­ройств . Моя ка­ме­ра ото­бра­жа­ет­ся как Logitech Inc Quickcam E 3500. По умол­чанию, пер­вое най­ден­ное уст­рой­ст­во V4L (в дан­ном слу­чае, моя web-ка­ме­ра USB) бу­дет при­сое­динено к сис­те­ме в /dev/video0.

Ес­ли у вас есть дру­гие уста­нов­лен­ные уст­рой­ст­ва V4L, на­при­мер, кар­ты за­хва­та, это мо­жет от­ли­чать­ся. Ко­ман­да ls -l /dev/video* вы­ве­дет спи­сок всех уст­ройств V4L в сис­те­ме, а команда

 
sudo udevadm info -a -p $(udevadm info -q path -n /dev/video*) | grep ATTR{name}

ото­бра­зит все уз­лы /dev/video device и их на­звания. Сам я по­лу­чил от /dev/video0 от­вет в ви­де UVC Camera (046d:09a4); на­бор цифр и букв в скоб­ках – это иден­ти­фи­ка­тор уст­рой­ст­ва, выдан­ный lsusb.

Те­перь расспро­сим о па­ра­мет­рах для на­шей ка­ме­ры. Ко­ман­да

 
sudo zmu -d /dev/video0 -q –v

даст нам длин­ный спи­сок ат­ри­бу­тов, но са­мые важ­ные – Formats, MJPEG, YUV 4:2:2 (YUYV) и Bounds 320 × 240.

Нам они по­тре­бу­ют­ся при на­строй­ке ка­ме­ры в Zoneminder. С это­го мо­мен­та мы долж­ны быть в со­стоянии об­хо­дить­ся web-ин­тер­фей­сом. За­пусти­те его сно­ва из web-брау­зе­ра на дру­гом ком­пь­ю­те­ре в той же се­ти и на­жми­те на кноп­ку До­ба­вить но­вый монитор. Поя­вит­ся всплы­ваю­щее ок­но.


На пер­вой странице вве­ди­те имя для монито­ра, а за­тем задай­те Local в ка­че­­ст­ве ти­па ис­точника и монитор в ка­че­­ст­ве функ­ции.

Те­перь на­жми­те на вклад­ке Ис­точник и вве­ди­те сле­дую­щее:

 
Device path: /dev/video0

Device format: PAL

Capture palette: YUYV

Capture width: 320

Capture height: 240

и на­жми­те Со­хранить. Ес­ли все хо­ро­шо, вы долж­ны уви­деть ссыл­ки на функ­ции и ис­точники, и они бу­дут оран­же­во­го цве­та. Ес­ли они крас­но­го цве­та, это оз­на­ча­ет, что ка­ме­ра не ра­бо­та­ет. На­строй­ки IP- или се­те­вой ка­ме­ры схо­жи, но по­сколь­ку ко­ман­да zmu ра­бо­та­ет толь­ко для локаль­но под­клю­чен­ных уст­ройств, необ­хо­ди­мо по­лу­чить ин­фор­ма­цию об уст­рой­ст­ве из дру­гих ис­точников.

Вам нуж­но знать раз­ре­шение ка­ме­ры, ее фор­мат изо­бра­жения и URL. По­следний обыч­но со­сто­ит из ее IP-ад­ре­са с пу­тем для по­то­ко­во­го изо­бра­жения или ви­део. Хо­тя мно­гие IP-ка­ме­ры ис­поль­зу­ют ActiveX или Java для уда­лен­но­го ин­тер­фей­са брау­зе­ра, они час­то пред­ла­га­ют пря­мой URL для по­то­ко­во­го ви­део. Ес­ли это­го нет в ру­ко­во­дстве поль­зо­ва­те­ля, бы­ст­рый по­иск в Ин­тернете по но­ме­ру мо­де­ли мо­жет ре­шить во­прос; или про­сто на­ве­ди­те на ссыл­ки на соб­ст­вен­ные встро­ен­ные web-страницы – тогда мо­жет вы­явиться ад­рес ссыл­ки в нижней час­ти эк­ра­на брау­зе­ра.

На­при­мер, у ме­ня есть IP-ка­ме­ра, ко­то­рая пред­ла­га­ет URL для жи­во­го по­то­ко­во­го ви­део для мо­биль­ных уст­ройств, и это – 192.168.0.30/pda.cgi?page=image&cam=1.

Итак, на пер­вом эк­ране я вы­би­раю Уда­лен­ный в ка­че­­ст­ве ти­па ис­точника; на вто­ром эк­ране вво­жу 192.168.0.30 в ка­че­­ст­ве имени уда­лен­но­го хоста и /pda.cgi?page=image&cam=1 для пу­ти, с 640 и 480 для ши­ри­ны и вы­со­ты со­от­вет­ст­вен­но.

(thumbnail)
Стра­ни­ца со­бы­тий Zoneminder: здесь мож­но про­смот­реть, экс­пор­ти­ро­вать и уда­лить со­бы­тия. Стра­ни­ца Ре­дак­тор фильт­ров ото­бра­жа­ет­ся сле­ва.

Ес­ли IP-ка­ме­ра на­строе­на с ис­поль­зо­ванием имени поль­зо­ва­те­ля и па­ро­ля, вве­ди­те имя в фор­ма­те <имя_поль­зо­ва­те­ля>:<па­роль>@<имя_хоста>. Когда все бу­дет вве­де­но, на­жми­те кноп­ку Со­хранить.

[править] Изу­ча­ем ин­тер­фейс

Ес­ли все про­шло хо­ро­шо, те­перь у вас есть од­на или несколь­ко ра­бо­чих ка­мер, и мы мо­жем при­сту­пить к ис­сле­до­ванию осо­бен­но­стей Zoneminder. При на­жа­тии на ссыл­ку Па­ра­мет­ры в пра­вом верхнем уг­лу от­кро­ет­ся глав­ное ок­но на­строй­ки – оно пред­ста­вит вам на пер­вый взгляд чу­до­вищ­ное ко­ли­че­­ст­во вкла­док. Од­нако по щелч­ку на зна­ке во­про­са ря­дом с ка­ж­дой за­пи­сью доступ­на справ­ка.

Zoneminder воспринима­ет ви­деоуст­рой­ст­ва как Монито­ры. На­жав на на­звании монито­ра, вы от­крое­те всплы­ваю­щее ок­но с изо­бра­жением в ре­аль­ном вре­мени. На­жа­тие на лю­бую из за­пи­сей в столб­це Со­бы­тия от­кро­ет эк­ран Со­бы­тия, где мож­но воспро­из­ве­сти или уда­лить со­бы­тия, на­стро­ить фильт­ры для опо­ве­щения по элек­трон­ной поч­те, и т. д. На­жа­тие на запись в ко­лон­ке Функ­ция вклю­чает или от­клю­чает монитор, либо меняет функ­цию.

В вы­па­даю­щем списке есть пять ре­жи­мов ка­ме­ры:

  • Монитор – про­сто пас­сив­ный ре­жим с по­то­ко­вым ви­део или се­ри­ей кад­ров в ре­аль­ном вре­мени.
  • Запись сохраняет за­дан­ное ко­ли­че­­ст­во кад­ров в цик­ле.
  • Modect – об­на­ру­жение дви­жения, сканирование по­сле­до­ва­тель­ности изо­бра­жений; когда из­менения ме­ж­ду изо­бра­жения­ми по­ка­зы­ва­ют дви­жение, изо­бра­жения за­пи­сы­ва­ются.
  • Mocord яв­ля­ет­ся ком­би­на­ци­ей двух пре­ды­ду­щих ре­жи­мов: цикл записывается, а те кад­ры, где бы­ло об­на­ру­же­но дви­жение, отмечаются особо.
  • Nodect – запись сра­ба­ты­ва­ет толь­ко от внешних со­бы­тий, на­при­мер, сиг­нала от ин­фра­крас­но­го де­тек­то­ра дви­жения X10.

Лю­бые из­менения бу­дут от­ра­же­ны в цве­те ис­точника и функ­ции за­пи­си. Крас­ный цвет ука­зы­ва­ет на ошиб­ки, функ­ция Монитор – в пас­сив­ном ре­жи­ме и ок­ра­ше­на в оран­же­вый цвет, все осталь­ные ре­жи­мы ак­тив­ны и долж­ны быть ок­ра­ше­ны в зе­ле­ный цвет. В столб­це Зо­ны, зна­чение по умол­чанию уста­нов­ле­но на 1. При на­жа­тии на эту запись от­кро­ет­ся всплы­ваю­щее ок­но Зо­на; за­тем на­жми­те на на­звание зо­ны, и от­кро­ет­ся Ре­дак­тор зон, где вы мо­же­те соз­да­вать раз­лич­ные зо­ны по­кры­тия для об­на­ру­жения дви­жения.

Де­тек­тор дви­жения мо­жет при­ме­нять­ся в са­мых слож­ных слу­ча­ях. Ис­поль­зуя Ре­дак­тор зон, вы мо­же­те раз­де­лить об­ласть изо­бра­жения на от­дель­ные зо­ны, ка­ж­дая со свои­ми ат­ри­бу­та­ми. Фор­ма зо­ны на­чи­на­ет­ся в ви­де квад­ра­та, об­рам­ляю­ще­го весь об­раз. Раз­мер и фор­ма мо­гут быть из­менены пу­тем пе­ре­тас­ки­вания уг­ло­вых то­чек, а так­же мож­но до­ба­вить до­полнитель­ные точ­ки. Предусмотрено пять ти­пов зон:

  • ак­тив­ная ис­поль­зу­ет­ся ча­ще все­го, дви­жение вы­зы­ва­ет сиг­нал тре­во­ги;
  • вклю­чен­ная вы­зы­ва­ет тре­во­гу, толь­ко за­фик­си­ро­вав дви­жение хо­тя бы в од­ной из зон;
  • вы­клю­чен­ная за­пуска­ет­ся толь­ко в слу­чае от­сут­ст­вия со­бы­тий в дру­гих зо­нах;
  • пре­ду­пре­ж­даю­щая – со­бы­тие в этой зоне бу­дет пре­пят­ст­во­вать за­пуску сиг­на­лов тре­во­ги в дру­гих зо­нах;
  • не­ак­тив­ная – для «мерт­вых» зон, где сиг­нал тревоги не име­ет смысла.

Для ка­ж­до­го из этих ти­пов зон мож­но уста­нав­ли­вать по­ро­ги чув­ст­ви­тель­но­сти по из­менениям пик­се­лей, ко­то­рые мо­гут быть по-раз­но­му сгруп­пи­ро­ва­ны или от­фильт­ро­ва­ны. К сча­стью, есть несколь­ко пре­дуста­нов­лен­ных ва­ри­ан­тов, ко­то­рые да­дут вам об­щее пред­став­ление при соз­дании соб­ст­вен­ных па­ра­мет­ров. Сто­ит иметь в ви­ду, что чем сложнее фильт­ра­ция, тем боль­ше вы­чис­ли­тель­ной мощ­но­сти необ­хо­ди­мо для ее реа­ли­за­ции, и без стро­гой необ­хо­ди­мо­сти зо­ны не долж­ны пе­ре­се­кать­ся. При уста­нов­ке слиш­ком вы­со­кой чув­ст­ви­тель­но­сти ваш же­ст­кий диск бы­ст­ро за­бьет­ся неже­ла­тель­ны­ми изо­бра­жения­ми от лож­ных сра­ба­ты­ваний. На­при­мер, во вре­мя пер­во­го снего­па­да в про­шлом го­ду я за 30 ми­нут по­лу­чил от мое­го сер­ве­ра Zoneminder 224 элек­трон­ных пись­ма.

(thumbnail)
Ти­пич­ное изо­бра­же­ние с ин­фра­крас­ной ка­ме­ры в ноч­ное вре­мя, с порт­ре­том зло­умыш­лен­ни­ка.

Что­бы уско­рить связь ме­ж­ду мо­ду­ля­ми, Zoneminder применяет бу­фер раз­де­ляе­мой па­мя­ти. Я ис­поль­зо­вал Ubuntu 11.10 и Zoneminder 1.24.4 с па­мя­тью, раз­ме­чен­ной по умол­чанию. Хо­тя на­строй­ки тут и не тре­бу­ет­ся, все-та­ки сле­ду­ет убе­дить­ся, что для всех ва­ших ка­мер па­мя­ти доста­точ­но. Ес­ли 11.10 слиш­ком серь­ез­но для вас, знай­те, что в вер­си­ях до 1.24 тре­буе­мый объ­ем об­щей па­мя­ти нуж­но уста­нав­ли­вать вруч­ную. Ес­ли вы за­да­ди­те ма­ло об­щей па­мя­ти, ка­ме­ра не бу­дет ра­бо­тать, и жур­на­лы по­ка­жут ошиб­ку shmget. Ос­нов­ная фор­му­ла для рас­че­та об­щих тре­бо­ваний к па­мя­ти та­ко­ва:

(Ко­ли­че­­ст­во кад­ров в бу­фе­ре) × (ши­ри­на изо­бра­жения) × (Вы­со­та изо­бра­жения) × 3 (для 24-бит­но­го цве­та) × (ко­ли­че­­ст­во ка­мер) + 10 % за­пас

Один кадр ви­део в раз­ре­шении 640 × 480 в 24-бит­ном цве­те бе­рет 921 600 байт, или око­ло 1 МБ, так что для бу­фе­ра на 40 кад­ров (по умол­чанию) для од­ной ка­ме­ры по­тре­бу­ет­ся око­ло 40 МБ. Для на­строй­ки это­го в бо­лее ранних вер­си­ях, ис­поль­зую­щих раз­де­ляе­мую па­мять SystemV, до­бавь­те на­строй­ки па­мя­ти в кон­це /etc/sysctl.conf, по­сле че­го пе­ре­за­гру­зи­тесь. Зна­чение shmall – это мак­си­маль­ное ко­ли­че­­ст­во об­щих страниц па­мя­ти, ко­то­рые мо­гут быть вы­де­ле­ны (по умол­чанию раз­мер страницы па­мя­ти ра­вен 4 КБ), а shmax – это мак­си­маль­ный раз­мер сег­мен­та раз­де­ляе­мой па­мя­ти. На­при­мер,

 
kernel.shmall = 31054432

kernel.shmmax = 134217728

Это до­бав­ля­ет 128 MБ раз­де­ляе­мой па­мя­ти. Ес­ли вы хо­ти­те ис­поль­зо­вать несколь­ко ка­мер, вам, воз­мож­но, сле­ду­ет уве­ли­чить приведенные циф­ры.

[править] Рас­пи­сание

В верхней час­ти эк­ра­на вы ви­ди­те, что Zoneminder по­ка­зан как ра­бо­таю­щий. На­жа­тие на ссыл­ку За­пуск по­зво­лит из­менить со­стояние на пе­ре­за­груз­ку. Служ­ба пе­ре­за­пустит­ся. Мож­но до­ба­вить и свои соб­ст­вен­ные ре­жи­мы. Для на­ча­ла на­стро­им ZoneMinder под свои за­про­сы – на­при­мер, на об­на­ру­жение дви­жения в днев­ное вре­мя. Для это­го на­жми­те на ссыл­ку За­пуск, вве­ди­те “daytime” в тек­сто­вом по­ле и на­жми­те кноп­ку Со­хранить. Daytime до­ба­вит­ся в спи­сок ре­жи­мов, поя­вит­ся в вы­па­даю­щем спи­ске и смо­жет вы­зы­вать­ся при по­мо­щи zmpkg.pl с за­данием cron при планиро­вании раз­лич­ных ре­жи­мов ра­бо­ты для раз­но­го вре­мени су­ток, в вы­ход­ные дни, праздники и т. д.

Ти­пич­ная запись crontab вы­гля­дит так:

0 9 * * 1-5 /usr/local/bin/zmpkg.pl daytime

Ре­жим Daytime здесь бу­дет за­пускать­ся в 9 ут­ра с понедельника по пятницу.

И, на­конец... Zoneminder – слож­ный и мощ­ный па­кет, и на этом уро­ке я лишь по­верх­но­ст­но рас­ска­зал о его воз­мож­но­стях. Бо­лее под­роб­ная ин­фор­ма­ция доступ­на на www.zoneminder.org.

Персональные инструменты
купить
подписаться
Яндекс.Метрика