2013-01-21 64 views
1

我的问题是这样的......Web RTC without Web RTC

我有两个网站,一个充当“管理员”网站,另一个充当一般“用户”网站。我需要将“管理员”网站的现场音频广播到“用户”网站的所有客户端。我需要通过< 1秒的延迟来做到这一点。

一些限制包括:

  • 没有“用户”的机器上安装(的想法是,整个事情坐落在Web上)
  • 如果需要有一个第三方插件,然后Silverlight是首选*

任何帮助,在这里非常感谢

*我曾尝试具有Flash客户端的IceCast,IIS平滑流式处理,Internet广播,所有这些都给我们提供了大于5秒的延迟。

+0

有更多的因素涉及延迟,如网络,连接质量,可用带宽等。协议,服务器和客户端的选择只是另一个因素 –

+1

我很欣赏ruda,但已经在机器上测试了上述方法通过本地网络连接。这使我相信我需要完全重新思考我正在使用的技术。 – JBeagle

+0

这是很好的知道和相关!你应该把它添加到原来的问题! =) –

回答

1

你是否试过像Red5这样的服务器的Flash?你通常会得到亚秒级的延迟(尽管并不比这少),因为它是为实时通信而设计的。 Flex和ActionScript有一个学习曲线,但如果您完全熟悉XAML,则可以从Red5附带的示例应用程序中快速找到它。

如果没有太多的客户端,那么可以使用两种实时对等解决方案之一,即基于RTMFP的Flash或基于JSEP/ICE/RTP的WebRTC。如果你能确保所有的客户都使用Chrome,那么WebRTC可能是你最好的选择。如果您可以使用Chrome确保它们不是而不是,那么Flash就是一个不错的选择。 Chrome上的当前Flash Pepper客户端在处理音频时是buggy up the wazoo,并且没有任何修复迹象。 (它不支持回声消除功能,并且音频音量可怕地上升和下降。)因此,如果您使用的是Flash,请避开在Chrome上录制和播放音频。如果你有超过6个客户,我不会推荐这两种方法 - 我认为音频流的数量会很快压倒你的“管理”浏览器。最好把它推荐给Red5服务器。

由于更多的原因,Silverlight是一个不好的选择,因为我可以计数。我这样说是一个花了几年的时间试图在Silverlight上实现实时通信解决方案的人。不要这样做。