LINUX.ORG.RU

Вебкамера


0

0

Определилась и завелась. Debian sarge. 2.6.18-3-686.
# dmesg |tail
...
usb 1-2: new full speed USB device using ohci_hcd and address 4
usb 1-2: configuration #1 chosen from 1 choice
usb 1-2: ZC0301[P] Image Processor and Control Chip detected (vid/pid 0x0AC8/0x303B)
usb 1-2: PB-0330 image sensor detected
usb 1-2: Initialization succeeded
usb 1-2: V4L2 device registered as /dev/video0

Если сделать 
$ cat /dev/video0 >somefile
в файле оказываются слепленные воедино JPEGи размера 640х480.

Проблема в том, что ни одна программа из тех, что я пробовал (xawtv, motion, webcam, etc) не может пообщаться с этой камерой.
Диагностика довольно разнообразна. 

$ xawtv
This is xawtv-3.95.dfsg.1, running on Linux/i686 (2.6.18-3-686)
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_G_STD(std=0xbfd2d124 [PAL_G,PAL_D,PAL_M,NTSC_M,?,?,SECAM_D,SECAM_K,SECAM_L,?ATSC_8_VSB,ATSC_16_VSB,(n
ull),(null),(null),(null),(null),(null)]): Invalid argument
ioctl: VIDIOC_S_STD(std=0x0 []): Invalid argument
no way to get: 384x288 16 bit TrueColor (LE)

$ motion
[0] Processing thread 0 - config file /home/roux/.motion/motion.conf
[1] Thread is from /home/roux/.motion/motion.conf
[1] Thread started
[1] ioctl (VIDIOCGCAP): Invalid argument
[1] Capture error calling vid_start
[1] Thread finishing...

и т.д.

Куда копать?

Заранее спасибо.

Ростислав
anonymous

1) это mjpeg
2) А чего ты хочешь? У меня например camorama и motion с похожими работали.

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

Хочу, чтоб motion работала, чтобы xatv на экранчик в реальном времени рисовала. Хочу какую-то приблуду, чтобы этой штукой пользоваться, как очень убогой цифровой фотокамерой.

У меня впечатление, что софт пытается потрогать рабочий режим камеры, но драйвер его не понимает...

Ростислав

anonymous
()
Ответ на: комментарий от isden

Эти рецепты как раз и не работают.
Например, рецупт по ссылке выдаёт такое:

$  mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0       
MPlayer 1.0rc1-4.1.2-DFSG-free (C) 2000-2006 MPlayer Team
CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Model: 8, Stepping: 10)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
Cache fill:  0.00% (0 bytes)   
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
v4l2: ioctl get standard failed: Invalid argument
Selected device: ZC0301[P] PC Camera
 Capabilites:  video capture  read/write  streaming
 supported norms:
 inputs: 0 = Camera;
 Current input: 0
 Current format: unknown (0x4745504a)
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
FPS not specified in the header or invalid, use the -fps option.
No stream found.

v4l2: ioctl set mute failed: Invalid argument
v4l2: 0 frames successfully processed, 0 frames dropped.

Exiting... (End of file)

$

Ростислав

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

а если попробовать из ядра выкинуть поддержку v4l2 и юзать v4l? ну или как вариант, если возможно, передать вебкамерному модулю параметр юзать v4l ?

насколько я знаю, v4l2 - это фишка еще highly experimental. сам лично по тем инструкциям завел камеру на v4l - все работало.

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

Спасибо. Идея здравая, но модуль зависит от v4l2. А другими модулями эта камера, вроде как, не поддерживается.

Ростислав

PS PTW, может, пригодится кому

$ dd if=/dev/video0 of=out.jpg bs=50k count=1

Делает единичную картинку.

Ростислав

anonymous
()
Ответ на: комментарий от fugu

Ура! Заработало.

Спасибо.

Ростислав

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.