Kurento Room 介绍

原创
2017/02/17 16:23
阅读数 1.1K

Kurento,努力为Web和智能手机平台的高级视频应用开发人员提供服务。 我们发现一个常见的用例是多方组呼叫,需要媒体服务器进行高级媒体处理。

这个项目介绍了Rooms API,专为开发会议应用程序而开发,其核心是Kurento Media Server。 会议组(会议室)将使用API进行管理,同时提供了通过Kurento Media Server实例互连终端用户的方法。

输入图片说明

API的核心模块,Room SDK,是服务器端的Java库,具有管理多会议会话的主要功能。

此外,我们还提供额外的组件,可用于开发符合上述架构的应用程序:

-Room Server:基于容器的服务器实现,使用JSON-RPC 之上的 WebSockets与客户端进行通信

-Room JavaScript客户端:实现Web应用程序的Room客户端的模块(仅与Room Server一起使用)

-Room Client:用于Java Web应用程序或Android客户端的客户端库(仅与Room Server一起使用)

Integration of the API components

Core API

核心模块定义的编程模型是使用Java语言开发的应用程序。 使用此库的一些好处:

  • 控制多媒体会议(房间)的生命周期
  • 管理参与者所需的典型操作(加入,退出,发布或接收媒体流等)
  • 简单的媒体信令,该应用只需要提供从客户端接收的媒体初始化和协商参数
  • 多媒体支路或服务拓扑被默认隐藏(媒体元素如图像过滤器仍然可以应用于参与者的流)
  • 此组件需要访问至少一个用于WebRTC介质处理的Kurento Media Server实例。

开发人员可以将这个API直接集成到他们的应用程序中,但重要的是要理解,这个库本身并不拥有与客户端通信的能力。 更多详细信息可以在核心API部分找到。

Other components

我们的服务器Room Server的实现,使用Spring Boot和JSON-RPC 之上的 WebSockets 等技术来封装Room SDK的功能。因此,它结合了客户端的通信组件和核心房间的API,提供一个完全成熟的房间服务器应用。 它可以轻松地集成到使用Spring Boot框架的应用程序中。

这两个客户端库都被设计为与Room Server结合使用,因为它们使用我们的服务器组件公开的JSON-RPC API。

Java客户端不处理媒体处理,而只通过Room Server支持的JSON-RPC协议定义了一个Java API。

另一方面,JavaScript客户端还控制浏览器的媒体初始化和协商细节,使开发人员能够专注于应用程序功能。

目前,没有iOS客户端可用。

请注意,服务器的WebSocket API有关于用户名的限制,它不能包含较低的破折号(_)。

Integration example

房间演示模块是基于房间服务器和房间JavaScript客户端的单页应用程序。 它使用户能够同时建立到连接到同一会话或房间的其他用户的多个连接。

即使核心模块是Room SDK,开发人员可以自由选择他们所需的任何组件,以便构建他们的应用程序:一些可能需要在客户端进行一些小的修改,而另一些人想要在服务器端注入他们的逻辑,且可能甚至要修改SDK。

例如,演示展示了如何将一些提供的组件与客户端技术AngularJS和服务器的一些小修改(为视频流和自定义消息类型添加图像过滤器)集成在一起。

我们提供了演示安装和执行的快速入门指南。

还有一个简短的开发人员指南,用于基于此API的应用程序。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部