Jump to content
memo

Using CCTV systems for custom software

Recommended Posts

Hi all, I write custom audio/visual interactive software connecting multiple cameras to a PC and programming in C++ to analyze the camera feeds and output audio and visuals. Up to now I have been using upto 6 firewire cameras daisy chained together, but would like to switch to using standard CCTV cameras.

 

I don't know much about surveillance systems but it seems I have two routes, but would like some advice:

- IP Cameras: Are these an option? Could I setup a router, connect 10 cameras, and then access all video feeds from a PC?

 

- PCI DVR Cards: I see a number of PCI DVR cards around which allow connecting of upto 16 BNC cameras. These look great, but I don't need their recording / monitoring software. Do the drivers for these cards allow me to access the raw feeds from my own code?

 

Essentially I would need to be able to access the raw data of the feed (RGB data for all pixels) in realtime - so no recording necessary. In my own code I will do motion analysis (frame differencing, optical flow etc.) to produce bespoke visuals and audio..

 

Any advice on the matter appreciated,

 

Cheers,

Share this post


Link to post
Share on other sites

The answer is no you must use the software that comes with the dvr cards other wise it is reverse engineering the software and hardware and that breaks the user agreement.

Share this post


Link to post
Share on other sites

Thanks for the reply, so I guess that rules out the GeoVision, Avermedia etc.

 

What bout with the IP Cameras, I've not used them at all, but if I have say 10 cameras on my network, do they all appear as normal cameras on my system which I can capture the feed of? Or again is it only proprietary software.

 

I know this isn't a entirely cctv/security query, but when I ask anyone else they say i should ask on cctv/security forums as its related to that hardware...

Share this post


Link to post
Share on other sites

Thanks for the links, thats alotta stuff!

 

first quick peruse looks promising... will delve deeper, cheers!

Share this post


Link to post
Share on other sites

Maybe get a cheap 4 channel card and just use the DVR software to save Jpegs (or use other software to do that, could easily convert AVI files to Jpegs also) .. then write a separate app to run on the same PC that starts and stops the DVR software when you need it, and deals with the image files as you need them.

 

http://www.cctvforum.com/viewtopic.php?t=2021

http://www.shrinkwrapvb.com/vbcode.htm

 

Optionally, take a look at Axis IP Cameras, they have Free downloadable SDK where you can just put the activeX into your project, 1 for each camera based on IP.

 

Also, with GeoVision, you could run a DVR and then use a separate PC to connect to that DVR over the network, using the ActiveX with the Geo SDK you can have it save Bitmaps from each camera, then do what you want with them, eg, convert to Jpeg. The Axis route might be a better approach though as only 1 PC is required.

 

The Geo SDK allows you access to the raw feed in C++ but the drawback is that the Geo server software must be running already. Its more geared towards making your own video server for example.

Share this post


Link to post
Share on other sites

I think you are far better off using IP cameras rather than mixing up proprietary video capture hardware and software with your own. The IP cameras use standard internet protocols and don't need any specific hosting software.

Share this post


Link to post
Share on other sites
I think you are far better off using IP cameras rather than mixing up proprietary video capture hardware and software with your own. The IP cameras use standard internet protocols and don't need any specific hosting software.

 

Money might be an issue though .. he could just get dead cheap CCTV cameras (useless outside ofcourse LOL) bought from ebay, like 2nd hand even, and a dead cheap 4 channel card from like tiger direct or somewhere, useless for any real security app ofcourse .. maybe just a USB DVR .. the really cheap ones .. then use generic software ..

 

depends what kind of budget they have really as IP cameras are not cheap.

IP cameras still require proprietary activeX for what he needs to do.

Share this post


Link to post
Share on other sites

IP cameras still require proprietary activeX for what he needs to do.

 

Not sure if there aren't other ways. I can get an image from my Arecont at the command line using "wget", an http utility. For example this will save an image to the current directory with the name image.jpg:

 

wget "http://:8008/img.jpg -O image.jpg"

Share this post


Link to post
Share on other sites

IP cameras still require proprietary activeX for what he needs to do.

 

Not sure if there aren't other ways. I can get an image from my Arecont at the command line using "wget", an http utility. For example this will save an image to the current directory with the name image.jpg:

 

wget "http://:8008/img.jpg -O image.jpg"

 

Sounds like the Arcont is storing images though?

If thats all he needs then he's good to go .. but then again the price of the arcont might put him off.

 

I think you can also grab a jpeg from the others like Axis, same as with most DVRs. My mind was more on the video and other features when mentioning the activeX/APIs. I guess they are all storing at least 1 current image then.

Share this post


Link to post
Share on other sites

Thanks for the replies.

 

The jpg route unfortunately is not an option as I need to analyse the feeds in realtime, so the software is very responsive and reacts immediately to the motion, the lag needs to be as mimimum as possible. I really need to analyse the cameras feeds in realtime at minimum 15fps - and saving / loading jpgs wouldn't work for me I don't think.

 

The Geo SDK sounds quite promising, not sure what "the drawback is that the Geo server software must be running already" means though?

 

Obviously the cheaper the better! The firewire cameras I'm using at the moment are about £120 each, so anything less than that is a bonus. I"ll look into the IP cameras as well thanks....

Share this post


Link to post
Share on other sites

Looking around I came across these that seem to directly support windows directX API which is great. But was wondering if anyone has heard of these and/or recommend them...

 

webcamsoft vc400

 

viewcast osprey 440

 

winnov videum 4400

 

Thanks again for the help...

Share this post


Link to post
Share on other sites
I think you are far better off using IP cameras rather than mixing up proprietary video capture hardware and software with your own. The IP cameras use standard internet protocols and don't need any specific hosting software.

 

Money might be an issue though .. he could just get dead cheap CCTV cameras (useless outside ofcourse LOL) bought from ebay, like 2nd hand even, and a dead cheap 4 channel card from like tiger direct or somewhere, useless for any real security app ofcourse .. maybe just a USB DVR .. the really cheap ones .. then use generic software ..

 

depends what kind of budget they have really as IP cameras are not cheap.

IP cameras still require proprietary activeX for what he needs to do.

 

Not really. Some cameras like Vivotek and D-Link use an ActiveX control to handle the streams. For those you have to write a shell but they provide SDKs for such things. Other cameras will allow you to access the stream in other ways.

 

General rule of thumb:

 

If the camera supports MJPEG as a streaming option you can use that and a crafted command to the webserver to grab the stream. Axis uses this method.

 

If the camera does not support MJPEG then you'll have to incorperate some sort of application to get the stream. But these cameras are rarer then the MJPEG kind.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×