2016-08-02 104 views
3

你好,我是新学习的WebRTC,我有点困惑,我明白WebRTC的工作点对点,但我们需要信号,SimpleWebRTC,EasyRTC和Kurento可以帮助做到这一点,为什么我们需要它们,如果node.js可以做它?如果他们不是为了信号,那么它们究竟是什么?前端?后端?他们之间有什么区别?谢谢!SimpleWebRTC,EasyRTC和Kurento ..有什么区别?

+1

Kurento是一个媒体服务器,而不是一个信令服务器。信号不是项目范围的一部分,虽然教程使用了一些可能会给你一个想法的信号。 – igracia

+0

@igracia是否意味着我们必须在使用kurento时编写我们自己的信号机制? –

+1

是的,这是正确的。这也意味着你可以将它插入已有的信号中,无论是你熟悉的解决方案,SIP还是别的。 – igracia

回答

6

Kurento: 即使webRTC是点对点的,有时您需要更多的媒体控制。在kurento中,所有流量都通过Kurento Media Server(您可以在其中执行记录媒体或添加效果等操作)。要使用Kurento必须安装Kurento媒体服务器和前端你必须使用Kurento的Java脚本库

SimpleWebRTC: 这不用于信令。这是一个用于webRTC的前端java脚本库。为了做simpleWebRTC的信令,你必须建立一个单独的信令服务器(或者你可以使用现有的信号服务器,如signalmaster)。

2

他们都是信号(主要)。对于那些不想深入研究所有这些仍处于积极发展阶段的WebRTC来说,因此,如果您不想进入WebRTC,但希望专注于您的项目的更重要功能,那么其​​中一个框架/库就是您的解决方案。

如果您认为自己擅长WebRTC,那么您不需要第三方框架。

从我个人的角度来看:

  • 使用第三方框架是不是一个好的选择,因为 3 - 帕蒂信令服务器是加上可能存在的问题 与您的项目一个点, - 因为您依赖于第三方服务器(其 API,延迟,网络问题等)
  • 所有提到的框架/库都不太灵活。由于WebRTC在 下有效开发,并且仍然没有标准(RFC),因此许多WebRTC功能可能仅作为“肮脏的黑客”(如高质量立体声音频广播)实现 - 并且通常没有解决方案 通过使用上述框架来实现这一目标。

所以,如果你需要一个简单的WebRTC视频聊天 - 使用上述库的可能是一个很好的解决方案。另一方面,如果你打算在你的项目中大量使用WebRTC--可能最好的选择是只依靠你自己的代码库。

+1

,但要注意这样做的成本。我在过去的三年中为simplewebrtc添加了许多解决方法来处理浏览器故障。 –

+0

所以他们就像Django和Flask for Python一样,对吧?顺便说一句,你有什么想法xirsys.com是什么?它是STUN和TURN的提供者吗?或究竟是什么?我仍然对所有这些概念感到困惑。非常感谢你 –

+0

@Hassen是的,xirsys提供了turn/stun服务器。 STUN可以毫不费力地安装在您自己的托管服务器上。 TURN也可以很容易地安装在自己的服务器上,但需要更多的努力。所以,对于那些不想深入WebRTC的人来说,这又是一次。 – fycth