2

我一直在寻找解决方案多年,但没有运气。我正在寻找的解决方案是从 IP 摄像机获取视频流。如果我可以在后端代码中立即获取视频帧(图像)会更好,因为该项目的下一阶段可能涉及一些图像处理。

作为我项目要求的一部分,我不想使用 Flash Player 来完成它。如果你能找到一种方法,我很高兴。

我已经尝试过 Microsoft 媒体平台 ( smf.codeplex.com ),虽然这是一个非常好的方法,但不幸的是,这个框架似乎并不完美,它抱怨说

“XML 命名空间‘clr-namespace:Microsoft.SilverlightMediaFramework.Core;assembly=Microsoft.SilverlightMediaFramework.Core’中不存在标签‘SMFPlayer’。”

在我输入“Core”后,我确实检查了这一点。会SMFPlayer自动弹出,但还是提示找不到。

我也尝试了 Silver Light,但它无法访问 IP 摄像机。

现在,在我看来,没有办法做到这一点。如果有人能告诉我这一点,我将不胜感激。

提前致谢。

PS:谁能给我一些现场摄像头的IP地址?我也一直在搜索它们,但没有找到任何一个。

4

2 回答 2

2

我在一家警报监控公司工作,所以我整天都在做这个。

第一个选项;大多数 IP 摄像机允许您通过简单地向 HTTP 或 RTSP 端口发送格式正确的请求来从摄像机请求静止图像。该请求的确切性质因相机而异,并且取决于相机的配置。您可以使用 AJAX 根据超时发出此请求并将生成的图像放在页面上,并且您可以在服务器端进行实际的检索调用以获取图像并在发送图像之前进行图像处理。但是,如果您走这条路,您的 FPS 将会受到影响。

下一个选项是 HTML5;新的<video>所有主要浏览器都支持标签(尽管只有 IE、Chrome 和 Safari 支持将它用于 MPEG)。您可以使用此标记,指向 IP 摄像机的 H.264 或 MPEG 流的查询字符串请求。这将为您提供尽可能多的可用帧(或通过网络管道发送的尽可能多的帧;这是大多数消费者 Internet 所关心的问题,而不是 LAN 所关心的)。支持此标签的浏览器将具有内置的视频播放器,并且不需要使用插件。服务器不再参与传输相机数据;服务器将浏览器指向摄像头,这意味着首先,如果您希望从任何支持 Internet 的设备访问摄像头,则该摄像头必须是公开可用的;其次,您的服务器将不会接收任何摄像头流,除非它要求他们独立,

于 2012-07-25T15:00:45.597 回答
0

我终于发现我使用了错误版本的 IIS Video Smooth Streaming dll。现在我决定采用这个解决方案。

谢谢大家的时间和想法:)

于 2012-08-03T02:43:57.633 回答