我想构建一个移动应用程序,其中一个参与用户可以向其他参与者广播音频和视频并记录会话。我知道使用 MCU 可以做到这一点,并专门对 Kurento 进行了大量研究。虽然我读了很多关于 kurento 的文章,但我在如何在 IOS 和 Android 上实现 Kurento 客户端时遇到了麻烦。
为了实现 kurento 客户端应用程序,我应该采取哪些步骤?
例如,我可以使用http://www.webrtc.org/上提供的实现吗?
我想构建一个移动应用程序,其中一个参与用户可以向其他参与者广播音频和视频并记录会话。我知道使用 MCU 可以做到这一点,并专门对 Kurento 进行了大量研究。虽然我读了很多关于 kurento 的文章,但我在如何在 IOS 和 Android 上实现 Kurento 客户端时遇到了麻烦。
为了实现 kurento 客户端应用程序,我应该采取哪些步骤?
例如,我可以使用http://www.webrtc.org/上提供的实现吗?
创建 WebRTC 应用程序与创建标准 WWW 应用程序没有太大区别。通常,像您所描述的 WebRTC 应用程序需要具有 3 层:客户端层、应用程序服务器层和媒体服务器层。
对于您的特定需求,Kurento 媒体服务器可以为您提供媒体服务器层(您将能够通过 MCU 和 SFU 模型记录并提供群组通信)但是,Kurento 媒体服务器不为您提供其他两层。
在媒体服务器层使用 Kurento 媒体服务器时,如果您基于 Java 或 JavaScript 技术,应用服务器层将得到简化。这是因为 Kurento 为 Java 和 JavaScript 现成的提供了 Kurento 客户端 API(控制 KMS 功能的 API)。因此,您可以像在标准 WWW 应用程序中一样创建应用程序逻辑,唯一的区别是它不是使用 API 来访问 DD.BB。(通常发生在 WWW 应用程序中)您将使用 Kurento 客户端 API 来访问媒体服务器功能。
对于客户端(这直接指向您的问题),您可以使用任何与 WebRTC 标准兼容的客户端技术。这意味着 Kurento 媒体服务器除了对 WebRTC 标准的支持外,不对客户端平台做任何假设。因此,如果您的应用程序在 WWW 浏览器上正常工作,它也应该在支持 WebRTC 的 Smarphone 本地应用程序上正常工作。您不需要在客户端设备上支持 Kurento Client API。Kurento Client API 只需要在应用服务器层使用。
结束本次讨论,从实际的角度来看,为您的服务创建原生智能手机客户端应用程序的最佳选择是使用其中一个可用的 WebRTC 堆栈。特别是,您可以使用www.webrtc.org堆栈(Google 的一种)或www.openwebrtc.io堆栈(Ericsson 的一种)。您应该编译它们并用您希望与应用程序服务器进行互操作的信号功能来补充它们。