Java 开发人员无法使用 Kurento 的哪些功能 Javascript 开发人员?

Which Kurento's features for Java developers are not available to Javascript developers?

前段时间我尝试过 Kurento,之后参与了其他一些非 webRTC 项目。我正在重新开始。我曾尝试过 Kurento JS API,当时它似乎工作正常。最近我正在浏览 FAQ 并遇到了这个:

========================常见问题解答开始================== ============

我可以从 Java 以外的其他服务器端平台使用 Kurento(例如... PHP、Python、Perl、Ruby , C#等)?

简答:还没有。长答案:您只能访问 Kurento 提供的部分内容。说明:Kurento 媒体服务器 (KMS) 是核心多媒体功能所在的地方。 KMS 是用 C/C++ 编写的,并公开了一个 Thrift 接口,可以从任何支持 Thrift 的语言使用它(单击此处获取列表)。因此,可以从大多数常见语言访问 KMS 功能(即媒体发送、接收、处理、存储等),包括上述问题中指定的语言。然而,创建多媒体应用程序需要的不仅仅是原始媒体功能。例如,您可能需要一种信令机制来协商交换媒体的方式、时间和内容,您可能需要执行特定的逻辑 before/during/after 媒体交换(例如...身份验证、资源分配、资源释放等。 ) 所有这些高级功能都已作为 Kurento 媒体框架 (KMF) 的一部分实现,目前只能在 Java EE 环境中使用。通过一些努力,可以用其他编程语言创建和等效于 KMF API,但这不在我们当前的中期路线图中。

========================常见问题解答结束================== ============

FAQ 声明似乎与 Kurento 手册相矛盾。我在手册本身中没有看到任何支持上述常见问题解答的内容。还是我错过了什么?

问题:

恐怕这个文档已经过时了(至少那部分)因为我们不再使用 Thrift 接口了(我猜是从几年前开始的)。

Java和Java脚本库可以访问媒体服务器的相同功能,不同之处在于辅助库(例如,websocket管理和重新连接),但是Kurento媒体服务器API 两者都可以完全访问。

FAQ 中的那个 Q 有点过时了。该项目两年多前就停止使用 thrift 了!目前,媒体服务器提供了一个可用于控制 KMS 的 websocket 连接。信令协议是JSON-RPC-based protocol。这意味着无论您使用什么语言,如果您可以连接到 websocket 并通过它推送一些字符串,您就可以控制媒体服务器。

然而,为了方便和商品,该项目在 Java 和 JavaScript 中提供了此协议的实现,因此您可以创建不同的应用程序:JavaScript 浏览器客户端,Java 服务器应用程序或 Node.js 服务器应用程序。 official github repository.

中有这些应用程序的示例

有其他语言的实现,但不由 Kurento 团队维护。