FreeTrack Forum

Welcome, you're not connected. ( Log in - Register )

RSS >  Webcams that didn't Work, Webcams not suitable for FreeTrack
Laci #1 03/10/2007 - 22h45

Class : Apprenti
Posts : 22
Registered on : 30/07/2007

Off line

Hi!

I'm starting this topic because I am quite luckyless with webcams, I say this after my third webcam that didn't work well.  :snif:

The second reason is that I dodn't want to mess up the Webcam compatibility guide topic. People may think they work.  :stuart:

So lets begin!

Trust WB-3100p
Posted Image
Auto exposure is not switchable in the driver, so it can not see in the dark. Only 3-5 Fps in Freetrack.

--------

Genius VideoCAM NB
Posted Image
Auto exposure is not switchable in the driver, so it can not see in the dark. Only 5-7 Fps in Freetrack.

--------

Digital Product SM0121
Posted Image
ATTENTION!! THIS CAMERA IS NOT IDENTICAL WITH THE ONE IN THE WEBCAM COMPATIBILITY GUIDE! THAT WORKS, this don't.  :pigekedal:
Auto exposure is not switchable in the driver. Can be set to High sensitivity mode, but it is not the same. High gain, slow fps with that. The camera has bright leds to lit the face in the dark, but not infrared. White leds actually.
So this is not identical with the infrared led version, which is probably working. The difference is in the sensor too. And the lens is black on this, not chrome.
staylo #2 03/10/2007 - 23h59

Class : Apprenti
Posts : 8
Registered on : 31/08/2007

Off line

The Digital Product SM0121 almost certainly has the same chipset as the Vimicro camera, just different drivers. Try these drivers.
Kestrel #3 04/10/2007 - 06h27

Webmaster (admin)
Class : Webmaster (admin)
Posts : 780
Registered on : 13/07/2007

Off line

:huh:

Manual exposure is part of the standard webcam spec, pretty lazy of the makers not to use it, even for super cheap webcams.
Laci #4 04/10/2007 - 09h10

Class : Apprenti
Posts : 22
Registered on : 30/07/2007

Off line

Thank You Staylo!

I tried Your link, but every USB product has it's Vendor and product ID-s burned in. So The driver didn't recognised my camera. When I tried to force it to install (with changing the inf files) my system rebooted immediately.
So differend driver won't work.

Anyway, I take back this cam today, and exchange it to a new one, but I don't buy anything unless I can try it before!  :mellow:
staylo #5 04/10/2007 - 12h15

Class : Apprenti
Posts : 8
Registered on : 31/08/2007

Off line

Thanks Laci, that's some very interesting information that I didn't know beforehand! I now know that the webcam I am using has:

idVendor:           0x0AC8
idProduct:          0x303B

It's a ViMicro ZC301PLH video chip with PB0330 sensor.

If you still have the vendor and product IDs for your webcam it may be helpful, it is a pity these two look so similar (mine has a black lens too, looks identical to the photo you posted!)
Laci #6 04/10/2007 - 19h53

Class : Apprenti
Posts : 22
Registered on : 30/07/2007

Off line

Mine had these:

idVendor:           17A1
idProduct:          0118

(You do not need the "0x" part.)

I already took it back.
It was "Digital PC camera"  written on the box. No other notes about the manufacturer. The install software was quite similar to Yours.
EFG_beber #7 07/11/2007 - 23h12

Class : Apprenti
Posts : 7
Registered on : 01/10/2007

Off line

staylo @ 04/10/2007 - 11h15 a dit:

(mine has a black lens too, looks identical to the photo you posted!)

Same for me with IR led but Auto exposure is not switchable. Warning for future buyer. there are a lot of webcam with same specification but different driver.

Here is my webcam:
http://cgi.ebay.fr/USB-Infrared-Night-Vision-USB-PC-Webcam-Mic-Skype-pc1p_W0QQitemZ160176110108QQihZ006QQcategoryZ4616QQssPageNameZWDVWQQrdZ1QQcmdZViewItem
Very cheap and I get 30fps with auto-exposure, but it's not smouth in game due to a lot of jitter.
kimi133 #8 11/11/2007 - 07h57

Class : Apprenti
Posts : 3
Registered on : 05/11/2007

Off line

i just bought the third webcam mentioned here hours ago - mobilegear IP300

the exposure is adjustable manually, n i think this cam has just nice wide range for freetrack - the cam runs 28fps even at 640x480.  the one that i got, the usb cord is with a volume switch and turn out to be dimmer on off for the 6x LEDs

i run with single normal LED on my cap , n fps is constant 27-28fps, looks pretty smooth in freetrack - but jitter is like constant red 24 - how can i improve the jitter (what is this jitter anyway n effect on the games??)
usr #9 01/12/2007 - 00h17

Class : Apprenti
Posts : 43
Registered on : 30/11/2007

Off line

got one of those perfectly anonymous chinese cameras (the closest it has to a name is "VT001"), one of those with a square "metal" body and 8 weak IR LEDs in a circle configuration.

The good: 30 fps at up to 640x480, manual exposure control possible and "built in" lack of IR filter, so that the only thing to mod is adding some film to block visible light.

The bad: it seems to only do YUY2 color representation, this is a 100% crash thing with all versions of freetrack i have tried. Time for some poking around in SEUILLAGE.PAS i guess...
Kestrel #10 01/12/2007 - 02h31

Webmaster (admin)
Class : Webmaster (admin)
Posts : 780
Registered on : 13/07/2007

Off line

usr @ 01/12/2007 - 00h17 a dit:

"built in" lack of IR filter, so that the only thing to mod is adding some film to block visible light.



There HAS to be an IR light blocking filter somewhere, either sandwiched between some lenses or a special lens coating.



The bad: it seems to only do YUY2 color representation, this is a 100% crash thing with all versions of freetrack i have tried.



YUY2 is a packed YUV colour space (as opposed to planar YUV (eg I420)) which hasn't been supported yet.
usr #11 03/12/2007 - 04h23

Class : Apprenti
Posts : 43
Registered on : 30/11/2007

Off line

Kestrel @ 01/12/2007 - 02h31 a dit:

There HAS to be an IR light blocking filter somewhere


In fact, there is. Or rather: was. It went out smooth as butter, much in contrast to the one from my old logi quickcam express ball which required lots of time and brutality. Still a little amusing that they put IR filters in cameras that come with IR illuminator LEDs. After some quick surgery (replacing with 3.5" HD disk filter) it can even detect reflective tape passive markers, which is good. The bad: actual fps never goes above 15, even at 320x240, despite the advertised "30 fps at up to 640x480" and a "30" option in the pin settings.

About YUY2: over the weekend i managed to shoe YUY2 into my slightly customized freetrackfilter.dx, at least for 320x240. (weird segfault in the Locate() loop, all those pixels seem to confuse my UINTs and casts or something, don't care anymore, 640x480 seems to be much more noisy). Sadly the code is not ready for feeding back into the main project, because it is based on the freetrack v1 freetrackfilter interface (dunno what changed but i know 2.x versions refuse to work when my custom version is registered) and is tailored for 4 LED caps (it returns the four strongest LEDs when in doubt, instead of reporting 5 meaning "error". Additionally LED positions are not average between min and max coordinates but accumulated coordinates of all contained pixels divided by number of contained pixels and, before rounding multiplying by 0xFF to get some subpixel, LEDs with more contained pixels are "stronger")
Edited by usr on 03/12/2007 at 04h39.
Kestrel #12 03/12/2007 - 04h58

Webmaster (admin)
Class : Webmaster (admin)
Posts : 780
Registered on : 13/07/2007

Off line

usr @ 03/12/2007 - 04h23 a dit:

Still a little amusing that they put IR filters in cameras that come with IR illuminator LEDs.



Colour gets completely washed out without the IR filter, the IR LEDs assist in low light.

actual fps never goes above 15



Does it use a UVC driver? In which case it should have full exposure control.

640x480 seems to be much more noisy).



640x480 might be upscaled 320x240.

it returns the four strongest LEDs when in doubt, instead of reporting 5 meaning "error".



I think the main reason for this was to force the user to ensure that only the tracking points are visible, minimizing usage of the recursive locate function and saving valuable cpu resources.

Additionally LED positions are not average between min and max coordinates but accumulated coordinates of all contained pixels divided by number of contained pixels and, before rounding multiplying by 0xFF to get some subpixel, LEDs with more contained pixels are "stronger")



The 2.2 filter already uses weighted mean.

Did you modify the SSE2/MMX instructions?
usr #13 03/12/2007 - 17h14

Class : Apprenti
Posts : 43
Registered on : 30/11/2007

Off line

Kestrel @ 03/12/2007 - 04h58 a dit:

usr @ 03/12/2007 - 04h23 a dit:

actual fps never goes above 15



Does it use a UVC driver? In which case it should have full exposure control.

It does have manual exposure control. Turned out that the frame rate trouble wasn't the camera's fault but my cheap "supposedly 2.0" USB hub, which happens to be a massive bottleneck.

But now i found a route for the short cable of the camera to attach directly to the mainboard from a freetrack-qualified camera position, resulting in a steady rate of 33-35 fps even at 640x480 (with "10€ + 8€ shipping fee scam" ebay hardware). Sometimes i even think that the image quality at 640x480 has improved now, but having some dedicated upscaling code just as a fallback for USB 1.1 situations seems to be way too sophisticated for such a cheap piece of chinaware.

The 2.2 filter already uses weighted mean.

Sounds like i should really try to move my modifications to the current codebase then. Oh wait, did you say "2.2"? Is that already available in the SVN?

Did you modify the SSE2/MMX instructions?

I kept my fingers out of anything asm, i know my limits well enough there. My YUY2 code uses the same threshold filtering asm code as the RGB32 stuff, just with a different mask (obviously) and half the horizontal resolution. Full horizontal resolution is not restored before Find, where the YUY2 overloaded version comes with a second parameter for selecting between Y0 and Y1.

If you are talking about the 640x480 crash: This is clearly traced to the Locate iteration where my rusty delphi -or should i say "pascal", because they are that rusty-  skills failed me. It crashes even with Find disabled (all the filtering looking nice and stuff) and yet it still works for example in the upper half of the image when i shorten the iteration accordingly.
usr #14 03/12/2007 - 17h46

Class : Apprenti
Posts : 43
Registered on : 30/11/2007

Off line

update: this cam is one annoying piece: as soon as you supply it with enough bandwidth to go from 15 fps to 30 fps the CPU usage goes up by at least a factor of three (instead of the expected two). Looks more and more like a resizing thing, with the camera sending 320x240 at USB 1.1 speed and some totally uncommon higher resolution that does not get exported through a visible DirectShow pin on USB 2.0, causing _all_ public resolutions being software resampled or something like that. And this is even without freetrack doing it's thing, in a do-nothing demo video capture application.

Time for a dual core machine, or somthing along the lines of a TIR-2-DeviceLink bridge so that at least users of IL-2 (which is totally CPU bound, at least in offline mode) can offload freetrack to a backup computer.
Edited by usr on 03/12/2007 at 18h18.
Kestrel #15 04/12/2007 - 02h17

Webmaster (admin)
Class : Webmaster (admin)
Posts : 780
Registered on : 13/07/2007

Off line

usr @ 03/12/2007 - 17h14 a dit:

Sounds like i should really try to move my modifications to the current codebase then. Oh wait, did you say "2.2"? Is that already available in the SVN?



The SVN trunk has the latest version.


Time for a dual core machine, or somthing along the lines of a TIR-2-DeviceLink bridge so that at least users of IL-2 (which is totally CPU bound, at least in offline mode) can offload freetrack to a backup computer.



Or buy a Labtec webcam.

 >  Fast reply

Message

 >  Stats

1 user(s) connected during the last 10 minutes (0 member(s) and 1 guest(s)).