显示IPcam的图像流

时间:2011-02-07 13:15:43

标签: wpf performance image streaming

我正在开发一个WPF应用程序,其中一个控件显示图像流;很像任何网络摄像头。这些图像来自IP摄像机,只能通过HTTP Url访问,它是固定的并且始终是相同的。现在通过

捕捉图像没问题
    BitmapImage bitmapImage = new BitmapImage();

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

    return bitmapImage;

这很有用。当我试图连接几个摄像头(超过6个),应用程序窒息并最终崩溃时,问题就出现了。所有相机都在一个单独的线程上运行。

我已经确定了基本问题:创建一个(高级?)位图会占用太多资源,因为我需要应用程序最终实时处理大约600张图像/秒(约30Mb /秒)。

简而言之,我正在寻找一种方法来提高检索/渲染过程的效率。

提前致谢!

更新:

忘了提一下,或许在.NET 4 WPF中工作,相机本身就是Mobotix M12,可以通过以太网访问。

2 个答案:

答案 0 :(得分:1)

所以,如果我做对了,每个相机的帧率为100 fps? (你提到600个图像/秒为6个凸轮)。 通过一些分析,您可以找出瓶颈吗?

答案 1 :(得分:0)

作为一个非常晚的更新,对于任何仍然感兴趣的人 - 我们使用aForge框架管理了一个实现http://www.aforgenet.com/aforge/framework

虽然已经过时了,但它可以开箱即用。