Webkamera v Linuxu (V4L, UVC)

Zdeněk Materna zdenek.materna na gmail.com
Úterý Duben 12 20:43:26 CEST 2011


Zdravím,

VIDOC_STREAMON je zapnutí streamu, takže to by neměla být nějaká nová
vlastnost (navíc to teď už funguje, viz druhý meil). Sice tomu úplně
nerozumím, ale problém je asi v tom, že kamera ovladači nahlásí jaký
požaduje bandwidth a on je to nesmysl. Tím quirks=128 se ovladači
řekne, že se má na hodnotu od kamery vykašlat a spočítat si to po
svém. Zdá se ale, že to funguje jen pro nekomprimované formáty.
Bohužel. Když bude čas, zkusím pro svoje jádro (novější použít nemůžu)
zkompilovat co nejnovější uvcvideo a uvidí se...

2011/4/12 Miroslav Mraz <mraz na seznam.cz>:
> Chyba vznikne voláním ioctl s parametrem VIDIOC_STREAMON. Takže asi bych
> se podíval na verze ovladače kamery v jádře. Tipnul bych si, že ARM má
> starší verzi a to VIDIOC_STREAMON je později přidaná vlastnost, kterou
> verze na ARMu prostě ještě neumí.
>
> Mrazík
>
> Zdeněk Materna píše v Út 12. 04. 2011 v 18:17 +0200:
>> Zdravím,
>>
>> měl bych dotaz pro místní linuxové odborníky, pokud nějací jsou :-)
>> Mám problém s UVC webkamerou. Jde o Genius Facecam 1000. Chtěl bych ji
>> použít s programem mjpg-streamer na streamování obrazu po ethernetu.
>> Nejdříve jsem to zkoušel s Facecam 1320 a fungovalo to dobře, až na
>> to, že ta má jenom nekomprimovaný výstup, takže kompresi musel
>> obstarávat mjpg-streamer a bylo to pomalé. Facecam 1000 má sice výstup
>> komprimovaný, ale pro změnu nefunguje. Tedy na notebooku (x86) je
>> všechno v nejlepším pořádku, ale na ARMu ne. Abych vyloučil problém v
>> mjpg-streameru, zkompiloval jsem si referenční kód z:
>> http://v4l2spec.bytesex.org/spec-single/v4l2.html#CAPTURE-EXAMPLE a
>> výsledek je stejný - na x86 funguje, na ARMu ne. Nevím jestli nemůže
>> být problém v tom, že ARM (AT91SAM9260) má sice USB2.0, ale jen
>> full-speed. Nicméně Facecam 1320 fungovala, takže tím to asi nebude.
>>
>> Na x86 používám jádro 2.6.35 a normální glibc. Na kitu s ARMem mám
>> 2.6.33.7.2-rt30 a uClibc.
>>
>> v4l capture example skončí s chybou: VIDIOC_STREAMON error 5, Input/output error
>>
>> Podle logu je kamera detekovaná dobře:
>>
>> [ 2042.100000] usb 1-1: new full speed USB device using at91_ohci and address 3
>> [ 2042.290000] usb 1-1: New USB device found, idVendor=0458, idProduct=707e
>> [ 2042.290000] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
>> [ 2042.310000] usb 1-1: Product: FaceCam 1000
>> [ 2042.320000] usb 1-1: Manufacturer: KYE SYSTEMS CORP.
>> [ 2042.400000] uvcvideo: Found UVC 1.00 device FaceCam 1000 (0458:707e)
>> [ 2042.460000] input: FaceCam 1000 as
>> /devices/platform/at91_ohci/usb1/1-1/1-1:1.0/input/input1
>>
>> Jak tak koukám na různá fóra, hodně problémů se řeší vložením modulu
>> uvcvideo s parametrem quirks=2; nevím co to má přesně dělat, má to v
>> tomto případě nějaký smysl? Ptám se, protože to nemůžu jen tak snadno
>> vyzkoušet - uvcvideo nemám jako modul.
>>
>> Díky za případné rady.
>>
>> S pozdravem
>> Zdeněk Materna
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list