rumblefx0
rumblefx0

Reputation: 674

Displaying image stream of an IPcam

I'm currently developing a WPF application where one of the controls displays a stream of images; much like any webcam. These images originate of an IP camera and can only be accessed by an HTTP Url, which is fixed and always the sames. Now capturing the images is no problem, via

    BitmapImage bitmapImage = new BitmapImage();

    bitmapImage.BeginInit();
    bitmapImage.UriSource = uri;
    bitmapImage.CacheOption = BitmapCacheOption.None;
    bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
    bitmapImage.EndInit();

    return bitmapImage;

This much works. The problem arises when I attempt to hook up several cameras (more than 6), the application chokes and eventually crashes. All cameras run on a separate thread btw.

I've identified the basic problem: creating a (highlevel?) bitmap eats too much resources as I need the app to process about 600 images/sec in real-time (about 30Mb/sec) eventually.

In a nutshell, i'm looking for a way to make this retrieval/rendering process a lot more efficient.

Thanks in advance!

UPDATE:

Forgot to mention perhaps, im working in .NET 4 WPF, the camera itself is a Mobotix M12, accessed by ethernet.

Upvotes: 1

Views: 1235

Answers (2)

rumblefx0
rumblefx0

Reputation: 674

As a very late update and for anyone still interested - we managed an implementation with the aForge framework http://www.aforgenet.com/aforge/framework

While dated, it can do these kind of things out of the box.

Upvotes: 0

Loy
Loy

Reputation: 103

So, if I get this right, each camera has a framerate of 100 fps? (you mention 600 images/second for 6 cams). With some profiling you could identify the bottleneck?

Upvotes: 1

Related Questions