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

11

我正在寻找最好的开源技术,以实现两个浏览器之间的双向音视频通信。
目前,我已经发现了以下几种选择:

是否有我遗漏的东西?
使用什么方案可以得到最佳解决方案?

此外(为了更精确),我想在使用Django/Python开发的应用程序中实现此功能。


我的猜测是这个问题太宽泛了。我看到你提到了可能与实现“两个浏览器之间的双向音视频通信”完全无关的技术,这取决于你选择的架构和想要满足的需求。例如,Erlang主要是服务器端技术,而HTML5是客户端技术。 - Samuel Rivas
是的,我希望通过调查大型(服务器或客户端技术)来引发回应,以找到可行的解决方案。 - Pierre de LESPINAY
1
@SamuelRivas:这个问题听起来很笼统,但是我觉得并不是。音视频通信是一个相当专业的领域,在这里可行的开源解决方案并不是很多;在浏览器中访问的解决方案甚至更少。服务器端技术很多,但有所不同。 - 9000
@Glide:我会把你的清单分成服务器端技术(这些很多)和基于浏览器的客户端技术(这些很少)。此外,我会从列表中删除太过笼统的东西,比如 Erlang;你可以列出许多不涉及 A/V 通信的不错语言。 - 9000
你对Erlang的说法是正确的,它已经被移除了。有些项目既是客户端又是服务器端,所以我不知道如何分离它们。无论如何,现在只剩下5个了,所以还是可以阅读的。请随意编辑。 - Pierre de LESPINAY
3个回答

3
最困难的问题是在客户端使用什么来捕捉和从用户的网络摄像头流视频。因此,你只有相对较少的选择,因为无论你使用什么,都必须得到现代浏览器的广泛支持,而你可以在自己的服务器上做任何想做的事情。
有三种常用方法可供选择:使用HTML5、使用现有的插件技术或创建自己的插件。
第三种可能是最困难的,我不建议这样做。您需要维护至少五个不同版本的插件(每个主要浏览器一个),用户必须安装它。
对于第二个选项,除了ActiveX已经过时之外,现在有三种主要的插件技术:Flash、Silverlight和Java applets。 我建议您避免Silverlight,因为它不太便携。
这让您的选择只剩下Flash、applets和HTML5。其中,Flash 是使用最广泛的——但它也有其劣势,世界正在远离它。 HTML5 是未来的发展趋势,尽管标准将在2014年才完成,但它预计不会改变(Last Call 在2011年5月),而且所有主要浏览器现在已经支持它的大部分内容——尽管显然还没有支持WebRTC API,但我相信它很快就会在Firefox和Chrome中出现。

0

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


1
这不是开源技术,对吧? - Pierre de LESPINAY

0

不幸的是,我们今天所处的现实情况是Flash。幸运的是,有haxe,这是一个用于Flash SWF格式的开源编译器。您可以使用它来制作各种各样的东西

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接