上位机获取Mjpeg视频流程序(C#.NET语言+AForge.NET控件)(待测试)

     最近打算学习一下AForge.NET,AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。

这个框架由一系列的类库组成。主要包括有:

  AForge.Imaging —— 一些日常的图像处理和过滤器

  AForge.Vision —— 计算机视觉应用类库

  AForge.Neuro —— 神经网络计算库AForge.Genetic -进化算法编程库

  AForge.MachineLearning —— 机器学习类库

  AForge.Robotics —— 提供一些机器学习的工具类库 

  AForge.Video —— 一系列的视频处理类库

  AForge.Fuzzy —— 模糊推理系统类库

  AForge.Controls—— 图像,三维,图表显示控件

我这里打算就1)基于模糊系统的自动导航、2).运动检测、3)C#网络视频传输,这三个方面进行学习。会尽快把学习心得与大家分享。

基于网络视频传输的部分,我参考别人的代码已经写出了示例程序,如图:

因为下位机平台目前还没有搭建,所以无法进行传输视频的测试,等以后测试了再上传测试结果。因为我这里用的程序来自网络所以也就不把程序贴上来了。我把我学习中遇到的问题和解决方法给大家说说。

问题1:安装AForge.net之后无法找到VideoSourcePlayer控件。

方法:在VS2008  的工具中  右键->选择项-> .NET Framerwork  ->  点击命名空间进行排序,名称一列选择  VideoSourcePlayer,确定即可。

问题2:定时器设定的时间为多少。

答:  为1000ms    

 1  private void timer1_Tick(object sender, EventArgs e)
 2         {
 3             // Interface
 4             IVideoSource videoSource = videoSourcePlayer.VideoSource;
 5             if (videoSource != null)
 6             {
 7                 statCount[statIndex] = videoSource.FramesReceived;
 8                 if (++statIndex >= statLength)
 9                     statIndex = 0;
10                 if (statReady < statLength)   
11                     statReady++;
12                 float fps = 0;
13                 for (int i = 0; i < statReady; i++)
14                 {
15                     fps += statCount[i];
16                 }
17                 fps /= statReady;
18                 statCount[statIndex] = 0;
19                 fpsLabel.Text = fps.ToString("F2") + " fps";
20             }
21         }       

这段代码是用来计算刷新的帧数,首先private int[] statCount = new int[statLength];  statLength=15,用来储存已经刷新的次数。

 fps /= statReady;这个用来求刷新的平均值 ,因为时间为一秒,所以得到的结果也就是标准的刷新频率。

问题3:?action=snapshot,?action=stream表示什么?

答:?action=snapshot返回的是一幅静态图片,?action=stream返回的才是连续的mjpeg流。

完整的代码大家可以从这个博客里阅读http://hi.baidu.com/lansessl/item/1e890df3e1dccf12d7ff8cab

原文地址:https://www.cnblogs.com/dreamfactory/p/2624889.html