1

我的问题是这个...

我有两个站点,一个充当“管理员”站点,另一个充当一般“用户”站点。我需要从“管理”站点向“用户”站点的所有客户端广播实时音频。我需要以 <1 秒的延迟执行此操作。

一些限制包括:

  • 没有在“用户”机器上安装(整个想法都在网络上)
  • 如果需要 3rd 方插件,则首选 Silverlight *

在这里非常感谢任何帮助

*我已经尝试过使用 Flash 客户端、IIS Smooth Streaming、Internet radio 的 IceCast,所有这些都给我们带来了 >5 秒的延迟。

4

1 回答 1

1

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

如果没有太多客户端,您可以使用两种实时点对点解决方案之一,即基于 RTMFP 的 Flash 或基于 JSEP/ICE/RTP 的 WebRTC。如果您可以确保所有客户端都使用 Chrome,那么 WebRTC 可能是您最好的选择。如果您可以确保他们没有使用 Chrome,那么 Flash 是一个不错的选择。Chrome 上当前的 Flash Pepper 客户端与 wazoo 相比有问题在音频处理方面,并没有看到修复的迹象。(它不支持回声消除,并且音频的音量会非常大地上下波动。)因此,如果您使用的是 Flash,请避免在 Chrome 上录制和广播您的音频。如果您有超过六个客户端,我不会推荐任何一种方法 - 我认为音频流的数量会很快淹没您的“管理员”浏览器。最好将其推送到 Red5 服务器之类的东西上。

Silverlight 是一个糟糕的选择,原因比我想象的要多。作为一个花了几年时间尝试在 Silverlight 上实施实时通信解决方案的人,我这么说。不要这样做。

于 2013-01-22T04:31:59.667 回答