На вебках всё реже пишут про совместимость с Linux. Но обязательно указывают все версии Windows. Даже драйверов на диске нет! Какже быть?
Подключаем не_совместимую с Linux USB-вебку и набираем команду убедиться, что она у нас уже есть в системе:
ls /dev/video*
1. mjpg_streamer - ретранслятор
Качай с источника mjpg-streamer-cubie или с моего MyDrive
Может пригодится оригинал mjpg-streamer-r63
Компиляция и запуск:
cd mjpg-streamer
sudo apt-get install libv4l-dev libv4l-0 libjpeg8-dev imagemagick
make USE_LIBV4L2=true clean all
export LD_LIBRARY_PATH=.
./mjpg_streamer -i "./input_uvc.so -f 30 -r 1280x720
" -o "./output_http.so -p 8080 -w ./www"
Ошибка...
ERROR: Adding control for Pan (relative) UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for deviceНо работает!!!
http://10.10.10.10:8080top: CPU 3-5%
А если не работает, то, возможно, камера не поддерживает режим. Тогда в командную строку сходу добавляем "-y". Если не получилось, то смотрим режимы внимательней:
sudo apt-get install uvcdynctrl uvcdynctrl -f
Автозапуск
Создаём файл /etc/init.d/mjpg_streamkick
#!/bin/sh ### BEGIN INIT INFO # /etc/init.d/mjpg_streamkick # Provides: mjpg_streamer.sh # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mjpg_streamer for webcam # Description: Streams /dev/video0 to http://IP/?action=stream ### END INIT INFO ld_library_path=/home/user/mjpg-streamer export LD_LIBRARY_PATH ld_library_path export LD_LIBRARY_PATH=/home/user/mjpg-streamer NAME=mjpg_streamer DESC="M-JPEG Streamer" DAEMON=/home/user/mjpg-streamer/mjpg_streamer MJPG_QUALITY=85 MJPG_RESOLUTION=800x600 MJPG_FREQ=10 MJPG_VIDEO_DEVICE="/dev/video0 -y" MJPG_OUTPUT=/home/user/mjpg-streamer/www MJPG_OUTPUT_PORT=8080 USER_PASS=rv:rv f_message(){ echo "[+] $1" echo " " } # Carry out specific functions when asked to by the system case "$1" in start) f_message "Starting $DESC..." $DAEMON -b -i "input_uvc.so -d $MJPG_VIDEO_DEVICE -f $MJPG_FREQ -r $MJPG_RESOLUTION -q $MJPG_QUALITY " -o "output_http.so -p $MJPG_OUTPUT_PORT -w $MJPG_OUTPUT -c $USER_PASS -n " sleep 1 echo ".." sleep 1 f_message "$NAME Started!" /etc/init.d/mjpg_streamkick status ;; stop) f_message "Stopping $DESC..." killall mjpg_streamer f_message "$NAME Stopped!" ;; restart) f_message "Restarting $DESC..." killall $NAME f_message "$NAME Killing!" $DAEMON -b -i "input_uvc.so -d $MJPG_VIDEO_DEVICE -f $MJPG_FREQ -r $MJPG_RESOLUTION -q $MJPG_QUALITY " -o "output_http.so -p $MJPG_OUTPUT_PORT -w $MJPG_OUTPUT -c $USER_PASS -n " sleep 1 echo ".." sleep 1 f_message "$NAME Restarted!" /etc/init.d/mjpg_streamkick status ;; status) pid=`ps -A | grep $NAME | grep -v "grep" | grep -v $NAME. | awk '{print $1}' | head -n 1` if [ -n "$pid" ]; then f_message "$DESC Status:" f_message "$DESC is running with pid ${pid}" f_message "$NAME was started with the following command line" cat /proc/${pid}/cmdline ; echo "" else f_message "$DESC Status:" f_message "Could not find $NAME running!" fi ;; *) f_message "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit 0
И... Внедряем
sudo chmod 755 /etc/init.d/mjpg_streamkick sudo update-rc.d mjpg_streamkick defaults
2. Motion - детектор движения, юзает на входе поток из ретранслятора.
sudo apt-get install motion
Конфигурация:
/etc/motion/motion.conf
netcam_url http://10.10.10.10:8080/?action=stream width 1280 height 720 framerate 10 webcam_port 8880 webcam_localhost off control_port 8881 control_localhost off locate on # рисует рамку по движению target_dir /tmp/motion # директория для сохранения снапшотов
sudo motiontop: CPU 101-103%
Ещё почитать:
Несколько камер: http://ubuntuforums.org/showthread.php?t=1897786
Motion, использует дополнительные, спицифичные для каждой камеры, конфиги, подключаемые в основном файле конфигурации:
thread /etc/motion/thread0.conf thread /etc/motion/thread1.conf thread /etc/motion/thread2.conf
thread1.conf
videodevice /dev/video1 text_left USBWebcam-1 target_dir /home/motion/images/webcam1 webcam_port 8881
Выход в люди:
Port Forwarding
DynDNS
Комментариев нет:
Отправить комментарий