我一直在寻找解决方案,但没有运气。 我正在寻找的解决方案是从IP摄像头获取视频流。 如果我能在后端代码中立即获得视频帧(图像),那就更好了,因为这个项目的下一个阶段可能涉及一些图像处理。
作为我项目中要求的一部分,我不想使用Flash播放器来完成它。 如果你能找到一种方法,我很高兴。
我尝试过微软媒体平台(smf.codeplex.com),虽然这是一个非常好的方法,但不幸的是,这个框架似乎并不完美,它抱怨说
“XML命名空间'clr-namespace中不存在标记'SMFPlayer':Microsoft.SilverlightMediaFramework.Core; assembly = Microsoft.SilverlightMediaFramework.Core'。”
我输入“Core”后检查过。 SMFPlayer
会自动弹出,但仍然抱怨无法找到它。
我也试过Silver Light,但它无法访问IP摄像头。
现在,在我看来,没有办法做到这一点。 如果有人能让我了解这一点,我将不胜感激。
提前致谢。
PS:有人可以请我提供一些现场摄像头IP地址吗?我一直在搜索它们,但没找到任何一个。
答案 0 :(得分:0)
我在一家报警监控公司工作,所以我整天都这样做。
第一选择;大多数IP摄像机允许您通过向HTTP或RTSP端口发送格式正确的请求来从摄像机请求静止图像。该请求的确切性质因相机而异,并且基于相机的配置。您可以使用AJAX根据超时发出此请求并将生成的图像放在页面上,您可以在服务器端进行实际检索调用以获取图像并在发送之前进行图像处理。但是,如果你走这条路,你的FPS会受到影响。
下一个选项是HTML5;所有主流浏览器都支持新的<video>
标记(尽管只有IE,Chrome和Safari支持将其用于MPEG)。您可以使用此标记,指向针对IP摄像机的H.264或MPEG流的查询字符串请求。这将为您提供尽可能多的帧(或者可以通过网络管道发送的帧数;这是大多数消费者互联网的关注点,而不是LAN的关注点)。支持此标记的浏览器将具有内置视频播放器,并且不需要使用插件。服务器不再参与传输摄像机数据;服务器将浏览器指向摄像头,这意味着如果您希望从任何支持Internet的设备访问摄像头,则首先必须公开使用摄像头,其次,除非服务器要求,否则您的服务器将不会接收任何摄像头流它们是独立的,因此图像处理仅限于您在浏览器中可以执行的操作(几乎没有)。
答案 1 :(得分:0)
我终于弄清楚我使用了错误版本的IIS Video smooth dll流畅的dll。 现在我决定采用这种解决方案。
感谢大家的时间和想法:)