【问题标题】:cross-platform, open libraries for C#/Silverlight/.NET audio/video real time streaming用于 C#/Silverlight/.NET 音频/视频实时流的跨平台开放库
【发布时间】:2011-06-15 10:04:04
【问题描述】:

我正在寻找一个用于将会议 a/v 流式传输到服务器的库,该库将多播到所有其他客户端。我看过 SIP 和 openh323,对于 voip 电话来说,两者似乎都太专业了。

我希望应用程序是跨平台 Silverlight 应用程序(mac 和 windows),所以我不认为我可以使用 DirectSound,对吧?

提前致谢。

【问题讨论】:

    标签: c# silverlight libraries audio-streaming


    【解决方案1】:

    您的问题可能混合了苹果和橙子。 DirectSound 提供了访问声卡的 API; H.323 和 SIP 是拨打电话的标准。

    Silverlight 4 原生提供了几个与 DirectSound 大致相当的简化 API,以便您可以访问麦克风、声卡和网络摄像头。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ff602282(VS.95).aspx

    但是一旦你得到了声音,你仍然需要对其进行编码、传输、混合、分发,然后接收。这就是它变得复杂的地方。 Flash 本机支持所有这些; Silverlight 没有。目前最好的开源实现是由 SocketCoder 整合的,可在 CodePlex 上获得,但它使用专有的信号/流协议、专有且效率非常低的视频编解码器和专有媒体服务器。

    据我所知,在 Silverlight 中做您想做的事情的最佳选择是 StreamCoders 提供的闭源解决方案。它不是开源的,但它支持一套合理的开放标准,这意味着您可能能够使用第三方开源媒体服务器。当然,您需要进行测试以确保它是您所需要的。

    或者,您可以尝试将任何各种开源解决方案移植到 C#。我用 Speex 预处理器完成了这个:它很复杂,但没有你想象的那么难。您大概可以使用 openH323 和现有的各种基于 C 的编解码器做类似的事情。您甚至可以尝试修改 FluorineFx (http://www.fluorinefx.com/) 的 Silverlight RTMP 实现来做您需要做的事情。当然,这一切都不是一件简单的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 2014-08-02
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2011-09-16
      • 2023-03-14
      相关资源
      最近更新 更多