LINUX.ORG.RU

Debian motion не работает с двумя web камерами

 


0

3

Установил на debian motion, взял две идентичные web камеры, подключаю. Если запускать одну камеру то показывает видео нормально, если подключать две камеры сразу то пишет что камеры не доступны. Админы извините не понял как в спойлер спрятать тег кода

Вывод lsusb

Bus 002 Device 003: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd (Foxlink) Webcam
Bus 002 Device 002: ID 05c8:0403 Cheng Uei Precision Industry Co., Ltd (Foxlink) Webcam
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Вывод v4l-info

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
        driver                  : "uvcvideo"
        card                    : "HP Webcam [2 MP Fixed]"
        bus_info                : "usb-0000:00:10.4-2"
        version                 : 3.16.7
        capabilities            : 0x84000001 [VIDEO_CAPTURE,STREAMING,(null)]

standards

inputs
    VIDIOC_ENUMINPUT(0)
        index                   : 0
        name                    : "Camera 1"
        type                    : CAMERA
        audioset                : 0
        tuner                   : 0
        std                     : 0x0 []
        status                  : 0x0 []

video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
        index                   : 0
        type                    : VIDEO_CAPTURE
        flags                   : 0
        description             : "YUV 4:2:2 (YUYV)"
        pixelformat             : 0x56595559 [YUYV]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
        type                    : VIDEO_CAPTURE
        fmt.pix.width           : 320
        fmt.pix.height          : 240
        fmt.pix.pixelformat     : 0x56595559 [YUYV]
        fmt.pix.field           : NONE
        fmt.pix.bytesperline    : 640
        fmt.pix.sizeimage       : 153600
        fmt.pix.colorspace      : SRGB
        fmt.pix.priv            : 0

controls
    VIDIOC_QUERYCTRL(BASE+0)
        id                      : 9963776
        type                    : INTEGER
        name                    : "Brightness"
        minimum                 : -64
        maximum                 : 64
        step                    : 1
        default_value           : 0
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+1)
        id                      : 9963777
        type                    : INTEGER
        name                    : "Contrast"
        minimum                 : 0
        maximum                 : 64
        step                    : 1
        default_value           : 25
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+2)
        id                      : 9963778
        type                    : INTEGER
        name                    : "Saturation"
        minimum                 : 0
        maximum                 : 128
        step                    : 1
        default_value           : 64
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+3)
        id                      : 9963779
        type                    : INTEGER
        name                    : "Hue"
        minimum                 : -40
        maximum                 : 40
        step                    : 1
        default_value           : 0
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+12)
        id                      : 9963788
        type                    : BOOLEAN
        name                    : "White Balance Temperature, Auto"
        minimum                 : 0
        maximum                 : 1
        step                    : 1
        default_value           : 1
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+16)
        id                      : 9963792
        type                    : INTEGER
        name                    : "Gamma"
        minimum                 : 72
        maximum                 : 500
        step                    : 1
        default_value           : 100
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+24)
        id                      : 9963800
        type                    : MENU
        name                    : "Power Line Frequency"
        minimum                 : 0
        maximum                 : 2
        step                    : 1
        default_value           : 2
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+26)
        id                      : 9963802
        type                    : INTEGER
        name                    : "White Balance Temperature"
        minimum                 : 2800
        maximum                 : 6500
        step                    : 1
        default_value           : 4000
        flags                   : 16
    VIDIOC_QUERYCTRL(BASE+27)
        id                      : 9963803
        type                    : INTEGER
        name                    : "Sharpness"
        minimum                 : 0
        maximum                 : 5
        step                    : 1
        default_value           : 2
        flags                   : 0
    VIDIOC_QUERYCTRL(BASE+28)
        id                      : 9963804
        type                    : INTEGER
        name                    : "Backlight Compensation"
        minimum                 : 0
        maximum                 : 1
        step                    : 1
        default_value           : 0
        flags                   : 0


И сама ошибка

[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sdl_threadnr"
[0] [NTC] [ALL] config_thread: Processing config file /etc/motion/thread1.conf
[0] [NTC] [ALL] config_thread: Processing config file /etc/motion/thread2.conf
[0] [NTC] [ALL] motion_startup: Motion 3.2.12+git20140228 Started
[0] [NTC] [ALL] motion_startup: Logging to syslog
[0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (NTC)
[0] [NTC] [ENC] ffmpeg_init: ffmpeg LIBAVCODEC_BUILD 3670272 LIBAVFORMAT_BUILD 3670272
[0] [NTC] [ALL] main: Thread 1 is from /etc/motion/thread1.conf
[0] [NTC] [ALL] main: Thread 1 is device: /dev/video0 input 8
[0] [NTC] [ALL] main: Stream port 8081
[0] [NTC] [ALL] main: Thread 2 is from /etc/motion/thread2.conf
[0] [NTC] [ALL] main: Thread 2 is device: /dev/video1 input 8
[0] [NTC] [ALL] main: Stream port 8082
[0] [NTC] [ALL] main: Waiting for threads to finish, pid: 2794
[0] [NTC] [STR] httpd_run: motion-httpd testing : IPV4 addr: 0.0.0.0 port: 8080
[0] [NTC] [STR] httpd_run: motion-httpd Bound : IPV4 addr: 0.0.0.0 port: 8080
[0] [NTC] [STR] httpd_run: motion-httpd/3.2.12+git20140228 running, accepting connections
[0] [NTC] [STR] httpd_run: motion-httpd: waiting for data on 0.0.0.0 port TCP 8080
[2] [NTC] [ALL] motion_init: Thread 2 started , motion detection Enabled
[2] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video1 and input 8
[1] [NTC] [ALL] motion_init: Thread 1 started , motion detection Enabled
[2] [NTC] [VID] v4l2_get_capability:
------------------------
cap.driver: "uvcvideo"
cap.card: "HP Webcam [2 MP Fixed]"
cap.bus_info: "usb-0000:00:10.4-4"
cap.capabilities=0x84000001
------------------------
[2] [NTC] [VID] v4l2_get_capability: - VIDEO_CAPTURE
[2] [NTC] [VID] v4l2_get_capability: - STREAMING
[2] [ERR] [VID] v4l2_select_input: Unable to query input 8. VIDIOC_ENUMINPUT, if you use a WEBCAM change input value in conf by -1:
[2] [NTC] [VID] vid_v4lx_start: Using V4L1
[2] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input 8
[1] [NTC] [VID] v4l2_get_capability:
------------------------
cap.driver: "uvcvideo"
cap.card: "HP Webcam [2 MP Fixed]"
cap.bus_info: "usb-0000:00:10.4-2"
cap.capabilities=0x84000001
------------------------
[1] [NTC] [VID] v4l2_get_capability: - VIDEO_CAPTURE
[1] [NTC] [VID] v4l2_get_capability: - STREAMING
[1] [ERR] [VID] v4l2_select_input: Unable to query input 8. VIDIOC_ENUMINPUT, if you use a WEBCAM change input value in conf by -1:
[1] [NTC] [VID] vid_v4lx_start: Using V4L1
[1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items
[0] [NTC] [STR] httpd_run: motion-httpd - Read from client
[1] [ERR] [ALL] motion_init: Error capturing first image
[2] [ERR] [ALL] motion_init: Error capturing first image
[1] [NTC] [STR] http_bindsock: motion-stream testing : IPV4 addr: 0.0.0.0 port: 8081
[2] [NTC] [STR] http_bindsock: motion-stream testing : IPV4 addr: 0.0.0.0 port: 8082
[1] [NTC] [STR] http_bindsock: motion-stream Bound : IPV4 addr: 0.0.0.0 port: 8081
[2] [NTC] [STR] http_bindsock: motion-stream Bound : IPV4 addr: 0.0.0.0 port: 8082
[1] [NTC] [ALL] motion_init: Started motion-stream server in port 8081 auth Disabled
[2] [NTC] [ALL] motion_init: Started motion-stream server in port 8082 auth Disabled
[1] [ERR] [ALL] motion_loop: Video device fatal error - Closing video device
[2] [ERR] [ALL] motion_loop: Video device fatal error - Closing video device
[1] [NTC] [VID] vid_close: Closing video device /dev/video0
[2] [NTC] [VID] vid_close: Closing video device /dev/video1
[1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera
Ошибка сегментирования

kot488
() автор топика

Админы извините не понял как в спойлер спрятать тег кода

Админам то пофиг. Есть тег [cut], работает не только в ленте новостей, но и ленте форумов: https://www.linux.org.ru/forum/lenta/. А спойлеров нет.

mandala ★★★★★
()
Ответ на: комментарий от kot488

и не будет работать на двух одинаковых камерах подключенных к одному контроллеру (хотя могу и ошибаться не слежу год за этим вопросом), mjpg_streamer тебе нужен, например можно сделать так (я так и делал, и работает), установи mjpg_streamer и захватывай потоки им:

mjpg_streamer -i "input_uvc.so -y -f 1 -q 100 -l off -d /dev/video0 -r 320x240" -o "output_http.so -p 8081" &
mjpg_streamer -i "input_uvc.so -y -f 1 -q 100 -l off -d /dev/video1 -r 320x240" -o "output_http.so -p 8082"
и забирать моушеном соответственно с 8081 и 8082 портов, это как простой вариант. Андестенд?

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 2)
Ответ на: комментарий от Frost

Ставил pci контроллер usb и на него подключал вторую камеру ошибка идентичная была.

Можно про это подробней? и забирать моушеном соответственно с 8081 и 8082 портов, это как простой вариант. Андестенд?

Дальше настройки web сервера на centos не доходилось заходить(

kot488
() автор топика
Ответ на: комментарий от Frost

Незнаю как но менял параметры и запустил камеры, одна на 8081 вторая на 8082, теперь осталось толком с конфигом разобраться что бы писал постоянно а не по движению, и нормальный интерфейс найти для него motion.conf

kot488
() автор топика
Ответ на: комментарий от kot488

если интересно могу рассказать как я сделал, у меня 4 одинаковые web камеры Logitech c270 подключены напрямую в usb разъемы материнской платы, были проблемы для motion - он их считал как одну камеру, нашел ответ в инете что mjpg_streamer решит эту задачу, две строки выше которые я привел как раз зупускают 2 камеры и выводят на два порта, в моушене как раз эти потоки и подхватываются, вот пример thread1.conf:

width 320
height 240
input 8
text_left cam1
netcam_url http://localhost:8081/?action=stream
webcam_port 8083
on_picture_save /usr/local/motion-extras/camparse1.pl
on_movie_end /usr/local/motion-extras/mpegparse1.pl 

это что называется костыльное решение, но работает. По поводу веб морды вот ссылка на готовое решение без sql-ев и других ненужностей, работает на php:

http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionJpegViewer

эта штука складывает картинки, строит график событий по времени, для меня этого было достаточно.

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.