1 1 1 1 1 Rating 5.00 (7 Votes)

Замечательная программа motion detection для видеонаблюдения имеет небольшой недостаток при установке ее на персональный компьютер, у нее не включена авторизация по паролю при просмотре онлайн видео с камер. В частности этого нет в версии из репозитория ubuntu 12.04. Я решил исправить этот недостаток.

На официальном сайте motion detection указано, что в последних исходниках программы данная функция уже присутствует, но у меня собрать по ним программу не получилось, выскакивает ошибка

vloopback_motion.c:185:26: error: storage size of ‘vid_pic’ isn’t known vloopback_motion.c:186:25: error: storage size of ‘vid_win’ isn’t known vloopback_motion.c:202:20: error: ‘VIDIOCGPICT’ undeclared (first use in this function) vloopback_motion.c:202:20: note: each undeclared identifier is reported only once for each function it appears in vloopback_motion.c:209:20: error: ‘VIDIOCSPICT’ undeclared (first use in this function) vloopback_motion.c:214:20: error: ‘VIDIOCGWIN’ undeclared (first use in this function) vloopback_motion.c:222:20: error: ‘VIDIOCSWIN’ undeclared (first use in this function)

Причем ее описание есть в нескольких багрепортах, но ее все еще никак не пофиксят.

Я пытался ставить motion detection из разных исходников официаьного сайта, но постоянно натыкался на разные ошибки при компиляции.

Но в результате мне пришла простая и гениальная мысль - воспользоваться исходниками ubuntu 12.04 и пропатчить их патчем с официального сайта

Итак приступим

cd /usr/local/

Для распаковки исходников устанавливем

sudo apt-get install dpkg-dev

Закачиваем исходники motion detection

sudo apt-get source motion

В итоге у нас должна появится папка с исходниками motion-3.2.12. Переходим в нее.

cd motion-3.2.12

Ставим пакет для libv4l1-videodev.h, потому как без него вываливается ошибка

sudo apt-get install libv4l-dev

Запускаем конфигурирование motion detection и проверяем отсутсвие ошибок.

sudo ./configure

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

sudo apt-get install libc6 libc6-dev
sudo apt-get install libjpeg62 libjpeg62-dev
sudo apt-get install zlib1g zlib1g-dev
sudo apt-get install libavcodec-dev libavformat-dev

Теперь патчим наши исходники

sudo wget http://autohome.org.ua/repo/motion/WebcamAuthentication.patch
sudo patch < WebcamAuthentication.patch

 Запускаем установку motion detection

sudo ./configure
sudo make
sudo make install

Копируем в нужное место созданный при установке конфигурационный файл

sudo cp  /usr/local/etc/motion-dist.conf /usr/local/etc/motion.conf

и добавляем в в конец файла настройки авторизации

sudo nano /usr/local/etc/motion.conf
# Set the authentication method (default: 0)
# 0 = disabled
# 1 = Basic authentication
# 2 = MD5 digest (the safer authentication)
#mszerg
#webcam_auth_method 0
webcam_auth_method 1

# Authentication for the stream. Syntax username:password
# Default: not defined (Disabled)
#mszerg
;webcam_authentication username:password
webcam_authentication motion:motion

Cоздаем каталог в котором будет создаваться файл процесса или так называемый pid файл. Если его не создать motion не запустится с ошибкой: Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid

sudo mkdir /var/run/motion

Запускаем motion detection

sudo motion

 Заходим в браузер по адресу http://127.0.0.1:8081/ и наблюдаем форму для ввода логина и пароля.

Также вы можете прочитать мою статью по установке motion detection на роутере DIR-320, что позволит вам наблюдать по камере через интернет без постоянно включенного компьютера.

Log in to comment

: 29 авг 2016 13:50 Автор: ureman #1284
ureman аватар
помаялся, то работает, то не работает..забил...
поставил 3.4.1 github.com/Motion-Project/motion/releases/tag/release-3.4.1
авторизация работает из коробки
: 01 фев 2015 19:32 Автор: mszerg #1002
mszerg аватар
Ну хорошо, что работает. Но у меня такого лога не выдает...

Это моя статья))) Частично есть обсуждение на форуме ubuntu и там я Андрею, который выше в этой теме со мной переписывался дал ссылку сюда)

Так, что можете смело плюсик поставить в спасибо)
: 01 фев 2015 18:55 Автор: ureman #1001
ureman аватар
хм...переставил снова "пункт в пункт".
[0] Processing thread 0 - config file /usr/local/etc/motion.conf
[0] Unknown config option "webcam_auth_method"
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544068
[0] Thread 1 is from /usr/local/etc/motion.conf
[0] motion-httpd/3.2.12 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8084
[1] Thread 1 started

Собственно, лог запуска не изменился, но оно заработало...

Уважаемый mszerg, если это была лично ваша идея и статья (не копипаст), то респект тебе и уважуха. Это гораздо лучше, чем апач поднимать для авторизации.
: 01 фев 2015 13:05 Автор: mszerg #1000
mszerg аватар
ureman пишет:
таки в том то и дело...
ubuntu server 14/04 32bit с нуля

Установил с нуля на ubuntu desctop 14.04 64bit.

Все работает как и на ubuntu 12.04

Немного подправил инструкцию, добавил к командам sudo и создание каталога для файла процесса (pid-файла).

Думаю, что у вас не отработала команда
sudo patch < WebcamAuthentication.patch
: 30 янв 2015 11:46 Автор: ureman #999
ureman аватар
таки в том то и дело...
ubuntu server 14/04 32bit с нуля
: 30 янв 2015 11:11 Автор: mszerg #998
mszerg аватар
ureman пишет:
весьма хотелось бы узнать ответ, если вам не сложно

Извиняюсь за задержку. По конфигу ничего странного не увидел.
Попробую заново поставить все по статье на текущую дату. Сегодня вечером постараюсь отписаться по результатам.
: 30 янв 2015 10:56 Автор: ureman #997
ureman аватар
весьма хотелось бы узнать ответ, если вам не сложно
: 28 янв 2015 06:55 Автор: ureman #996
ureman аватар
motion.conf
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
: 26 янв 2015 11:35 Автор: mszerg #990
mszerg аватар
Выложите пожалуйста полное содержимое файла /usr/local/etc/motion.conf
: 26 янв 2015 10:16 Автор: ureman #989
ureman аватар
ох, побуду некрофилом...
поставил согласно инструкции
ни фигане получилось. в логи запуска вываливает:
[0] Processing thread 0 - config file /usr/local/etc/motion.conf
[0] Unknown config option "webcam_auth_method"
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544068
[0] Thread 1 is from /usr/local/etc/motion.conf

т.е. переменная не найдена и , соответственно, ввод пароля не работает, видео показывает нормально.
как бороться, куда копать... интернет молчит
: 05 янв 2014 19:23 Автор: Анатолий #736
Анатолий аватар
ну супер, получилось, работает
: 30 дек 2012 09:14 Автор: mszerg #735
mszerg аватар
Всё поставил,сделал ссылки всё пашет как часы,правда пришлось поковыряться с онлайн просмотром-моргания были дикие-снизил качество изображения и всё стало без мерцаний. :-)
Рад, что получилось))
Если смотришь через браузер, то попробуй через vlc-плеер, там с морганиями получше.
: 29 дек 2012 22:19 Автор: андрей #734
андрей аватар
Всё поставил,сделал ссылки всё пашет как часы,правда пришлось поковыряться с онлайн просмотром-моргания были дикие-снизил качество изображения и всё стало без мерцаний. :-)
: 28 дек 2012 23:07 Автор: андрей #733
андрей аватар
В браузере то же тишина(точнее синие силуэты на чёрном фоне),завтра буду пробовать сделать ссылки и потом отпишусь-думаю если выгорит надо такую статью на ХАБР заслать это очень восстребовано будет,лучше чем апач поднимать habrahabr.ru/post/163835/
: 28 дек 2012 22:24 Автор: mszerg #732
mszerg аватар
За статью спасибо! Но не собралось без ошибок-не видит ffmpeg,забегая вперёд скажу что статью уже применял на другой машине и запрос пароля действительно побеждён,но вот видео нет :oops: скорее всего и у вас не было тк этот баг победили только в вериях Source-версии: 3.2.12-3.1 ибо
translate.google.ru/translate?hl=ru&sl=e...CYBg&ved=0CE8Q7gEwAw говорят что это действительно так,и насколько я понял надо теперь делать на основе версии 3.2.12-3.1
Как я понимаю видео в браузере у вас есть, но не идет запись. По крайней мере у меня так.
По вашей ссылке придумал выход и пересобрал motion и у меня начало записывать видео.
Нужно сделать символические сслыки
ln -s /usr/lib/i386-linux-gnu/libavcodec.a /usr/lib/libavcodec.a
ln -s /usr/lib/i386-linux-gnu/libavcodec.so /usr/lib/libavcodec.so
ln -s /usr/lib/i386-linux-gnu/libavformat.a /usr/lib/libavformat.a
ln -s /usr/lib/i386-linux-gnu/libavformat.so /usr/lib/libavformat.so

также предварительно удаляем старый motion и чистим исходники
make uninstall
make clean

а дальше все по статье.
: 28 дек 2012 20:08 Автор: андрей #731
андрей аватар
За статью спасибо! Но не собралось без ошибок-не видит ffmpeg,забегая вперёд скажу что статью уже применял на другой машине и запрос пароля действительно побеждён,но вот видео нет :oops: скорее всего и у вас не было тк этот баг победили только в вериях Source-версии: 3.2.12-3.1 ибо
translate.google.ru/translate?hl=ru&sl=e...CYBg&ved=0CE8Q7gEwAw говорят что это действительно так,и насколько я понял надо теперь делать на основе версии 3.2.12-3.1
: 28 дек 2012 10:07 Автор: андрей #730
андрей аватар
Вау это супер новость! сегодня вечером буду пробовать ставить насервак :-) и отпишусь