Узнать подключена ли ваша камера в данный момент можно командой:
ls /dev/video*В ответ вы увидите строку /dev/video0. Если вы подключили несколько камер,
соответственно каждая следующая будет идти по порядку video1, video2 и т. д. Напомню, что в убунту нумерация устройств начинается с нуля.
Если вместо этого вы увидите строку
ls: невозможно получить доступ к /dev/video*: Нет такого файла или каталогазначит ваша камера не подключена или не найден подходящий драйвер. Придется ставить его отдельно. Этот вопрос я рассматривать не буду, практически для всех веб-камер можно найти драйверы в интернете.
Если же вы уверены, что драйвер должен быть в системе, выполните такую команду:
lsusbВ ответ вы увидите все подключенные usb устройства. У меня выходит следующее:
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 023: ID 045e:00f7 Microsoft Corp. LifeCam VX-1000
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 004: ID 07d1:3c07 D-Link System Wireless G DWA-110 Adapter
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 002: ID 04b8:0007 Seiko Epson Corp. Printer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubВо второй строчке моя камера. Если ничего не помогает, проверьте работоспособность вашей камеры на другом компьютере.
Звук. Если вы хотите не только смотреть, но еще и слышать, вам понадобится отдельный микрофон, если ваша камера без встроенного микрофона. Cейчас большинство камер идут с микрофоном. Давайте проверим это. Наберите в терминале команду arecord -l. В ответ вы получите список устройств с микрофоном. У меня камера с микрофоном и еще есть микрофонный вход на материнке:
**** Список CAPTURE устройств ****
карта 0: ICH [Intel ICH], устройство 0: Intel ICH [Intel ICH]
Подустройства: 0/1
Подустройство №0: subdevice #0
карта 0: ICH [Intel ICH], устройство 1: Intel ICH - MIC ADC [Intel ICH - MIC ADC]
Подустройства: 1/1
Подустройство №0: subdevice #0
карта 1: camera [USB camera], устройство 0: USB Audio [USB Audio]
Подустройства: 1/1
Подустройство №0: subdevice #0Если с камерой все гуд, перейдем к делу.
Способ первый: ffmpeg
Наверно многие знают, а быть может и применяют этот замечательный набор библиотек для работы с аудио и видео данными – ffmpeg. Официальный сайт разработчиков http://ffmpeg.orgFfmpeg умеет записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. А также захватывать изображение с камер. То, что нам нужно!
Установка
sudo apt-get install ffmpegВ составе ffmpeg присутствует ffserver – медиа-сервер, который может раздавать по сети аудио-видео данные полученные от ffmpeg.
Настроечный файл ffserver-а лежит в /etc/ffserver.conf
# Порт сервера. Можно поменять на любой другой свободный порт
Port 8090
# Если у вас на сервере несколько ip-адресов, выберите тот, на котором будет вещать ffserver.
# 0.0.0.0 означает любой адрес
BindAddress 0.0.0.0
# Количество одновременных http подключений к серверу
MaxHTTPConnections 10
# Количество одновременных запросов, которые могут быть обработаны
MaxClients 10
# Ширина канала на передачу ваших трансляций в кбит/сек
MaxBandwidth 1000
# Путь к лог-файлу доступа (используется формат файла журналов Apache)
# '-' означает стандартный вывод.
CustomLog -
# Закомментируйте эту строку если хотите запускать сервер в режиме демона.
# Советую на время подбора настроек использовать NoDaemon-режим
NoDaemon
##################################################
# Далее идут настройки фидов
# Каждый фид содержит один видео и (или) звуковой поток, получаемый
# от ffmpeg или другого ffserver-а
# Название фида. В данном примере feed1.ffm
<Feed feed1.ffm>
# Путь, где будут храниться фиды
File /tmp/feed1.ffm
# Максимальный размер фида (здесь 5 МБ)
FileMaxSize 5M
# Автозапуск ffmpeg при запуске ffserver-а.
# После того как подберете оптимальные настройки,
# можно здесь указать параметры запуска ffmpeg,
# чтобы не запускать вручную
#Launch ffmpeg [параметры]
# Разрешить соединения только с локалхоста.
# Закомментируйте, если хотите смотреть с других компьютеров
ACL allow 127.0.0.1
</Feed>
# Настройки фида на этом заканчиваются.
##################################################################
# Дальше идут настройки потоков.
# Их может быть несколько, зависит от ваших потребностей
# Первый фид test1.mpg
<Stream test1.mpg>
# источник потока feed1, который настроили чуть выше
Feed feed1.ffm
# Выберите формат потока:
# mpeg : MPEG-1 звук и видео
# mpegvideo : только MPEG-1 видео
# mp2 : MPEG-2 только звук
# ogg : Ogg (Vorbis)
# rm : RealNetworks-совместимый поток. Звук и видео
# ra : RealNetworks-совместимый поток. Только звук.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Одиночные JPEG изображения.
# asf : ASF (формат Windows Media Player).
# swf : Macromedia Flash
# avi : AVI (видео MPEG-4, звук MPEG)
# Выбираем желаемый формат из списка выше. В данном примере mpeg
Format mpeg
# Битрейт звука
AudioBitRate 32
# 1 = моно, 2 = стерео
AudioChannels 1
# Частота дискретизации звука
AudioSampleRate 44100
# Битрейт видео
VideoBitRate 64
# Размер буффера
VideoBufferSize 40
# Количество кадров в секунду
VideoFrameRate 3
# Разрешение видео: ширина*высота (по умолчанию: 160x128)
# Можно писать сокращенно: sqcif, qcif, cif, 4cif, qqvga,
# qvga, vga, svga, xga, uxga, qxga, sxga, qsxga, hsxga, wvga, wxga, wsxga,
# wuxga, woxga, wqsxga, wquxga, whsxga, whuxga, cga, ega, hd480, hd720,
# hd1080. Это разрешение должно совпадать с тем, которое вы будете
# передавать в параметрах ffmpeg
VideoSize 160x128
# Передавать только внутренние (intra) кадры
# (используется низкий битрейт, чтобы уменьшить количество кадров).
#VideoIntraOnly
# Не разобрался, что это за параметр. Кажется означает расстояние
# между соседними кадрами. Зависит от вкл/выкл предыдущего параметра
VideoGopSize 12
# Дополнительные настройки MPEG-4
# VideoHighQuality
# Video4MotionVector
# Выберите кодеки:
#AudioCodec mp2
#VideoCodec mpeg1video
# Раскомментируйте, если не хотите передавать звук
#NoAudio
# Раскомментируйте если не хотите передавать видео
#NoVideo
# Минимальное и максимальное качество видео (1 - самое лучшее)
VideoQMin 1
VideoQMax 31
# Задержка для буферизации в проигрывателях
#Preroll 15
# Управление доступом:
# Здесь можно задать список разрешенных для подключения ip-адресов
#ACL ALLOW <first address> <last address>
# Список запрещенных адресов
#ACL DENY <first address> <last address>
# Конец настроек перовго потока
</Stream>
# Дальше в оригинальном конфиге идут примеры потоков.
# Я не буду их здесь переписывать, посмотрите сами, там все понятно.
# В конце конфига есть еще парочка интересных строчек
# Спец. потоки
# Статус сервера
# Страница будет доступна по адресу http://ip_сервера:порт/stat.html
<Stream stat.html>
Format status
# Кому разрешаем смотреть статус сервера
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
# Также можно задать иконку страницы
FaviconURL /home/username/favicon.ico
</Stream>
# Перенаправлять index.html на сайт разработчиков ffmpeg
#<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>Port 8093
BindAddress 192.168.1.200
MaxHTTPConnections 10
MaxClients 10
MaxBandwidth 20000
#NoDaemon
<File /tmp/feed.ffm>
FileMaxSize 3M
</Feed>
<Stream video.swf>
Feed feed.ffm
# Будет запускаться в Adobe Flash Player
Format swf
VideoCodec flv
VideoFrameRate 15
VideoBufferSize 50000
VideoBitRate 200
VideoSize 640x480
</Stream>
<Stream status.html>
Format status
</Stream>ffmpeg -s 640x480 -r 15 -f mjpeg -i /dev/video0 http://ip:port/feed-s – разрешение, должно быть таким в конфиге ffserver. Не выставляйте разрешение большее, чем может передать ваша веб-камера.
-r – количество кадров/секунду. Здесь также ориентируйтесь на возможности камеры. Моя, например, выдает 30 кадров в секунду при разрешении 320*240, и всего 15 кадров при разрешении 640*480.
-f – формат видео получаемый с камеры. В большинстве случаев подойдет формат video4linux2. В зависимости от камиеры можете попробовать video4linux (video4linux1). Моя камера заработала только с форматом mjpeg.
-i – путь к камере. Если у вас одна камера, то путь всегда будет /dev/video0. Про это я писал в начале статьи.
http://ip:port/feed – это адрес нашего фида. ip – это ip-адрес вашего сервера, feed – адрес вашего фида, который указан в настройках выше. У меня эта строка выглядит так http://192.168.1.200:8093/myfeed.ffm.
Теперь открывайте в браузере http://192.168.1.200:8093/video.swf (или вы могли дать потоку другой адрес) и вы увидите трансляцию с вашей камеры.
По адресу http://192.168.1.200:8093/status.html можно посмотреть статус сервера и доступные для просмотра трансляции.
Приведу еще два примера использования ffmpeg. Вот так можно транслировать из файла вместо камеры:
ffmpeg -i /home/username/testvideo.avi -s qcif -r 15 -ac 1 -ar 8000 -b 30 -ab 12 http://localhost:8090/feed.ffmВот так можно передавать свой рабочий стол:
ffmpeg -f x11grab -r 30 -s 640x480 -i :0.0 http://localhost:8090/feed.ffmИз минусов ffmpeg-а могу отметить только то, что если ваш сервер многоядерный, ffmpeg будет использовать только одно ядро. Макисмальное количество одновременных соединений, которое сможет выдержать ffserver – 5000. Для домашнего использования этого больше, чем достаточно. Даже если вы будете транслировать видео на своем сайте, вряд ли его одновременно будут смотреть более 5000 человек. Если конечно у вас не видео-хостинг типа ютуба.
Способ второй: motion
Motion не менее замечательная вещь для организации видео наблюдения с помощью веб-камеры. Плюсом motion-а является встроенный датчик движения. Т. е. нам не обязательно вести запись с камеры постоянно. Пока движения нет, запись не будет вестись, как только в зоне наблюдения появится движение motion начнет запись.Официальный сайт разработчиков http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome.
Установка
sudo apt-get install motionКонфиг очень большой, но многое там можно оставить как есть. Достаточно указать путь к вашей камере и запустить motion. Но мы ведь легких путей не ищем и будем тонко подстраивать все под себя. Файлик тут /etc/motion/motion.conf. Рассмотрим его подробно, чтобы понять как все устроено, а потом выкинем из него все лишнее.
############################################################
# Демон
############################################################
# Запуск в режиме демона (по умолчанию: off)
daemon off
# Файл для хранения идентификатора процесса (ID)
process_id_file /var/run/motion/motion.pid
############################################################
# Основной режим установки
############################################################
# Запсутить в режиме установки, демон отключается
setup_mode off
###########################################################
# Параметры устройства захвата
############################################################
# Адрес вашей камеры в системе. Как определить писал в начале статьи.
videodevice /dev/video0
# Выберите палитру поддерживаемую вашей камерой.
# По умолчанию: 8 (подходит для большинства)
# V4L2_PIX_FMT_SN9C10X : 0 'S910'
# V4L2_PIX_FMT_SBGGR8 : 1 'BA81'
# V4L2_PIX_FMT_MJPEG : 2 'MJPEG'
# V4L2_PIX_FMT_JPEG : 3 'JPEG'
# V4L2_PIX_FMT_RGB24 : 4 'RGB3'
# V4L2_PIX_FMT_UYVY : 5 'UYVY'
# V4L2_PIX_FMT_YUYV : 6 'YUYV'
# V4L2_PIX_FMT_YUV422P : 7 '422P'
# V4L2_PIX_FMT_YUV420 : 8 'YU12'
v4l2_palette 8
# Настройки тв-тюнера. Нам они не нужны
; tunerdevice /dev/tuner0
# Здесь тоже ничего не меняем. 8 - юсб-камера, 0-1 для тв-тюнера
input 8
# Эта настройка тоже касается тв-тюнера и нам не нужна
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 0
# Частота канала тв-тюнера
frequency 0
# Поворот изображения. По умолчанию 0 (не поварачивать),
# можно выбрать поворот на 90, 180 и 270 градусов.
rotate 0
# Ширина картинки в пикселях. По умолчанию: 352
width 640
# Высота картинки. По умолчанию: 288
height 480
# Количество кадров в секунду.
# От 2 до 100 в зависимости от камеры.
# Чем большее количсевто кадров выбрать, тем больше будет нагрузка на компьютер
framerate 15
# Минимальное время между захватом двух кадров. По умолчанию отключено (0).
# Если, например, выбрать 3, то кадры будут захватываться каждые 3 секунды
minimum_frame_time 5
# Адрес сетевой камеры или потока
; netcam_url value
# Логин-пароль для предыдущего параметра
# Синтаксис имя_пользователя:пароль
; netcam_userpass value
# Опять пропускаем
# The setting for keep-alive of network socket, should improve performance on compatible net cameras.
# 1.0: The historical implementation using HTTP/1.0, closing the socket after each http request.
# keep_alive: Use HTTP/1.0 requests with keep alive header to reuse the same connection.
# 1.1: Use HTTP/1.1 requests that support keep alive as default.
# Default: 1.0
; netcam_http 1.0
# URL to use for a netcam proxy server, if required, e.g. "http://myproxy".
# If a port number other than 80 is needed, use "http://myproxy:1234".
# Default: not defined
; netcam_proxy value
# Set less strict jpeg checks for network cameras with a poor/buggy firmware.
# Default: off
netcam_tolerant_check off
# Автоматическая регулировка яркости изображения. По умолчанию отключено.
# Практически все камеры умеют это делать сами
auto_brightness off
# Дальше идут настройки яркости, контраста, насыщенности и оттенка.
# Диапазон допустимых значений от 0 до 255. 0 - отключено
brightness 0
contrast 0
saturation 0
hue 0
############################################################
# Round Robin (multiple inputs on same video device name)
############################################################
# Number of frames to capture in each roundrobin step (default: 1)
roundrobin_frames 1
# Number of frames to skip before each roundrobin step (default: 1)
roundrobin_skip 1
# Try to filter out noise generated by roundrobin (default: off)
switchfilter off
############################################################
# Настройки датчика движения:
############################################################
# Количество измененных пикселей после чего срабатывает
# датчик движения, т. е. это чувствутиельность датчика.
# Чем меньше это число, тем чувствительней датчик .По умолчанию: 1500
threshold 1500
# Автоматическая регулировка нижнего порога чувствительности
threshold_tune off
# Уровень шума. Позволяет исключить помехи самой камеры.
# По умолчанию: 32
noise_level 32
# Автоматическая регулировка уровня шума
noise_tune on
# Фильтр шумов. Подбирайте оптимальный для вас набор букв EedDl
# Подробней читайте на сайте http://emit.demon.co.uk/motion/
despeckle EedDl
# Этот параметр позволяет выбрать области слежения
# 1 - левый верхний угол
# 2 - верх середина
# 3 - правый верхний угол
# 4 - левая середина
# 5 - центр
# 6 - права середина
# 7 - нижний левый угол
# 8 - низ середина
# 9 - правый нижний угол
; area_detect value
# Путь к PGM-маске движения.
# Что это такое можно почитать тут http://netpbm.sourceforge.net/doc/pgm.html
; mask_file value
# Dynamically create a mask file during operation (default: 0)
# Adjust speed of mask changes from 0 (off) to 10 (fast)
smart_mask_speed 0
# Выравнивание светлых участков
# Диапазон: 0 - 100 , по умолчанию: 0 = отключено
lightswitch 0
# Минимальное количесвто кадров, в которых должно быть
# зафиксировано движение для срабатывания датчика
minimum_motion_frames 1
# Определяет количество предварительно захваченных (буфер) фотографий
# до обнаружения движения. Рекомендуемый диапазон: от 0 до 5 (по умолчанию: 0)
pre_capture 0
# То же, но после отсутствия движения
post_capture 0
# Сколько секунд ждать с момента отсутствия движения
gap 60
# Длина видео файла в секундах. 0 - бесконечно
max_mpeg_time 0
# Сохранять изображения даже если движения не было
# По умолчанию: off
output_all off
############################################################
# Файл изображения
############################################################
# Какие кадры будем сохранять:
# on - все кадры, когда есть движение
# off - выключено
# first - первый кадр с движением
# best - лучший кадр (наибольшим движением)
# center - кадры с движением по центру кадра
output_normal off
# Сохранять только изменившуюся часть изображени (?)
output_motion off
# Качество сжатия изображения, в процентах
quality 50
# Сохранять ppm изображение вместо jpeg (по умолчанию: off)
ppm off
############################################################
# Параметры FFMPEG
############################################################
# Записывать видео
ffmpeg_cap_new off
# Записывать только изменившуюся часть изображени
ffmpeg_cap_motion off
# Use ffmpeg to encode a timelapse movie
# Default value 0 = off - else save frame every Nth second
ffmpeg_timelapse 0
# Сколько вести запись в один файл. После превышения предела создаётся новый файл.
# hourly - ежечасно
# daily - ежедневно, по умолчанию
# weekly-sunday - еженедельно, начало недели в воскресенье
# weekly-monday - аналогично с началом в понедельник
# monthly - ежемесячно
# manual - вручную
ffmpeg_timelapse_mode daily
# Битрейт видео (по умолчанию: 400000)
# Этот параметр игнорируется если параметр ffmpeg_variable_bitrate не равен 0 (отключен)
ffmpeg_bps 500000
# Переменный битрейт видео
# Можно установить 0 = фиксированный битрейт заданный выше в параметре ffmpeg_bps,
# или от 2 до 31. 2 лучшее качество, 31 - худшее.
ffmpeg_variable_bitrate 0
# Кодек для сжатия видео
# mpeg1 - файл с расширением .mpg
# mpeg4 или msmpeg4 - файл с расширением .avi
# swf - флешка .swf
# flv - флешка .flv
# ffv1 - кодек FF для сжатия без потерь (эксперементально)
# mov - QuickTime
ffmpeg_video_codec mpeg1
# Деинтерлизация видео
ffmpeg_deinterlace off
############################################################
# Снимки с камеры
############################################################
# Автоматически создавать снимки каждый N секунд. 0 - отключено
snapshot_interval 1
############################################################
# Накладываемый текст
# %Y = год, %m = месяц, %d = день,
# %H = часы, %M = минуты, %S = секунды, %T = HH:MM:SS,
# %v = event, %q = номер кадра, %t = номер камеры,
# %D = измененные пиксели, %N = noise level, \n = new line,
# %i и %J = ширина и высота области движения,
# %K и %L = X и Y координаты центра движения
############################################################
# Рисовать рамку вокруг области с движением
locate off
# Накложение текста в правом нижнем углу
text_right %Y-%m-%d\n%T-%q
# Наложение текста в левом углу
text_left CAMERA %t
# Наложение текстом количества измененных пикселей
text_changes off
# This option defines the value of the special event conversion specifier %C
# You can use any conversion specifier in this option except %C. Date and time
# values are from the timestamp of the first image in the current event.
# Default: %Y%m%d%H%M%S
# The idea is that %C can be used filenames and text_left/right for creating
# a unique identifier for each event.
text_event %Y%m%d%H%M%S
# Увеличить размер шрифта в два раза
text_double on
############################################################
# Папки для сохранения файлов
############################################################
# Папка для сохранения изображений и видео.
# Используйте абсолютные пути.
# По умолчанию - текущая рабочая папка
target_dir /home/username/motion
# Имя файлов для снимка и видео
# Расширение файла добавляется автоматически
snapshot_filename %m%d%v-%Y-%m-%d-%H-%M-%S
jpeg_filename %v-%Y%m%d%H%M%S-%q
movie_filename %v-%Y%m%d%H%M%S
timelapse_filename %Y%m%d-timelapse
############################################################
# Сервер для трансляций
############################################################
# Порт сервера (0 - отключено)
webcam_port 8090
# Качество передаваемой картинки
webcam_quality 20
# Если движения нет битрейт снижается до 1 кадра в секунду
webcam_motion off
# Сколько кадров в секунду передавать (по умолчанию: 1)
webcam_maxrate 1
# Разрешить соединения только с локалхоста
webcam_localhost off
# Лимит подключений
webcam_limit 0
############################################################
# Удаленное управление
############################################################
# Порт. Должен отличаться от webcam_port (0 - отключено)
control_port 8091
# Разрешить соединения только с локалхоста
control_localhost on
# Output for http server, select off to choose raw text plain (default: on)
control_html_output on
# Аутентификация. Синтаксис имя_пользователя:пароль
# По умолчанию отключено
; control_authentication username:password
############################################################
# Внешние команды, варнинги и логирование
# %Y = год, %m = месяц, %d = день,
# %H = часы, %M = минуты, %S = секунды,
# %v = событие, %q = номер кадра, %t = номер камеры,
# %D = изменившиеся пиксели, %N = уровень шума,
# %i и %J =ширина и высота области движения,
# %K и %L = X и Y координаты центра движения
# %C = value defined by text_event
# %f = полный путь к файлу
# %n = тип файла
############################################################
# Звуковой сигнал при обнаружении движения
# Не работает в режиме демона
quiet off
# Далее можно задать свои команды при определенных событиях
# Например, запустить скрипт или отправить вам смску, письмо
# Запуск события при первом движении
; on_event_start value
# Конец события если нет движения в течение нескольких секунд
; on_event_end value
# Сохранение файла изображения
; on_picture_save value
# При обнаружении движения
; on_motion_detected value
# При обнаружении движения в определнной зоне
; on_area_detected value
# При создании видео файла (начало записи в этот файл)
; on_movie_start value
# То же только конец записи в файл
; on_movie_end value
# Если камера перестала работать
; on_camera_lost value
##############################################################
# Важные строчки если вы будете подключать несколько камер
##############################################################
# Если у вас только одна камера, то на этом настройки заканчиваются
# Если у вас более одной камеры, для каждой из них необходимо создать
# отдельный файл с настройками. Содержимое файлов можно скопировать
# с этого файла (/etc/motion/motion.conf) заменив адрес камеры
# и при необходимости пути папок, куда будут сохраняться записи
; thread /usr/local/etc/thread1.conf
; thread /usr/local/etc/thread2.conf
; thread /usr/local/etc/thread3.conf
; thread /usr/local/etc/thread4.conf
Приведу для примера свой конфиг:
daemon off
process_id_file /var/run/motion/motion.pid
setup_mode off
videodevice /dev/video0
v4l2_palette 8
input 8
norm 0
rotate 0
width 640
height 480
framerate 30
minimum_frame_time 0
netcam_tolerant_check off
auto_brightness off
brightness 0
contrast 0
saturation 0
hue 0
threshold 1500
threshold_tune off
noise_level 10
noise_tune on
despeckle EedDl
minimum_motion_frames 3
pre_capture 1
post_capture 1
gap 0
max_mpeg_time 300
output_all off
output_normal first
output_motion off
quality 70
ppm off
ffmpeg_cap_new on
ffmpeg_cap_motion off
ffmpeg_timelapse 0
ffmpeg_timelapse_mode hourly
ffmpeg_bps 400000
ffmpeg_variable_bitrate 5
ffmpeg_video_codec mpeg4
ffmpeg_deinterlace off
snapshot_interval 0
locate off
text_right %Y-%m-%d\n%T-%q
text_left CAMERA %t
text_changes off
text_event %Y%m%d%H%M%S
text_double on
target_dir /home/username/motion
snapshot_filename %m/%d/%Y-%m-%d-%H-%M-%S
jpeg_filename %m/%d/%Y-%m-%d-%H-%M-%S
movie_filename %m/%d/%Y-%m-%d-%H-%M-%S
timelapse_filename %m/%d/%Y-%m-%d-%H-%M-%S-timelapse
webcam_port 8090
webcam_quality 15
webcam_motion on
webcam_maxrate 15
webcam_localhost off
webcam_limit 0
control_port 8091
control_localhost on
control_html_output on
control_authentication username:password
quiet off
; on_event_start value
; on_event_end value
; on_picture_save value
; on_motion_detected value
; on_area_detected value
; on_movie_start value
; on_movie_end value
; on_camera_lost value
motion - c /etc/motion/motion.confРаньше я пользовался ffmpeg-ом, но сейчас перешел на motion. Запись видео только при повялении движения существенно экономит дисковое пространство. Одна минута записи занимает около 9 МБ. За сутки накапливается 13 ГБ. Естественно это при наличии постоянного движения. А так за сутки в среднем накапливается всего около 3-4 ГБ.
В планах есть пару идей по модернизации видеонаблюдения. Если получится реализовать их, потом обязательно отпишусь в отдельной статье.
Сейчас одна камера стоит на работе (работаю в фотосалоне). Камера подключена через 5 метровый юсб-удлинитель в юсб-хаб. Из-за них качество картинки немного упало, появились помехи, скорость передачи снизилась. По возможности подключайте свои камеры напряму в юсб-разъем на материнке.
Автор:
Источник: blog.rad-li.ru