четвер, 16 липня 2015 р.

Відеоспостереження Motion

   Доброго дня всім. Це мій перший допис у блозі. Тут я розкажу про підєднання камер до Linux server за допомогою програми  motion.
Задача : організувати відеоспостереження у нічний час (з 9 до 18) та у вихідні дні(субота - неділя круглодобово), онлайн спостереження за камерами , та запис по руху на хард компа , і видалення старих відео.
   На роботі мені поставили задачу організувати відеоспостереження, дві камери вже стояли навулиці. Полазивши по гуглі я найшов дві три програми, які би працювали з моєю платою відеозахвату - це  Zoneminder, Motion та ще якась третя(забув назву). Спочатку побавився з Zoneminder , але там появилися деякі складнощі із записом відео. Тому я зунився на motion.
   Отже почнемо.

1)  Встановлення драйверів для плати
  точіше вони стоять , а нам лише треба вказати тип плати, а то в більшості випадків вона оприділяється невірно. Всі настройки будемо проводити в консольному режимі.
   За допомогою команди lspci визначаємо тип плати відеозахвату:
у мене плата відеозахвату чотирьох канальна на чотирьох чіпах bt878. у dev вона відображається так :
дивимося як драйвер оприділив плату :
в мене просто вже вказано тип плати а у вас соріш за все писатиме 
"card : "BT878 video ( *** UNKNOWN/GENER""
тому спочатку вигружаєм плату командою 
sudo rmmod bt878 bttv
і загружаємо її , вказавши попередньо її тип
sudo modprobe -v bttv card=число_идентификатор_платы_из_списка  tuner=-1 autoload=0
число - індитифікатор - шукаємо в неті свою плату, і відповідно до неї число індитифікатор.
Для плат на чіпі bt 878a в першу чергу можна попробувати ccard=0x69 (Provideo PV143), що відповідає простій плаі з базовою комплектацію.
далі знову дивимося чи оприділилася в нас плата. має бути щось похоже як в мене .
Плата опридідилися, йдемо далі..

2) Встановлюємо програму motion :
sudo aptitude install motion
далі шукаємо конфігураційний файлик і робомо потрібні нам зміни :

3) Редагуємо конфігураційний файлик
sudo nano /etc/motion/motion.conf
(відкриваємо файлик любим текстовим редактором, у моєму випадку - nano)
як настроїти вам розкажуть тут

В мене все запрацювало, але була одна проблема: камер то дві штуки!
В моєму випадку це video0 та video1.
Потрібно створити два конфігураційні файлика. А точніше все що в камер однакове - лишити на місці , а що інакше для кожної з камер - винести в окремий файлик thread.conf
в мене ці файлики лежать

вкінці motion.conf незабуваємо вказати шлях до наших конфігураційних файликів

в мене прямо перед однією з камер стоїть прапор, який від вітра завжди рухається, і камера вловлює рух і пише відео майже завжди. тому мені пройшлося накласти маску для тої камери.
маска - це зображення такого ж розширення, як кадри з камери (у мене 720*480 ), де ділянка , за якою непотрібно спостерігати зафарбовується чорним кольором, все решта - білого кольору. Розширення зобаження для маски - .pgm. Для перетворення зобрження з одного типу в інший є багато онлайн конвертерів.
зображення з камери
маска для зображення
змінювати чутливість камери на рух можна маніпулюючи сірим кольором. чим темніший - тим менша чутливість.

Камеру настроїли йдемо далі..

4) Запуск програми по розкладу
будемо виконувати за допомогою такої штуки як crontab.
в мене він виглядає так :
перша стрічка - зупиняємо  motion  кожного робочого дня о 9: 00
друга - запускаємо кожного робочого дня о 18:00
третя - в неділю запускаємо  motion о 00:00
четверта - в суботу ввечері  виключаємо motion
пята - шлях до скрипта для видалення давніх відео
більше про crontab є  тут

5) Скрипт для видалення старих відеозаписів
в мене він виглядає так
видалення - кожного відео, семиденної давності
більше про написання скриптів тут

Ніби із основного все .
Мої файли motion.conf та thread.conf тут