Webrtc移动端Kurento客户端

5
我希望建立一个移动应用程序,其中一个参与用户可以向其他参与者广播音频和视频,并记录会话。我知道可以使用MCU实现这一点,并对Kurento进行了大量研究。尽管我阅读了很多关于Kurento的内容,但我仍然不知道如何在iOS和Android上实现Kurento客户端。
为了实现kurento客户端应用程序,我应该采取哪些步骤呢?
例如,我可以使用http://www.webrtc.org/上提供的实现吗?

1
你打算使用一个信令服务器来保持会话并注册新客户端吗?答案取决于这个;-) - igracia
@igracia 感谢您的回复。是的,我计划使用一个信令服务器来保持会话并注册新客户端。出于好奇,不使用信令服务器有哪些优缺点?期待您的回复。 - PU2014
2
你可以添加身份验证、授权和计费,建立用户注册表以便他们之间进行通信(不仅限于视频,还包括消息传递)……正如lulop所说,这就像一个标准的WWW应用程序。这取决于你想要创建什么类型的应用程序,在你的情况下一定要使用信令服务器。 - igracia
1个回答

12
创建WebRTC应用程序与创建标准WWW应用程序并没有太大的区别。通常,像您所描述的这样一个WebRTC应用程序需要有三个层次:客户端层,应用服务器层和媒体服务器层。
对于您的特定需求,Kurento Media Server可以为您提供媒体服务器层(您将能够通过MCU和SFU模型记录和提供群组通信)。但是,Kurento Media Server不会为您提供其他两个层次。
当在媒体服务器层使用Kurento Media Server时,如果您以Java或JavaScript技术为基础,则应用服务器层会变得更加简化。这是因为Kurento为Java和JavaScript提供了Kurento Client APIs(控制KMS功能的APIs)。因此,您可以像创建标准WWW应用程序一样创建应用程序逻辑,唯一的区别是,您将使用Kurento Client API来访问媒体服务器功能,而不是像WWW应用程序中通常发生的那样使用API来访问DD.BB.
对于客户端(这直接回答了你的问题),您可以使用与WebRTC标准兼容的任何客户端技术。这意味着Kurento Media Server不会假定客户端平台除了支持WebRTC标准之外的任何内容。因此,如果您的应用程序在WWW浏览器上正常工作,则也应在支持WebRTC的智能手机本机应用程序上正常工作。您不需要在客户端设备上支持Kurento Client API。 Kurento Client API仅需要在应用程序服务器层使用。
总的来说,在实际角度看,为您的服务创建本机智能手机客户端应用程序的最佳选择是使用现有的WebRTC堆栈之一。特别是,您可以使用www.webrtc.org堆栈(Google的堆栈)或www.openwebrtc.io堆栈(Ericsson的堆栈)。您应该将它们编译并补充您想要与应用程序服务器进行互操作的信令功能。

只使用你们提出的两种选择而不使用 Kurento 的唯一原因是它们比 Kurento 更轻量化,并且需要在移动平台上运行,这样说是否正确?Kurento 不能作为完整的 WebRTC 堆栈运行吗?它甚至可以为 Kurento 端点生成 SDP。我只是阅读了关于这些技术的文章,所以想为一个类似的项目得到一些澄清,在开始下载和尝试之前。 - Sunny

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