I bought an other webcam today this time a QuickCam Orbit/Sphere AF but
it has the exact same issues and also seem to be a bcdDevice 0.08 device
/me cries (continuing saga day 6 ...)

Paulo Assis schreef:
> 
> 
>     I did a lot more testing today (this is full day 5 already) and I found
>     some very disturbing discoveries!
> 
>     I can watch the webcam at width=320:height=240:fps=30 and have the
>     correct result. However when going over this resolution I will get only
>     15 fps and i can max go to 640x480 resolution.
> 
>     Any idea why a tool as guvcviewer seems to output 800x600 and even
>     1600x1200 but mplayer does not want go higher as 640x480 (it does go
>     lower)
> 
> 
> I believe mplayer checks your hardware and sets resolution accordingly
> (not sure about this though).

I believe it checks the v4l fields see the (attached) v4l-info2.log
could somebody run these commands on there good working >2MP webcam and
sent the test to the mailinglist?

> �
> 
> 
>     I upgraded to guvcview 1.0.2 and tested some more there is still the
>     issue that i get lower fps when recording. Could somebody test recording
>     800x600 with 25fps and sound, if its really 25fps the sound will be
>     in sync.
> 
> 
> In the case of guvcview you should check the resulting fps in the avi
> header, use avidemux to check the avi properties.
> Sound can become out of sync due to a bad microphone or if fps varies a
> lot during capture, guvcview will write the average fps (total number of
> frames / total time of capture) to the avi header.
> The quality of video capture is very dependent on your hardware since
> video processing requires a lot from ones system (processor, memory,
> disk, ...), in your case and although the eeepc is a damn good machine
> for it's size and price, I wouldn't consider it a prime candidate for
> this type of usage. �
> 

I did some testing with guvcview and my expectations where correct I
tried to record a 800x600 stream with 25 fps. Result is complete out of
sync audio and the fps was going up and down during recording (auto
exposure was off) (result was a average of 13.833 fps)

BTW its kind of cool to see that guvcview is using a direct interface to
do the avi muxing (ID_CLIP_INFO_VALUE1)

Please see the attached capture-10.log for all the info on the recording.
Could somebody please do some testing with there device and see what the
highest possible resolution is with 25fps on there system. I would really
appreciate this. Please also test this with the mplayer command as I did.

I have an atom 1,6 GHZ 1GB DDR ram eeepc that would be fast enough for
there kinds of recording, and during recoding htop show the cpu load is
very low around 20%. And bwm-ng also tells me the hard-disk throughput is
about 14 MB/s so the hardware should not be a bottleneck here. But maybe
can test this on there system and check there throughput values.

Maybe an idea to also use mpeg4 for encoding, I tried to get named pipes
to work with guvciewer to make ffmpeg take it as input but I could not
get it to work.

> 
>     Also i tested the v4l2 fields of the webcam and there are a lot of
>     errors
>     and non working fields. Is the device really v4l2 compatible? Could
>     somebody check this out further?
> 
> 
> Maybe you had some bad luck and bought the 2008 model, this camera has
> some serious firmware issues causing all sorts of problems in linux, the
> 2009 models according to logitech have these problems fixed:

Yes i bought a 2008 model and today again a 2008 model from a store that
usually have very very high resales and should have hat the latest
version. What is the best 2MP+ webcam that works, are there any digital
foto camaras or video camares that work with uvc, I don't and can't have
any firewire interfaces (only usb) so IEEE 1394 is not an option.

> http://forums.quickcamteam.net/showthread.php?tid=551
> 
> �
> 
> 
>     I also want to use the device on headless machines so no X. How can I
>     configure the device then so it does not use auto exposure...?
> 
> 
> If you need a command line control application, you should consider
> libwebcam:
> 
> http://www.quickcamteam.net/software/libwebcam

hmm this software is not in the debian repository (somebody feels like
packaging it), but why cant i use standard v4l2 command line tools and
mencoder and mplayer to get the job done in an universal way.

> 
> �
> 
> 
>     I attacked all test reports I made that lead to my conclusions please
>     look at them.
> 
>     I can be contacted on chat.freenode.org <http://chat.freenode.org>
>     as /msg tuxcrafter
> 
>     Does somebody know a usb device that can be used for recording with v4l2
>     capable tools at at-leased 25pfs and 800x600 some auto balancing and
>     focusing would be nice to.
> 
> 
> If you need hardware autofocus, the best one I can remember is the
> /QuickCam/ Vision Pro, but there is also the creative cam optia AF.
> They are both UVC cameras so should do fine in linux.

Isn't the QuickCam Vision Pro exactly the same device as the Pro 9000
except branded as special MACOS version? If i can find the creative cam
optia AF i think i will buy it, any ideas for better webcams or digital
camaras with usb interfaces?

> �
> 
> 
>     Again please checkout the attachment.
> 
>     Thanks in advance for help.
> 
>     Jelle de Jong
> 
> 
> Best regards,
> Paulo

Thanks,

Best regards,

Jelle de Jong
$ sudo lsusb
Bus 001 Device 007: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF

$ sudo lsusb -d 046d:0994 -v | grep bcdDevice
  bcdDevice            0.08

[  207.178910] usb 1-4: new high speed USB device using ehci_hcd and address 7
[  207.447000] usb 1-4: configuration #1 chosen from 1 choice
[  207.449881] usb 1-4: New USB device found, idVendor=046d, idProduct=0994
[  207.449881] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=2
[  207.450897] usb 1-4: SerialNumber: 525D8420
[  207.651516] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0994)
[  207.666879] input: UVC Camera (046d:0994) as /class/input/input9
[  207.670876] usbcore: registered new interface driver snd-usb-audio
[  207.670876] usbcore: registered new interface driver uvcvideo
[  207.670876] USB Video Class driver (v0.1.0)

$ sudo v4lctl /class/input/input9
ioctl: VIDIOC_G_STD(std=0xb7fb9980bffc37b8 [PAL_H,PAL_I,PAL_D,PAL_K,PAL_M,PAL_N,PAL_Nc,NTSC_M,NTSC_M_JP,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB,ATSC_16_VSB,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)]): Invalid argument
config: invalid value for input: Television
valid choices for "input": "Camera 1"
config: invalid value for norm: PAL-BG
valid choices for "norm":
no handler for /class/input/input9

$ sudo v4l-info /dev/video0

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
    driver                  : "uvcvideo"
    card                    : "UVC Camera (046d:0994)"
    bus_info                : "0000:00:1d.7"
    version                 : 0.1.0
    capabilities            : 0x4000001 [VIDEO_CAPTURE,STREAMING]

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                   : 1
    description             : "MJPEG"
    pixelformat             : 0x47504a4d [MJPG]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
    index                   : 1
    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           : 800
    fmt.pix.height          : 600
    fmt.pix.pixelformat     : 0x56595559 [YUYV]
    fmt.pix.field           : NONE
    fmt.pix.bytesperline    : 1600
    fmt.pix.sizeimage       : 960000
    fmt.pix.colorspace      : SRGB
    fmt.pix.priv            : 0

controls
    VIDIOC_QUERYCTRL(BASE+0)
    id                      : 9963776
    type                    : INTEGER
    name                    : "Brightness"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 128
    flags                   : 0
    VIDIOC_QUERYCTRL(BASE+1)
    id                      : 9963777
    type                    : INTEGER
    name                    : "Contrast"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 32
    flags                   : 0
    VIDIOC_QUERYCTRL(BASE+2)
    id                      : 9963778
    type                    : INTEGER
    name                    : "Saturation"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 32
    flags                   : 0

### video4linux device info [/dev/video0] ###
general info
    VIDIOCGCAP
    name                    : "UVC Camera (046d:0994)"
    type                    : 0x1 [CAPTURE]
    channels                : 1
    audios                  : 0
    maxwidth                : 960
    maxheight               : 720
    minwidth                : 48
    minheight               : 32

channels
ioctl VIDIOCGCHAN: Invalid argument

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
ioctl VIDIOCGAUDIO: Invalid argument

picture
    VIDIOCGPICT
    brightness              : 32896
    hue                     : 0
    colour                  : 8224
    contrast                : 8224
    whiteness               : 0
    depth                   : 16
    palette                 : YUYV

buffer
ioctl VIDIOCGFBUF: Invalid argument

window
    VIDIOCGWIN
    x                       : 0
    y                       : 0
    width                   : 800
    height                  : 600
    chromakey               : 0
    flags                   : 0

# unable to give higher resulolutions then 640x480, what is going on?
$ mplayer -identify tv:// -tv driver=v4l2:device=/dev/video0:adevice=/dev/dsp1:immediatemode=0:forceaudio:outfmt=YUY2:width=960:height=720

# unable to render 25 fps on resultions higher then 320x
$ mplayer -identify tv:// -tv driver=v4l2:device=/dev/video0:adevice=/dev/dsp1:immediatemode=0:forceaudio:outfmt=YUY2:width=800:height=600:fps=25

$ mencoder tv:// -tv driver=v4l2:device=/dev/video0:adevice=/dev/dsp1:immediatemode=0:forceaudio:outfmt=YUY2:width=800:height=600:fps=25 -oac lavc -lavcopts acodec=libmp3lame:abitrate=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2240:threads=2 -of lavf -lavfopts format=avi -o video1.avi

$ sud
$ mplayer -v -identify -benchmark capture-10.avi
MPlayer dev-SVN-r28785CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel(R) Atom(TM) CPU N270   @ 1.60GHz (Family: 6, Model: 28, Stepping: 2)
extended cpuid-level: 8
extended cache-info: 33587264
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled with runtime CPU detection.
get_path('codecs.conf') -> '/home/jelle/.mplayer/codecs.conf'
Reading /home/jelle/.mplayer/codecs.conf: Can't open '/home/jelle/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --prefix=/usr --confdir=/etc/mplayer --datadir=/usr/share/mplayer --enable-xmga --enable-mga --enable-joystick --disable-tremor-internal --language=all --enable-largefiles --enable-menu --disable-libdvdcss-internal --enable-radio --enable-radio-capture --enable-xvmc --with-xvmclib=XvMCW --enable-win32dll --enable-tdfxfb --enable-s3fb --realcodecsdir=/usr/lib/codecs --xanimcodecsdir=/usr/lib/codecs --enable-gui --enable-runtime-cpudetection
CommandLine: '-v' '-identify' '-benchmark' 'capture-10.avi'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/jelle/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/jelle/.mplayer/input.conf'
Can't open input config file /home/jelle/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 89 binds
Opening joystick device /dev/input/js0
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
Setting up LIRC support...
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.
get_path('capture-10.avi.conf') -> '/home/jelle/.mplayer/capture-10.avi.conf'

Playing capture-10.avi.
get_path('sub/') -> '/home/jelle/.mplayer/sub/'
[file] File size is 1328029856 bytes
STREAM: [file] capture-10.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: AVI format
AVI file format detected.
list_end=0x14A
======= AVI Header =======
us/frame: 72293  (fps=13.833)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (65552) HAS_INDEX WAS_CAPTUREFILE
frames  total: 1380   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  800 x 600
==========================
list_end=0xDC
==> Found video stream: 0
ID_VIDEO_ID=0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids   FCC: YUY2 (32595559)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 13832645/1000000 = 13.833
Start: 0   Len: 1380
Suggested BufferSize: 960000
Quality -1
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 800
  biHeight 600
  biPlanes 1
  biBitCount 24
  biCompression 844715353='YUY2'
  biSizeImage 480000
===========================
list_end=0x14A
==> Found audio stream: 1
ID_AUDIO_ID=1
[aviheader] Audio stream found, -aid 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 32000/2 = 16000.000
Start: 0   Len: 1596032
Suggested BufferSize: 0
Quality -1
Sample size: 2
==========================
Found 'wf', 18 bytes of 18
======= WAVE Format =======
Format Tag: 1 (0x1)
Channels: 1
Samplerate: 16000
avg byte/sec: 32000
Block align: 2
bits/sample: 16
cbSize: 0
==========================================================================
list_end=0x19E
hdr=Name  size=64
Name      :
hdr=Software  size=64
Software  : guvcview-1.0.2
hdr=Comments  size=64
Comments  :     Sat Mar 14 18:51:11 2009
list_end=0x4F27C388
Found movie at 0x800 - 0x4F27C388
Reading INDEX block, 1489 chunks for 1380 frames (fpos=1328006032).
AVI index offset: 0x0 (movi=0x800 idx0=0x800 idx1=0xEAE08)
Auto-selected AVI video ID = 0
Auto-selected AVI audio ID = 1
Detected NON-INTERLEAVED AVI file format.
AVI: Searching for audio stream (id:1)
XXX initial  v_pts=0.000  a_pos=0 (0.000)
AVI video size=1324800000 (1380) audio size=3192064 (1596032)
VIDEO:  [YUY2]  800x600  24bpp  13.833 fps  106234.7 kbps (12968.1 kbyte/s)
Auto-selected AVI audio ID = 1
[V] filefmt:3  fourcc:0x32595559  size:800x600  fps:13.833  ftime:=0.0723
Clip info:
 Name:
ID_CLIP_INFO_NAME0=Name
ID_CLIP_INFO_VALUE0=
 Software: guvcview-1.0.2
ID_CLIP_INFO_NAME1=Software
ID_CLIP_INFO_VALUE1=guvcview-1.0.2
 Comments:  Sat Mar 14 18:51:11 2009
ID_CLIP_INFO_NAME2=Comments
ID_CLIP_INFO_VALUE2=    Sat Mar 14 18:51:11 2009
ID_CLIP_INFO_N=3
get_path('sub/') -> '/home/jelle/.mplayer/sub/'
ID_FILENAME=capture-10.avi
ID_DEMUXER=avini
ID_VIDEO_FORMAT=YUY2
ID_VIDEO_BITRATE=106234712
ID_VIDEO_WIDTH=800
ID_VIDEO_HEIGHT=600
ID_VIDEO_FPS=13.833
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=1
ID_AUDIO_BITRATE=256000
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_LENGTH=99.76
ID_SEEKABLE=1
ID_CHAPTERS=0
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
s3fb: Couldn't map S3 registers: Operation not permitted
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1440x900 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[x11] Using workaround for Metacity bugs.
[x11] Detected wm supports NetWM.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports FULLSCREEN state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
[VO_XV] Using Xv Adapter #0 (Intel(R) Textured Video)
[xv common] Drawing no colorkey.
[xv common] Maximum source image dimensions: 1920x1088
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 800 x 600 (preferred colorspace: Packed YUY2)
Trying filter chain: vo
VDec: using Packed YUY2 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (800x600->800x600,flags=0,'MPlayer',0x32595559)
VO: [xv] 800x600 => 800x600 Packed YUY2
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kra...@goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x434d5658 (XVMC) planar
using Xvideo port 98 for hw scaling
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
ID_VIDEO_CODEC=rawyuy2
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 65536 = 67584 bytes for output buffer.
AUDIO: 16000 Hz, 1 ch, s16le, 256.0 kbit/100.00% (ratio: 32000->32000)
ID_AUDIO_BITRATE=256000
ID_AUDIO_RATE=16000
ID_AUDIO_NCH=1
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Building audio filter chain for 16000Hz/1ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 16000Hz/1ch/s16le
[dummy] Was reinitialized: 16000Hz/1ch/s16le
Trying preferred audio driver 'alsa', options '[none]'
alsa-init: requested format: 16000 Hz, 1 channels, 9
alsa-init: using ALSA 1.0.19
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opened in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=8
alsa-init: got buffersize=16384
alsa-init: got period size 1024
alsa: 48000 Hz/1 channels/2 bpf/16384 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 1ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <j...@streamminister.de>
AO: Comment: under developement
Building audio filter chain for 16000Hz/1ch/s16le -> 48000Hz/1ch/s16le...
[dummy] Was reinitialized: 16000Hz/1ch/s16le
[libaf] Adding filter lavcresample
[dummy] Was reinitialized: 48000Hz/1ch/s16le
[dummy] Was reinitialized: 48000Hz/1ch/s16le
ID_AUDIO_CODEC=pcm
Starting playback...
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 19395
Increasing filtered audio buffer size from 0 to 19344
*** [vo] Exporting mp_image_t, 800x600x16bpp YUV packed, 960000 bytes
Unicode font: 255 glyphs.
Unicode font: 255 glyphs.
Increasing filtered audio buffer size from 19344 to 19376??,?% 0 0
Increasing filtered audio buffer size from 19376 to 19400 1.2% 1 0
Increasing filtered audio buffer size from 19400 to 19408%  1.2% 1 0
ds_fill_buffer: EOF reached (stream: audio)  /1379  0%  2%  1.2% 1 0
ds_fill_buffer: EOF reached (stream: audio)
ds_fill_buffer: EOF reached (stream: audio)  /1380  0%  2%  1.2% 1 0
ds_fill_buffer: EOF reached (stream: video)
EOF code: 1  99.7 A-V: -0.044 ct: -0.009 1380/1380  0%  2%  1.2% 1 0


BENCHMARKs: VC:   0.010s VO:   2.114s A:   1.229s Sys:  96.311s =   99.663s
BENCHMARK%: VC:  0.0098% VO:  2.1208% A:  1.2334% Sys: 96.6360% = 100.0000%
Uninit audio filters...
[libaf] Removing filter lavcresample
[libaf] Removing filter dummy
Uninit audio: pcm
Uninit video: raw
Successfully enabled DPMS
alsa-uninit: pcm closed
vo: uninit ...

Exiting... (End of file)
ID_EXIT=EOF
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to