2

我正在构建一个用于课堂环境的交互式语言学习应用程序。这个想法是,老师应该能够与学生交谈(=向所有学生发送音频流),让学生以两个或更多人为一组互相交谈(=音频 P2P),让学生观看来自DVD 播放器或来自媒体服务器。应该可以保存音频/视频流。教师还应该能够监控、接管或阻止学生的桌面。该平台是 Windows,它是一个桌面应用程序,没有 Web 应用程序。音频延迟应该尽可能小。可选地,应该支持坐在家里的学生,但这不是一个高优先级。

我现在已经完成了应用程序的教室控制部分(登录、监控、阻止,...),并且想要启动音频和视频部分。我一直在评估 DirectX、GStreamer 和 SIP 等几个选项,但现在我必须做出决定。

DirectX 似乎是 Windows 平台的明显选择,但它只允许我捕获和播放音频和视频。编码/解码/网络部分我应该自己做。

GStreamer 包含用于捕获/编码/流式传输/保存音频和视频流的各种选项。我已经对它进行了一些试验(ossbuild),它似乎需要大量的试验和错误才能使某些东西起作用: - 麦克风捕获(通过 directsoundsrc)在某些计算机上产生破裂的噪音 - rtpL16 有效载荷运行不佳 -通过网络流式传输原始音频仅以 8000 的采样率工作,不高于 - 在某些计算机上接收 mpeg4 视频(坏 I 帧)时有很多错误比其他计算机更糟糕 我的印象是 gstreamer 是主要目标在 linux 平台上。对 Windows 平台的开发和支持似乎有点落后。然而,它是一个强大的框架,可以为我节省数月和数年的工作。

SIP 似乎可以做任何我想做的事情,但它是针对电话和 IM 的。我不知道 SIP 有多灵活。在我看来,SIP 层只是开销,因为我已经有一个可以控制和设置所有流的中央(教师)应用程序。opalvoip 和 freeswitch 等框架的有趣部分是实际的音频/视频捕获、编码和传输。有谁知道这些有趣的部分如何与像 gstreamer 这样的框架相关联?它们是否易于集成到自定义应用程序中?它们是否足够灵活?

有没有人对所有这些技术或其中一种技术有经验?也许我还有其他选择?

非常感谢您的建议

4

2 回答 2

0

You have quite few options which might work well for you. First you may use Media Foundation http://msdn.microsoft.com/en-us/library/ms697062%28v=VS.85%29.aspx this links some top level introduction. You get API to manage source decoders and transcoders. It provides abstracted as well as low level interface to meet the need. Other option is to use WPF mediaelement, this link give some pointer on how to use it http://www.silverlightshow.net/items/Two-Great-WPF-Video-Samples-Online.aspx. You may also want to review out of browser feature of Silverlight 5 http://www.microsoft.com/silverlight/future/ its currently in beta and expected to be available 2H 2011

于 2010-12-28T08:51:19.660 回答
0

您是否考虑过为Big Blue Button项目做出贡献?

于 2011-02-07T19:18:47.953 回答