您是否在像 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 上实施实时通信解决方案的人,我这么说。不要这样做。