两个浏览器之间的音频/视频直播,哪些技术



我正在寻找最好的开源技术来实现两个浏览器之间的双向音频/视频通信。
现在我发现了这些痕迹:

  • webbrtc W3C规范和一个爱立信的实现
  • Red5和BigBlueButton实现为例
  • 积云A的Red5实现卷云
  • HTML5和他的许多新功能(但不是在2014-2015之前显然)
  • 可能是一些Jabber/Speex的实现,我错过了

我错过了什么吗?
最好的解决方案是什么?

也(更准确地说),我想在我使用Django/Python开发的应用程序中实现此功能。

最难的问题是您应该在客户端使用什么来从用户的网络摄像头捕获和传输视频。因此,您的选择相对较少,因为无论您使用什么,都必须得到现代浏览器的广泛支持,而您可以在自己的服务器上做任何您想做的事情。

你可以采用三种方法:使用HTML5,使用现有的插件技术,或者创建自己的插件。

第三种可能是最困难的,我不推荐它。你需要维护至少五个不同版本的插件(每个主要浏览器一个),用户必须安装它。

对于第二个选项,现在有三种主要的插件技术,因为ActiveX已经死了:Flash, Silverlight和Java applet。我建议你不要使用Silverlight,因为它不是很便携。

这样你就只能选择Flash、applet和HTML5了。其中,Flash是使用最广泛的,但它也有缺点,而且世界正在远离它。HTML5是未来的潮流,尽管该标准要到2014年才会完成,但预计不会改变(Last Call是在2011年5月发布的),主流浏览器已经支持了它的大部分内容——尽管显然还没有支持WebRTC API,但我相信它很快就会支持Firefox和Chrome。

您是否正在尝试构建类似Chatroulette的东西?它们支持双向视频流和麦克风。他们使用Flash Player 10的点对点功能和Wowza Media Server来支持他们的网站。

不幸的是,我们今天所处的现实答案是Flash。幸运的是,有haxe,一个用于Flash SWF格式的开源编译器。你可以用它来做各种各样的东西。

链接示例中的服务器是用haxe(基本上是AS3)编写的,并编译为NekoVM(一个apache模块)的指令,但如果没有别的,它应该提供一个很好的示例。

最新更新