Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨平台开放库,用于C#/Silverlight/.NET音频/视频实时流媒体_C#_Silverlight_Libraries_Audio Streaming - Fatal编程技术网

跨平台开放库,用于C#/Silverlight/.NET音频/视频实时流媒体

跨平台开放库,用于C#/Silverlight/.NET音频/视频实时流媒体,c#,silverlight,libraries,audio-streaming,C#,Silverlight,Libraries,Audio Streaming,我正在寻找一个用于会议a/v流媒体到服务器的库,该服务器可以多播到所有其他客户端。我已经研究了SIP和openh323,它们似乎都太专门用于voip电话 我希望这个应用程序是一个跨平台的Silverlight应用程序(mac和windows),所以我认为我不能使用DirectSound,对吗 提前谢谢。你的问题中可能混合了苹果和橙子。DirectSound提供用于访问声卡的API;323和SIP是发出呼叫的标准 Silverlight 4本机提供了两个简化的API,大致相当于DirectSoun

我正在寻找一个用于会议a/v流媒体到服务器的库,该服务器可以多播到所有其他客户端。我已经研究了SIP和openh323,它们似乎都太专门用于voip电话

我希望这个应用程序是一个跨平台的Silverlight应用程序(mac和windows),所以我认为我不能使用DirectSound,对吗


提前谢谢。

你的问题中可能混合了苹果和橙子。DirectSound提供用于访问声卡的API;323和SIP是发出呼叫的标准

Silverlight 4本机提供了两个简化的API,大致相当于DirectSound,因此您可以访问麦克风、声卡和网络摄像头。有关详细信息,请参阅

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

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

或者,您可以尝试将各种开源解决方案移植到C#。我已经用Speex预处理器完成了这项工作:它很复杂,但不像你想象的那么困难。您可能会对openH323和各种基于C的编解码器进行类似的操作。您甚至可以尝试通过FluorineFx修改Silverlight RTMP实现(http://www.fluorinefx.com/)去做你需要做的事。当然,所有这些都不可能是简单的