你好,我是新学习的WebRTC,我有点困惑,我明白WebRTC的工作点对点,但我们需要信号,SimpleWebRTC,EasyRTC和Kurento可以帮助做到这一点,为什么我们需要它们,如果node.js可以做它?如果他们不是为了信号,那么它们究竟是什么?前端?后端?他们之间有什么区别?谢谢!SimpleWebRTC,EasyRTC和Kurento ..有什么区别?
回答
Kurento: 即使webRTC是点对点的,有时您需要更多的媒体控制。在kurento中,所有流量都通过Kurento Media Server(您可以在其中执行记录媒体或添加效果等操作)。要使用Kurento必须安装Kurento媒体服务器和前端你必须使用Kurento的Java脚本库
SimpleWebRTC: 这不用于信令。这是一个用于webRTC的前端java脚本库。为了做simpleWebRTC的信令,你必须建立一个单独的信令服务器(或者你可以使用现有的信号服务器,如signalmaster)。
他们都是信号(主要)。对于那些不想深入研究所有这些仍处于积极发展阶段的WebRTC来说,因此,如果您不想进入WebRTC,但希望专注于您的项目的更重要功能,那么其中一个框架/库就是您的解决方案。
如果您认为自己擅长WebRTC,那么您不需要第三方框架。
从我个人的角度来看:
- 使用第三方框架是不是一个好的选择,因为 3 - 帕蒂信令服务器是加上可能存在的问题 与您的项目一个点, - 因为您依赖于第三方服务器(其 API,延迟,网络问题等)
- 所有提到的框架/库都不太灵活。由于WebRTC在 下有效开发,并且仍然没有标准(RFC),因此许多WebRTC功能可能仅作为“肮脏的黑客”(如高质量立体声音频广播)实现 - 并且通常没有解决方案 通过使用上述框架来实现这一目标。
所以,如果你需要一个简单的WebRTC视频聊天 - 使用上述库的可能是一个很好的解决方案。另一方面,如果你打算在你的项目中大量使用WebRTC--可能最好的选择是只依靠你自己的代码库。
,但要注意这样做的成本。我在过去的三年中为simplewebrtc添加了许多解决方法来处理浏览器故障。 –
所以他们就像Django和Flask for Python一样,对吧?顺便说一句,你有什么想法xirsys.com是什么?它是STUN和TURN的提供者吗?或究竟是什么?我仍然对所有这些概念感到困惑。非常感谢你 –
@Hassen是的,xirsys提供了turn/stun服务器。 STUN可以毫不费力地安装在您自己的托管服务器上。 TURN也可以很容易地安装在自己的服务器上,但需要更多的努力。所以,对于那些不想深入WebRTC的人来说,这又是一次。 – fycth
Kurento是一个媒体服务器,而不是一个信令服务器。信号不是项目范围的一部分,虽然教程使用了一些可能会给你一个想法的信号。 – igracia
@igracia是否意味着我们必须在使用kurento时编写我们自己的信号机制? –
是的,这是正确的。这也意味着你可以将它插入已有的信号中,无论是你熟悉的解决方案,SIP还是别的。 – igracia