Philips SPC 900NC webcam: Linux / ZoneMinder Compatible

Philips SPC 900nc webcam. Philips SPC 900NC webcam in box
The Philips 900NC webcam is Linux compatible (Tested with: Ubuntu 8.10, 9.04 & 10.04). Under V4L2 it supports 640×480 at 15fps out of the box. (The webcam’s box claims speeds of up to 90fps, but that is only for smaller resolutions, custom windows drivers, etc. You may be able to get better speed with an optimized Linux driver, but out of the box performance is satisfactory.) It supports ZoneMinder, but only if you set up the exact correct Device Format (NTSC M) and Capture Palette (YUV420).
It has good low-light performance, although it will not work in complete darkness without additional IR illumination.
Source Settings in ZoneMinder

13 thoughts on “Philips SPC 900NC webcam: Linux / ZoneMinder Compatible

  1. I’m having issues getting mine to work. I’ve set the above, and I’m just getting a black screen. Would you please update your post with the first two device configuration screens in zoneminder?

  2. I’ve updated the post by adding the “Source” screen (above). You may also have to change your “Image Buffer Size (frames)” to 10 under “Buffers”.
    Jay

  3. Hi,

    I’m trying to use this webcam with Zoneminder, but it doesn’t work…

    I got the same config, device is in /dev/video0 too…

    But when i’m doing this command :

    zmu -q -v -d /dev/video0 -U**** -P********

    It says :
    “Error, failed to query crop capabilities /dev/video0: Invalid argument”

    And in the config pannel, when i click on “probe”, there’s this message :
    “Unable to probe local cameras, status is ‘255’”

    And sometimes there’s the right content in the popup window, but no device detected…

    I tried the webcam with Cheese and Camstream, it works perfectly.

    I tried with a Philips PCVC 740K, same problem.

    But it works with Logitech C510…

    Any solution ? :/

    Thanks for you useful and interesting blog ! And sorry for my bad english x).

    • I’m afraid I do not have a solution for you, I haven’t seen that specific (crop capabilities) error message. I don’t believe the camera has any type of “cropping” ability, so it may be that you have a setting that is trying to crop the image, but that doesn’t work with this camera. Confirm that you have 640×480 as the input size. If you ever figure it out, please let us know.

  4. Thanks for you quick answer ! :).

    Well, i’m trying to resolve the problem, but i’m thinkin this comes from my low computer.

    It seems that i can’t use 640*480.

    It “works” a bit better with 320*240, NTSC M, YUV420 and maximum FPS at 15.

    I also changed the values of :
    /proc/sys/kernel/shmall
    /proc/sys/kernel/shmmax

    I put them to 134217728. I saw this “solution” somewhere on the web. Could be RAM issue.

    Like i previously said, i got a low computer, with only 1GB memory. But it should be enought, i think…

    So, now the webcam is activated.
    But it’s not really useful… x).

    See :

    http://img189.imageshack.us/img189/5417/snapshot1un.png

    • Yes, that sounds like a buffers issue. (I also had to increase my buffers to be able to do multiple cameras.) I typically run at 2-3 fps normally and go up to 7 fps when an alarm happens to save on the total number of buffers I need. I’m able to stream three 640×480 cameras and one 1024×768 camera at those speeds using a machine with 1.5 GB of ram. I think you have enough RAM, but perhaps your shared memory isn’t all contiguous or is not configured properly in some other way. The image you posted has lots of weird color artifacts, I have no idea what is causing that. I can confirm that this camera will work at 640×480 (and I’ve had two of them running at the same time (approx 5 fps each) on the same USB hub. If you want full speed for both cameras they need to be on separate USB chips, some computers will have two chips, one for the front ports and one for the back ports, or you can buy a 3rd party PCI usb expansion card.

  5. If you confirm that this camera works with Zoneminder, i’ll certainly solve the problem !

    Well, i don’t know why, and i don’t know how, but now i can use 640*480 ! x).
    But still the same color issue.

    I’m getting closer and closer… btw, thks for you help !

  6. Hi,

    Well, i don’t know how it is possible, but now it works.

    I had to select BGR24 for the capture palette (and to use the 320*240 resolution).

    BUT, i still got problems x).

    Now, the Modect sets infinite alarm…
    I’ve been changing “warm up frames”, “alarm count” etc… but there’s nothing to do. There’s always an alarm, it’s always recording :/.

  7. Having to specify BGR24 is funny, as mine is definitely working at YUV420. BGR24 would take more data per frame, explaining why you need to do 320×240 instead being able to get to 640×480. It sounds like your camera is set up to output data using the BGR24 setting and for some reason ZoneMinder is not able to switch it over to YUV420. You may be able to find another program that can change the output on the camera, or a command line setting somewhere that will switch it.

    As to your issue with always alarming, it is possibly because your sensitivity is set too high. Try going with some of the “pre-sets” that are “low sensitivity” and see if that fixes it.

  8. It’s a quite strange.

    I decided to remove my monitor and to add it again using the BGR24 specification… and… it worked perfectly oO.

    I added one more monitor (another Philips SPC900NC), same configs…
    It worked too.

    NTSC M
    RGB24 (or BGR24)
    640*480
    Max FPS : 3
    Alarm max FPS : 15
    Image buffer size : 40
    Post event image count : 20

    And for everything else, default config.

    Well, sometimes i really don’t understand computers x).
    Btw, thanks a lot for your help ! :).

  9. Pingback: Ubuntu 14.04 mjpg_streamer install attempt | Jay's Technical Talk

Leave a Reply to Jay Cancel reply

Your email address will not be published.