Видеонаблюдение в Линуксе
Материал из Linux.Uz Wiki
Вступление
Есть китайский ТВ-тюнер с s-video входом, есть цифровая видеокамера Sony DCR-TRV19E и есть дистрибутив линукса — Ubuntu 8.04.
Настройку ТВ-тюнера в линуксе придется опустить, сами справитесь, если еще не настроили. Камеру подключил к компу через s-video кабель, подключенный к тюнеру. Камеру можно было подключить и через firewire, но тут тогда будет действовать ограничение длины кабеля, когда я камеру ставил на окно, а комп в пяти метрах от окна.
Из софта понадобится только одна штучка — программа motion. Прога весит крайне мало — в пакете всего 196, в распакованном виде — килобайт 700. Очень подозрительный объем для такой сверх-функциональной программы. (для записи видео потребуется еще установить ffmpeg)
Настройка
В убунте и дебиане ставится очень легко:
# apt-get install motion
Настраивается тоже очень легко. Надо отредактировать всего один конфиг — /etc/motion/motion.conf и можно запускать. Вот к примеру мой конфиг: (правда я постоянно с ним игрался, так что не уверен на счет правильности всех опций)
#запускать не в виде демона, висеть в консоли daemon off #не пищать, если обнаружено движение quiet on #устройство videodevice /dev/video0 #канал тюнера (0-ТВ, 1-composite, 2-s-video, 3-composite) input 2 width 640 height 480 framerate 30 #обводить двигающийся предмет рамкой locate on auto_brightness off #указываем, куда сохранять скриншоты и видео target_dir /home/krik/snapshots ffmpeg_filename /home/krik/snapshots/video/%v-%Y%m%d%H%M%S #порт, по которому можно заходить через http://localhost:порт/ webcam_port 9192 #вещать наблюдение только на локальном компьютере webcam_localhost on #качество вещания по сети webcam_quality 50 #максимальное количество кадров в секунду для вещание по сети webcam_maxrate 8 threshold 4500 noise_level 64 ffmpeg_cap_new on ffmpeg_video_codec msmpeg4 #ffmpeg_deinterlace on ffmpeg_variable_bitrate 15 #если замечено движение на камере, запустить любую команду on_motion_detected `zenity --warning --text="Линуксоиды атакуют\!\nВ районе %K широты %L долготы"` #сохранять объекты, которые двигаются #output_motion on #текст, который будет дописываться в левом нижнем углу на видео и на скриншотах text_left RKA Security Management
После того, как конфиг сохранили — можно подключать камеру и запускать в терминале саму прогу:
$ motion
- ! Права рута не требуются, если каталог для сохранения файлов имеет права на запись !
Теперь открываем браузер и пишем туда http://localhost:9192/ и там уже можно увидеть картинку скамеры.
Смысл программы состоит в том, что она определяет именно любые движения на камере. То есть если махнуть рукой перед камерой — программа запустит выбранную команду и сохранит кадры, на которых замечено движение, также еще сохранит видео.
Можно настроить, чтобы программа просто запускала только выбранную команду, не использовав браузер и т. п. Она кстати не так сильно загружает процессор, точнее если не использовать браузер — то вообще слабо загружает.
Еще она может следить за несколькими камерами сразу, которые можно настроить по разному (когда на одной камере замечено движение — запускается одна команда, когда на другой — другая команда).
Также можно использовать еще и вебкамеры (у моей камеры был серьезный недостаток, она автоматически выключается через 5 минут, если на нее ничего не снимать) или любые другие. То есть настроить видеонаблюдение в линуксе может любой начинающий, при этом не затратив много денег, когда как результат приравнивается к профессиональному.

