igor1960
journeyman
Reged: 01/07/10
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: Gary Honis]
#3557575 - 01/13/10 04:38 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Gary,
I have a system with connected Lifecam and all actions performed as you did. However, I'm not getting 1280*720 YUY @30fps setting.
I think this is important for you and others to establish the reason. Maybe MSFT changed hardware implementation from version of your cam to mine. I'm experienced on software side and just proposing my free help. If you don't want it -- fine.
But if you do, lets investigate what exact device is connected to yours USB port and what capabilities it has.
To do that, please, download UVCView.exe from this site ftp://ftp.efo.ru/pub/ftdichip/Utilities/UVCView.x86.exe and run it. You should see all your USB ports on the left pane and you should see USB Composite device at places of connection. So, click on each and find the one that will show "Microsoft® LifeCam Cinema(TM)" in Product Name in the right pane. On my machine beginning of looks like that:
---===>Device Information<===---
English product name: "Microsoft® LifeCam Cinema(TM)"
ConnectionStatus:
Current Config Value: 0x01 -> Device Bus Speed: High
Device Address: 0x01
Open Pipes: 1
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3
bmAttributes: 0x03 -> Interrupt Transfer Type
wMaxPacketSize: 0x0008 = 1 transactions per microframe, 0x08 max bytes
bInterval: 0x08
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0xEF -> This is a Multi-interface Function Code Device
bDeviceSubClass: 0x02 -> This is the Common Class Sub Class
bDeviceProtocol: 0x01 -> This is the Interface Association Descriptor protocol
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x045E = Microsoft Corporation
idProduct: 0x075D
bcdDevice: 0x0100
iManufacturer: 0x01
English (United States) "Microsoft"
iProduct: 0x02
English (United States) "Microsoft® LifeCam Cinema(TM)"
iSerialNumber: 0x00
bNumConfigurations: 0x01
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x0595 -> Validated
bNumInterfaces: 0x04
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0x80 -> Bus Powered
MaxPower: 0xFA = 500 mA
...
So scroll down in the right pane untill you see first
===>Video Streaming Uncompressed Format Type Descriptor<===
It should show something like that:
===>Video Streaming Uncompressed Format Type Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x04
bFormatIndex: 0x01
bNumFrameDescriptors: 0x0C
guidFormat: {32595559-0000-0010-8000-00AA00389B71} = YUY2 Format
bBitsPerPixel: 0x10
bDefaultFrameIndex: 0x00
bAspectRatioX: 0x00
bAspectRatioY: 0x00
bmInterlaceFlags: 0x00
D0 = 0x00 Interlaced stream or variable: No
D1 = 0x00 Fields per frame: 2 fields
D2 = 0x00 Field 1 first: No
D3 = 0x00 Reserved
D4..5 = 0x00 Field patterns -> Field 1 only
D6..7 = 0x00 Display Mode -> Bob only
bCopyProtect: 0x00 -> Duplication Unrestricted
This is descriptor for YUY2 Format.
After that it should show all supported YUY2 formats each in its separate:
===>Video Streaming Uncompressed Frame Type Descriptor<===
So, scroll down until you find section where
wWidth: 0x0500
wHeight: 0x02D0
This section of YUY2 descriptor is 1280*720 (converted to hex).
On my machine that section looks like that:
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x22
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x02
bmCapabilities: 0x01
wWidth: 0x0500
wHeight: 0x02D0
dwMinBitRate: 0x06978000
dwMaxBitRate: 0x08CA0000
dwMaxVideoFrameBufferSize: 0x001C2000
dwDefaultFrameInterval: 0x000F4240
bFrameIntervalType: 0x02
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x000F4240
dwFrameInterval[2]: 0x00145855
...
Do you see that there are 2 dwFrameIntervals there
dwFrameInterval[1]: 0x000F4240
dwFrameInterval[2]: 0x00145855
Those are in ns units
0x000F4240 is equal to 1000000 decimal
0x00145855 is equal to 1333333 decimal
So to convert to FPS we should
10000000/1000000 = 10fps
10000000/1333333 = 7.5fps
So those are only two possibly available speeds reported by my LifeCam hardware for 1280*720 YUY2. Remember, this has nothing to do with what drivers you are using ==> this is pure hardware information reported by USB device during connection.
So, please check this on your working system and see if this matches mine and/or there are some differences.
Edited by igor1960 (01/13/10 04:43 AM)
|
ccs_hello
Postmaster
   
Reged: 07/03/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: igor1960]
#3557587 - 01/13/10 04:52 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Igor,
I suspect it may use OV550 as the USB transfer IC, see product brief here.
Also note in the description, it stated for 1280*720 resolution, two processing options:
- 30 fps for raw (each pixel is 10 bit) and
- 15 fps for deBayered YUV2 (deBayered by OV550 and subsampled to 4:2:2 and A/D bit-depth is dropped to 8 bit, while the work is performed by the webcam hardware.) Note: color pixel information for YUV2 is 16 bit per pixel.
This is consistent with my calculated number in earlier post.
Also see similar device's driver information linky here especially on the .inf file.
Note that there are few .sys files
OVTUSB2 (for USB isochronous transfer)
OVTCAM2 (deBayer stuff) <- camera control and possible software based debayer, downsampling, etc.
Probably at this point the video class device will show up in DSPlayer as having a 1280*720 YUV 4:4:4 as its native output. Now connect Huffyuv filter (the huffyuv.ax DS filter file) to get Huffman lossless compressed 1280*720 4:2:2 output for file sink to a named file to a hard disk.
I do not have such webcam nor driver files so I am guessing.
Clear Skies!
ccs_hello
|
ccs_hello
Postmaster
   
Reged: 07/03/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: igor1960]
#3557601 - 01/13/10 05:18 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Quote:
...
So to convert to FPS we should
10000000/1000000 = 10fps
10000000/1333333 = 7.5fps
So those are only two possibly available speeds reported by my LifeCam hardware for 1280*720 YUY2. Remember, this has nothing to do with what drivers you are using ==> this is pure hardware information reported by USB device during connection.
So, please check this on your working system and see if this matches mine and/or there are some differences.
Igor,
Look to me the driver you are using always force the webcam hardware (e.g., OV550 USB chip) to perform hardware based deBayer and downsampling for you (thus YUV2 only), while Gary's can set the webcam to output raw as-is and have the PC software does the work.
As stated earlier, raw method's data rate is lower than in-camera YUV2 method thus less stress on USB2 bandwidth.
P.S. if you open a blank Graphedit and drop in the composite video (lifecam cinema HD) device, do you see it has the option to give you the raw RGBG or 4:4:4, in addition to YUV2?
Clear Skies!
ccs_hello
|
igor1960
journeyman
Reged: 01/07/10
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: ccs_hello]
#3558326 - 01/13/10 01:55 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
ccs_hello,
>> I do not have such webcam nor driver files so I am guessing.
Exactly the difference. Theoreticaly everything is possible and explainable.
However, I do have camera and driver and everything.
And the only option I see is 1280*720 YUY2 at 10FPS on output pin of LifeCam, as well as UVC parameters in lifecam firmware shows the same.
Thats why I want Gary to clarify this for me.
>> if you open a blank Graphedit and drop in the composite video (lifecam cinema HD) device, do you see it has the option to give you the raw RGBG or 4:4:4, in addition to YUV2
No, with Garys sequence of removing MSFTs driver. You have only choice of YUY2 or MJPG...
MJPG @1280*720 gives you max 30fps on output pin
YUY2 @1280*720 gives you max 10fps on output pin
Edited by igor1960 (01/13/10 01:58 PM)
|
JonKristoffersen
sage
Reged: 06/30/06
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: igor1960]
#3560439 - 01/14/10 12:40 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
I'd like to see more planet images from this camera, rather than technical discussions.
Gary, any chance of some tests on Mars? How good is this camera compared to a Toucam? Will I need a powerful computer to capture at high frame rates? Jon
|
RedIrocZ-28
Carpal Tunnel
Reged: 09/18/05
Loc: Grand Rapids, Michigan
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: JonKristoffersen]
#3560700 - 01/14/10 02:41 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
If the Lifecam will work on Win 7 I "may" pick one up. (money is tight these days.)
|
Gary Honis
Vendor-DSLR Mods
Reged: 12/15/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: JonKristoffersen]
#3561267 - 01/14/10 08:24 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Jon,
20" scope is on the driveway now. I wheel it out of the garage so it can cool down for imaging Mars, but unfortunately, I live in the land of the ice and snow, and everlasting clouds:( 
From testing I've done over the years with webcams as detailed on my website, the Logitech Fusion webcam gives better results than the Toucam for my setup, and I'm expecting from what I have seen so far that the LifeCam HD will best the Fusion.
My notebook is a few years old. It's an Intel Core DuoProcessor 1.8GHz with 4 Gig RAM. It runs the Lifecam HD well. My older 2.8GHz notebook with 2 Gig RAM can't get the higher frame rates. Accordng to Microsoft, 1.6GHz Dual Core CPU is minimum to get the webcam working and 3GHz is recommended.
|
Gary Honis
Vendor-DSLR Mods
Reged: 12/15/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: JonKristoffersen]
#3567521 - 01/17/10 11:40 PM Attachment (304 downloads)
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Jon,
I was able to get first images of Mars with the Lifecam HD on 1/17. Seeing was poor along with high thin clouds but I was able to stack 55 of the better frames of a 4 min AVI file (7200 total frames). Captured in 1280X720 rez at 30 frames per second using the Huffyuv lossless codec.
|
sthin25
newbie
Reged: 02/01/10
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: igor1960]
#3605249 - 02/04/10 06:45 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Just received this camera, and I too have been trying in vain to get 720p 30fps lossless with HuffyUV, as Gary described.
Gary, I would really appreciate a step-by-step process of how you setup your program to use HuffyUV. You described in full how to get 30fps MJPG on your website, and here you described analyzing the output HuffyUV video to make sure it is 30fps. Could you describe the actual process you went through to capture in 30fps HuffyUV (which driver, which program, and which settings), so I can test it out?
It is possible that your filter chain is interpolating a lower frame rate capture into higher FPS, which would result in distinct frames, but some of which are artificially created. Depending on the interpolation algorithm, it may be difficult to tell the difference in the output file by eye, and impossible to tell for a program.
Regardless, thank you so much for your efforts!
|
GiorgioDallaVia
newbie
Reged: 02/08/10
Loc: Gallarate (VA) - Italy - 45.66...
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: Gary Honis]
#3614138 - 02/09/10 06:29 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Gary,
thank you for your review,I was so impressed by your results and review (also the one in your own website) that I had to get the camera... 
Anyway, similar story here... no way to get the webcam work in 1280*720@30fps in loseless format.
In Linux (thus without any MS driver), framerates allowed are 7.5 and 10 fps at that resolution in loseless format. Same under WinXP.
I'm not a IT genius nor a complete idiot, something in between... it would be helpful some step-by-step guide from you, since it seems that I'm not the only one having the problem.
Citing CSS_hello,:
"I suspect it may use OV550 as the USB transfer IC, see product brief here. Also note in the description, it stated for 1280*720 resolution, two processing options: - 30 fps for raw (each pixel is 10 bit) and - 15 fps for deBayered YUV2 (deBayered by OV550 and subsampled to 4:2:2 and A/D bit-depth is dropped to 8 bit, while the work is performed by the webcam hardware.) Note: color pixel information for YUV2 is 16 bit per pixel.... "
It seems to me that I'm not able to get the RAW processing option. Possibly it's my own fault, being rather new to all this stuff, but I really do not know where to select this option and how to make it work. Fore more information, under windows I can aquire AVIs under Iris or VirtualDub.
It would be appriciated some help from you... I can provide you more infos about codecs installed on the WinXP system just in case it can help.
Cheers and thanks in advance. Giorgio
|
Gary Honis
Vendor-DSLR Mods
Reged: 12/15/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: GiorgioDallaVia]
#3616541 - 02/10/10 10:48 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Hi Giorgio,
I don't have a step-by-step guide for installing the LifeCam HD Cinema. As explained on my web site I installed and uninstalled many capture softwares and video codecs over time for testing, in no particular order, so don't have a particular method that I can recommend. I don't have a good understanding of video codecs. Most of the testing I have done has been by trial and error. I also don't have any experience with Linux. It may be that the Microsoft WDM Image Capture (Win 32) driver is required?
In general I would suggest the following:
1. Install the Microsoft LifeCam HD Cinema driver from the disk that comes with the webcam. Test the camera.
2. Uninstall the Microsoft LifeCam HD Cinema driver.
3. Install the PIC Video 4 video codec.
4. Install the Huffyuv codec.
5. Install IC Capture.
6. In Capture PIN select 1280 X 720 resolution at 30 fps.
7. Select the Huffyuv lossless codec for compression method.
8. Test camera.
I have heard form others that have modified the LifeCam HD and are beginning to image with it. Luís Campos has posted some Saturn and Mars test images here:
http://www.flickr.com/photos/37419943@N08/
There has been an intermittant problem with the webcam that we are trying to resolve. After making the webcam setting adjustments, sometimes when the video capture is started, the brightness of the image changes. I've seen this happen with other webcams. There is a work-around but we're still looking for the cause and a good fix.
|
GiorgioDallaVia
newbie
Reged: 02/08/10
Loc: Gallarate (VA) - Italy - 45.66...
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: Gary Honis]
#3616647 - 02/10/10 11:43 AM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Thank you for your prompt reply, Gary.
Getting back home I will do some more testing. Being my Windows system rather "virgin", in case all will go in the right way it will be some kind of "installing from scrath" guide...
Will keep you informed about it G.
|
zAmbonii
Carpal Tunnel
Reged: 01/19/08
Loc: Ypsilanti, MI
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: GiorgioDallaVia]
#3617688 - 02/10/10 09:56 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
I picked up a lifecam today just to see how it compares to my SPC900NC. I haven't pulled it of the box just yet. Hopefully we will have some clear skies sometime in the near future to give it a planetary/lunar test.
Edit: BTW....Office Depot has the Lifecam Cinema HD on sale for $60 through the end of the month if you have one near where you live.
Edited by zAmbonii (02/10/10 10:17 PM)
|
dgpilot
sage
Reged: 09/25/09
Loc: Dublin, California
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: zAmbonii]
#3619030 - 02/11/10 03:42 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Quote:
Edit: BTW....Office Depot has the Lifecam Cinema HD on sale for $60 through the end of the month if you have one near where you live.
Thanks for the tip.. I was thinking about getting one this weekend. I'm more of a deep sky photographer with my Canon 50D, so I'm new to planetary imaging. In the past, I've used my meade DSI II pro, but i've found it to be pretty lackluster for that use.
Can anyone tell me the difference I should be able to see between the DSI and the Lifecam?
|
RedIrocZ-28
Carpal Tunnel
Reged: 09/18/05
Loc: Grand Rapids, Michigan
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: zAmbonii]
#3619131 - 02/11/10 04:38 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Quote:
I picked up a lifecam today just to see how it compares to my SPC900NC. I haven't pulled it of the box just yet. Hopefully we will have some clear skies sometime in the near future to give it a planetary/lunar test.
Edit: BTW....Office Depot has the Lifecam Cinema HD on sale for $60 through the end of the month if you have one near where you live.
Sweet, I was going to try one out. I think I'll wait and see what results you get first though
|
zAmbonii
Carpal Tunnel
Reged: 01/19/08
Loc: Ypsilanti, MI
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: RedIrocZ-28]
#3619296 - 02/11/10 06:07 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
I've only played around with the came for a short bit last night and today. Been only playing around with it on my laptop so far.
Can only select 10fps or less for the HD captures for some reason (YUY2). Cant even select the HD resolution on K3CCDTools....I was able to before installing the HuffyUV codec. Weird.
I'm going to play around with it tonight some on my desktop, which has a better CPU/Faster HD....at once it used to be fast, but it is now an ancient computer .
|
ccs_hello
Postmaster
   
Reged: 07/03/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: ccs_hello]
#3664036 - 03/06/10 05:07 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Just trying to clarify my previous post:
1) per one of the press release, OV9712 indeed is the sensor/sensor front-end IC
2) that sensor by itself can only output raw (10 bit or 8 bit)
The data is then handed off to the USB Camera Bridge IC.
(This is the reason I asked the board picture.)
If it's OV538, it can do either
- pass-thru as is (i.e., let PC side driver software does the deBayer + color space conversion), or
- hardware (on webcam side) deBayer + color space conversion
If it's OV550, it will only do
- pass-thru as is (either 8 bit raw or 10 bit raw pixel data)
Note that pass-thru is less taxing on USB2 bus, thus can do 720P @ 30fps, at least on the webcam side assuming that PC side has enough horsepower that can handle the rest;
while webcam hardware-based deBayer+color space will drop the frame rate down to max. 15fps. (Since YUV422 or YUV420 consumes more bandwidth.)
The camera USB bridging chip will be recognized as USB Video Class (UVC) device.
On PC side, one (with proper insight into device setting) can set UVC device's parameters (e.g., send raw only, disable AGC/manual gain, Blue-gain, Green-gain,Blue-whitebalance, Red-whitebalance, set auto-exposure-control (or manual time), etc. ) There are too many to list and some may be obscured by the camera USB bridging IC which by itself is a 8051 microcontroller).
My take: very fancy, but requires a lot of time to working through this and currently have to live with what it provided (most likely presumed to be most useful by the webcam designer in the most common scenario.)
Also note that when people taking about HFYUV or MJPEG etc., these task has been on the PC side of operations. If there is no 30fps HD feed coming in from the USB bus in the first place (i.e., need raw), there is no hope just by PC side software to get to 30fps.
{edit 1} On the other hand, if a PC side setting can force the webcam (especially on the Bridging IC to select the raw, if that IC can do both raw and deBayer and chose to do the latter) to do the right thing (let PC software takes care of the deBayer), that will be nice.
{edit 2} if the UVC setting is too smart, e.g., by setting one parameter (such as white balance or some checkboxes), which may force the webcam to do hardware deBayer, then all bets are off.
Clear Skies!
ccs_hello
|
Preston F
member
Reged: 02/11/10
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: Gary Honis]
#3693699 - 03/20/10 01:30 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
I recently did the lifecam mod myself by following Gary's instructions (Thanks Gary!).
I discovered that you can actually skip steps 6 and 7 becuase step 12 removes the mount. This should make things easier becuase steps 6,7 are kind of a pain.
Also, I used a t-mount part from Edmund Optics which gives the camera a female t-mount instead of a 1.25" tube. NT52-293
To make it work, I had to use sandpaper on the part to increase the diameter of the opening by 1mm. It took me about 15min and then it fit life a glove. The front of the lifecam will push-fit into the retainer ring of the part (I glued it for extra stability) which will thread into the inner threads of the part. This gives the camera a t-thread and by turning the camera, the innner threads will allow you to adjust the back focus distance. The minimum distance will be about 20mm from sensor to t-mount.
I happened to have one of these as well: Orion Camera Adapter Which will screw onto the back male t-thread and cover up the exposed back end of the camera as well as provide a convenient excess cable storage becuase the cable is not removeable.
Hope this helps,
Preston
|
midnightblue
super member
Reged: 09/03/08
Loc: over the hill
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: Preston F]
#3694502 - 03/20/10 09:12 PM
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Could someone please test this camera to see if its compatible with EQAlign 2.0 before I commit to purchasing Thanks
Gary great moon tour when's the next one
|
ccs_hello
Postmaster
   
Reged: 07/03/04
|
Re: Microsoft LifeCam Cinema HD Webcam Modificatio
[Re: ccs_hello]
#3694883 - 03/21/10 12:38 AM Attachment (209 downloads)
|
Edit
|
Reply
|
Quote |
Quick Reply
|
|
|
Just wish to explain that the device-specific driver shipped with the CinemaHD cam, from Windows Driver Model (WDM) point of view supports RGB24 (fastest frame rate 1280*720 @ 15 fps in a fast WinXP PC) and I420 (no HD). If uninstalling the device-specific driver, the generic/universal USB Video Class (UVC) class driver will be installed. In UVC mode also under WDM, YUV2 (1280*720 @ 10 fps) and M-JPEG (1280*720 @ 30 fps) are supported.
I suspect may be there was an earlier hardware (USB bridge IC), a firmware code (the latest update is version 1033), and/or a different driver which will support what Gary said. Likely it may not use WDM but send CMOS sensor data as-is (raw), which is unusual in WDM framework sending color sensor raw data out as if its a monochrome sensor (i.e., Y800) and let PC side software to do deBayer. This is good for bandwidth saving to fit HD high frame rate like 30 fps into USB 2.0 high-speed isochronous pipe.
The next screenshot shows the WDM implementation through Graphedit
- UVC video from Cinema HD at 1280*720 YUV2 @ 10 fps
<--- this is the lower filter (probably both nx6000 and usbvideo drivers and some functions might take place in webcam's USB bridge IC.)
- then the rest are all downstream software running on PC
Clear Skies!
ccs_hello
|