当前位置: 首页 > 编程语言 > C#

如何将网络摄像机流转为C#?Share

时间:2023-04-10 21:55:33 C#

如何将网络摄像头流转为C#?我使用AForge库制作了这个小程序,可以显示从网络摄像头到PictureBox的实时提要。私有FilterInfoCollectionVideoCaptureDevices;私人视频捕捉设备最终视频设备;privatevoidForm1_Load(objectsender,EventArgse){VideoCaptureDevices=newFilterInfoCollection(FilterCategory.VideoInputDevice);try{foreach(FilterInfoVidCapDevinVideoCaptureDevices){comboBox1.Items.Add(VidCapDev.Name);comboBox1.SelectedIndex=0;}FinalVideoDevice=newVideoCaptureDevice(VideoCaptureDevices[comboBox1.SelectedIndex].MonikerString);FinalVideoDevice.NewFrame+=newNewFrameEventHandler(FinalVideoDevice_NewFrame);FinalVideoDevice.Start();}catch{MessageBox.Show("未找到摄像头。请连接您的摄像头并点击重置。");}}///////////////////////////////////////////////////////////////////////////////////voidFinalVideoDevice_NewFrame(对象发送者,NewFrameEventArgse){尝试{pictureBox1.Image=(Bitmap)e.Frame.Clone();}catch{}}但我还需要从IP摄像头获取流量。任何想法什么是最好的方法?用来自同一个AForge.net的MJPEGStream解决了它:)MJPEGStreamstream=newMJPEGStream("http://192.168.2.5:8080/videofeed");stream.NewFrame+=newNewFrameEventHandler(video_NewFrame);流.开始();IP摄像机在Windows中没有特定的媒体接口/API,它们只是LAN上的设备。此外,有数百种模型不共享通用访问接口(甚至接近)。首先,您必须具体说明您感兴趣的型号。此外,一些供应商提供额外的“驱动程序”,将IP摄像机公开为多媒体设备,例如“IP摄像机的DirectShow驱动程序”。在大多数情况下,这些是特定于供应商的,不适用于其他相机。下一个机会是相机实现了众所周知的流媒体协议,在这种情况下,一些通用驱动程序也可以正常工作。或者,只要您是C#专家,就可以查看IP摄像机的HTTP/CGIAPI,并在代码中自己实现流式传输,通过HTTP/TCP/UDP连接与设备发送和接收数据。我曾经使用directShow.net库。它使您可以访问DirectShow的大多数功能,其中之一就是捕获。如果您可以在DirectShow中使用ip网络摄像头,那么您也可以在您的程序中使用它。和你一样的问题,这是我在c#中开发或自定义IP摄像机解决方案的最后一年项目。但是我浪费了时间浏览任何用C#编写的可以轻松访问ip摄像机流的代码,我很快找到了第3方Ozeekisdk。但是这个是试用版,一周后过期,也不能用。或者可能是Ozeeki想要反向链接到他们的站点。首先,你必须限制自己只能使用一台相机。就我而言,我有一个HIkvision网络摄像头。只需从此处下载海康威视摄像机设备网络SDK:http://www.hikvision.com/en/us/download_more.asp?id=1482来解压,在SDK文件夹下可以找到4个子文件夹。在“doc”文件夹中,您会找到“DeviceNetworkSDKProgrammingManual”,打开它并展开“ProgrammingGuideline”树。单击MainProcedureAPIReference或PreviewModuleProcedure。在这里你会找到所有的路线图,你需要采取什么步骤来调用函数来从相机获取实时流。所有函数的声明都在“BaseInterfaceDefinition”树中展开,一一阅读。游戏还没有结束,只是刚刚开始;具有所有功能的SDK是用C/C++非托管代码库编写的。并且不能在MangedC#项目解决方案引用中添加。所以你必须为所有这些包装器制作一个包装器,这些包装器从相机获取流并从C#调用它们。浏览文档手册,它们的功能是什么。在Twitter上关注我:https://twitter.com/CodingVampire祝你好运,C#学习教程就是这样:如何将IP摄像机流转换为C#?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: