Две web-камеры в linux ((одновременно))

Обсудить вопросы и проблемы с видео

Модератор: Модераторы разделов

vladikas
Сообщения: 11
ОС: Ubuntu 9.10

Две web-камеры в linux

Сообщение vladikas »

По одной работают, вместе нет. Разные проги и одинаковые, разницы нет.
При запущеной второй камере запускаю первую ругается так:

user@ubuntu:~$ luvcview -d /dev/video0
luvcview 0.2.6

SDL information:
Video driver: x11
A window manager is available
Device information:
Device path: /dev/video0
Stream settings:
Frame format: YUYV (MJPG is not supported by device)
Frame size: 640x480
Frame rate: 30 fps
Unable to start capture: No space left on device
Error grabbing
Cleanup done. Exiting ...

user@ubuntu:~$

Так нормально, когда в одиночку

user@ubuntu:~$ luvcview -d /dev/video1
luvcview 0.2.6

SDL information:
Video driver: x11
A window manager is available
Device information:
Device path: /dev/video1
Stream settings:
Frame format: YUYV (MJPG is not supported by device)
Frame size: 640x480
Frame rate: 30 fps

Quit signal received.
Cleanup done. Exiting ...
user@ubuntu:~$

Так другая прога ругается при запущенной другой камере

user@ubuntu:~$ motion -n -c ~/motion1.conf
[0] Processing thread 0 - config file /home/user/motion1.conf
[0] Motion 3.2.11 Started
[0] ffmpeg LIBAVCODEC_BUILD 3412993 LIBAVFORMAT_BUILD 3415808
[0] Thread 1 is from /home/user/motion1.conf
[1] Thread 1 started
[0] motion-httpd/3.2.11 running, accepting connections
[1] cap.driver: "uvcvideo"
[1] cap.card: "USB2.0_Camera"
[1] cap.bus_info: "usb-0000:00:1d.7-3"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Supported palettes:
[1] 0: YUYV (YUV 4:2:2 (YUYV))
[0] motion-httpd: waiting for data on port TCP 8080
[1] index_format 6 Test palette YUYV (640x480)
[1] Using palette YUYV (640x480) bytesperlines 1280 sizeimage 614400 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 130, current 130
[1] found control 0x00980901, "Contrast", range 0,100
[1] "Contrast", default 45, current 45
[1] found control 0x00980902, "Saturation", range 0,200
[1] "Saturation", default 95, current 95
[1] found control 0x00980903, "Hue", range -180,180
[1] "Hue", default 0, current 0
[1] found control 0x00980910, "Gamma", range 40,100
[1] "Gamma", default 52, current 52
[1] mmap information:
[1] frames=4
[1] 0 length=614400
[1] 1 length=614400
[1] 2 length=614400
[1] 3 length=614400
[1] Error starting stream VIDIOC_STREAMON:
[1] ioctl(VIDIOCGMBUF) - Error device does not support memory map
[1] V4L capturing using read is deprecated!
[1] Motion only supports mmap.
[1] Could not fetch initial image from camera
[1] Motion continues using width and height from config file(s)
[1] Resizing pre_capture buffer to 1 items
[1] Retrying until successful connection with camera
[1] cap.driver: "uvcvideo"
[1] cap.card: "USB2.0_Camera"
[1] cap.bus_info: "usb-0000:00:1d.7-3"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Error selecting input 0 VIDIOC_S_INPUT:
[1] ioctl(VIDIOCGMBUF) - Error device does not support memory map
[1] V4L capturing using read is deprecated!
[1] Motion only supports mmap.
[1] Retrying until successful connection with camera
[1] cap.driver: "uvcvideo"
[1] cap.card: "USB2.0_Camera"
[1] cap.bus_info: "usb-0000:00:1d.7-3"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Error selecting input 0 VIDIOC_S_INPUT:
[1] ioctl(VIDIOCGMBUF) - Error device does not support memory map
[1] V4L capturing using read is deprecated!
[1] Motion only supports mmap.

^C[0] httpd - Finishing
[0] httpd Closing
[0] httpd thread exit
[1] Thread exiting
[0] Motion terminating
user@ubuntu:~$

Так нормально, когда в одиночку

user@ubuntu:~$ motion -n -c ~/motion1.conf
[0] Processing thread 0 - config file /home/user/motion1.conf
[0] Motion 3.2.11 Started
[0] ffmpeg LIBAVCODEC_BUILD 3412993 LIBAVFORMAT_BUILD 3415808
[0] Thread 1 is from /home/user/motion1.conf
[1] Thread 1 started
[0] motion-httpd/3.2.11 running, accepting connections
[1] cap.driver: "uvcvideo"
[1] cap.card: "USB2.0_Camera"
[1] cap.bus_info: "usb-0000:00:1d.7-3"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Supported palettes:
[1] 0: YUYV (YUV 4:2:2 (YUYV))
[0] motion-httpd: waiting for data on port TCP 8080
[1] index_format 6 Test palette YUYV (640x480)
[1] Using palette YUYV (640x480) bytesperlines 1280 sizeimage 614400 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 130, current 130
[1] found control 0x00980901, "Contrast", range 0,100
[1] "Contrast", default 45, current 45
[1] found control 0x00980902, "Saturation", range 0,200
[1] "Saturation", default 95, current 95
[1] found control 0x00980903, "Hue", range -180,180
[1] "Hue", default 0, current 0
[1] found control 0x00980910, "Gamma", range 40,100
[1] "Gamma", default 52, current 52
[1] mmap information:
[1] frames=4
[1] 0 length=614400
[1] 1 length=614400
[1] 2 length=614400
[1] 3 length=614400
[1] Using V4L2
[1] Resizing pre_capture buffer to 1 items
[1] File of type 8 saved to: /home/user/motion1/20-11-07.avi
[1] File of type 1 saved to: /home/user/motion1/20-11-07-00.jpg
[1] File of type 1 saved to: /home/user/motion1/20-11-08-00.jpg
[1] File of type 1 saved to: /home/user/motion1/20-11-09-00.jpg
[1] File of type 1 saved to: /home/user/motion1/20-11-10-00.jpg
^C[1] File of type 1 saved to: /home/user/motion1/20-11-11-00.jpg
[0] httpd - Finishing
[0] httpd Closing
[0] httpd thread exit
[1] Thread exiting
[1] Calling vid_close() from motion_cleanup
[1] Closing video device /dev/video1
[0] Motion terminating
user@ubuntu:~$

Отключение и включение первой и второй камеры:

[260850.496271] usb 2-1: USB disconnect, address 2
[260856.710027] usb 2-1: new high speed USB device using ehci_hcd and address 8
[260856.951326] usb 2-1: configuration #1 chosen from 1 choice
[260856.957978] uvcvideo: Found UVC 1.00 device USB2.0_Camera (093a:2700)
[260856.965316] input: USB2.0_Camera as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/input/input7
[260920.814740] usb 2-3: USB disconnect, address 7
[260925.930025] usb 2-3: new high speed USB device using ehci_hcd and address 9
[260926.171062] usb 2-3: configuration #1 chosen from 1 choice
[260926.180606] uvcvideo: Found UVC 1.00 device USB2.0_Camera (093a:2700)
[260926.188838] input: USB2.0_Camera as /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0/input/input8

Как запустить две одновременно?
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4416
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Две web-камеры в linux

Сообщение Rootlexx »

Спасибо сказали:

vladikas
Сообщения: 11
ОС: Ubuntu 9.10

Re: Две web-камеры в linux

Сообщение vladikas »

На сколько я понял, там рекомендуют в другой порт воткнуть камеру. Не помогло. От другого юзера запустил вторую камеру тот же эффект.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4416
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Две web-камеры в linux

Сообщение Rootlexx »

vladikas писал(а):
27.10.2010 21:42
На сколько я понял, там рекомендуют в другой порт воткнуть камеру.

Не просто в другой порт, а в оный на другой шине. То есть в:
vladikas писал(а):
27.10.2010 01:01
[260856.965316] input: USB2.0_Camera as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/input/input7
...
[260926.188838] input: USB2.0_Camera as /devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0/input/input8
- выделенные цифры должны отличаться.
Кроме того, там ещё есть ссылка.
Спасибо сказали:

vladikas
Сообщения: 11
ОС: Ubuntu 9.10

Re: Две web-камеры в linux

Сообщение vladikas »

Теперь понял где номер шины. Буду ваять переходник с разъёма на мамке, получается что все порты сзади это шина 2.
user@ubuntu:~$ lsusb
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 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 009: ID 093a:2700 Pixart Imaging, Inc.
Bus 002 Device 008: ID 093a:2700 Pixart Imaging, Inc.
Bus 002 Device 007: ID 07d1:3c07 D-Link System Wireless G DWA-110 Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Спасибо сказали:

vladikas
Сообщения: 11
ОС: Ubuntu 9.10

Re: Две web-камеры в linux

Сообщение vladikas »

Всё получилось. Ещё раз спасибо. Что интересно определённый разъём не привязан к номеру шины. Может только в линкуксе так. Один и тот же разъём то пятая шина, то вторая.
Спасибо сказали:

richrd
Сообщения: 226

Re: Две web-камеры в linux

Сообщение richrd »

Можно ли в правилах для udev поменять номер шины?
Спасибо сказали:

richrd
Сообщения: 226

Re: Две web-камеры в linux

Сообщение richrd »

Внезапно заработало. Яничегонеменял.
Правда одна чуток запаздывает.
Спасибо сказали:

leha2000
Сообщения: 18
ОС: Gentoo, Arch

Re: Две web-камеры в linux

Сообщение leha2000 »

Кстати если камеры обслуживаются разными драйверами, то работают и на одной шине.
У меня одна linuxuvc, а другая gspca работают прекрасно одновременно на одной шине.
Предполагаю, что косячит именно linuxuvc, к сожалению другой gspca для проверки нет
Нужно ковырять исходники.
Спасибо сказали: