我正在研究一个项目,他们希望将来自多个摄像头的输入流式传输到中央服务器。摄像机正在观察生产工厂,我们需要能够向操作员(工厂外部的潜力)生成警报(短信/邮件),以便快速连接到摄像机并查看问题。
用户应该能够选择摄像头,并从所选摄像头获得实时视频流。 最终用户可以使用PC(即浏览器+ silverlight)智能手机(android,iphone,wp7)或pad(android,ipad,win8)
我还需要将视频流(pr camera)存储一段可配置的时间用于“按需播放”
我希望Windows Azure + IIS Smooth Streaming + Expression Encoder 4.0 API可以用来解决这个问题。
我想知道我是否在这里以正确的方式思考,或者我们是否应该选择其他解决方案..
以下是一些博客文章,介绍如何在Azure中使用Expression Encoder,但我还没有看到任何有关直播的内容。
想法?
答案 0 :(得分:0)
虽然技术上可行,但我觉得所涉及的带宽和存储成本会使在云中进行此类应用的转码变得不经济。
我建议更好的方法是在现场服务器上本地编码视频流,然后将它们直接从此内部部署服务器流式传输到客户端浏览器。
您需要进行数学计算:一方面考虑Azure中带宽和计算资源的成本,另一方面考虑现场服务器的成本(以及它的护理和喂养)。
如果您对按需播放的要求涵盖了无法访问制造网站的情况,那么将历史视频存储在Azure中的Blob存储中可能是明智的。 Azure的入站数据流量是免费的,因此您只需支付来自内部部署服务器的出站数据流量;如果视频已被转码为合理的格式,这不应该太贵。
答案 1 :(得分:0)
Heisann,Ronny :)一种方式(没有中央服务器 - 分离的客户端)使用Azure Service Bus中继在客户端之间进行握手,然后通过Azure Service Bus直接在客户端之间流式传输视频。但我认为如果不自行添加它,您将不会以这种方式获得自适应流式传输。另外,我认为有16个客户限制?