文档章节

Kurento Room 介绍

chapin
 chapin
发布于 2017/02/17 16:23
字数 987
阅读 96
收藏 0
点赞 0
评论 0

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的应用程序。

© 著作权归作者所有

共有 人打赏支持
chapin
粉丝 18
博文 83
码字总数 102961
作品 0
成都
程序员
Kurento应用开发指南(以Kurento 5.0为模板) 目录

Kurento是什么 3 Kurento简介 3 2.1 WebRTC媒体服务器 3 2.2 Kurento 媒体服务器 4 2.3 Kurento API, 客户端和协议 5 2.4 使用Kurento创建应用程序 7 Kurento Media Server的安装与卸载 8 3....

小马_wolf ⋅ 2016/07/14 ⋅ 0

Kurento应用开发指南(以Kurento 5.0为模板) 之三:示例教程 一对多的视频呼叫

5.2 教程3一对多的视频呼叫 这个示例页面应用程序使用WebRTC技术实现了一对多的视频呼叫。换句话说,它是一个基于页面的视频广播应用。 5.2.1 运行示例程序 运行这个DEMO之前,需要先安装 Ku...

小马_wolf ⋅ 2016/07/14 ⋅ 0

Kurento应用开发指南(以Kurento 5.0为模板) 之一:简介,安装与卸载

Kurento是什么 Kurento是一个WebRTC媒体服务器,并且包含一个客户端API集合, 用以简化WWW和移动平台上的高级视频应用程序的开发。 Kurento的功能包括组通信,转码,记录,混音,广播和routi...

小马_wolf ⋅ 2016/07/14 ⋅ 0

Kurento应用开发指南(以Kurento 5.0为模板) 之二:示例教程helloworld

Kurento教程 这部分包含了如何使用Kurento框架的教程,以创建不同类型WebRTC和多媒体应用。 教程包含下面三个方面: ? Java: These show applications where clients interact with an applic...

小马_wolf ⋅ 2016/07/14 ⋅ 0

kurento学习进阶一(源码库依赖关系)

Developer Guide¶ This section is a comprehensive guide for development of Kurento itself. The intended reader of this text is any person who wants to get involved in writing c......

liuweihui521 ⋅ 04/13 ⋅ 0

Kurento应用开发指南(以Kurento 5.0为模板) 之四:示例教程 一对一视频呼叫

5.3 教程四-一对一的视频呼叫 这个页面应用程序使用WebRTC技术实现了一个一对一的呼叫,换言话说,这个应用提供了一个简单的视频电话 5.3.1 运行示例程序 运行这个DEMO之前,你需要先安装Kur...

小马_wolf ⋅ 2016/07/14 ⋅ 0

Kurento应用开发指南(以Kurento 5.0为模板) 之五:kurento架构

Kurento 架构 和大多数的媒体通信技术一样,Kurento把所有的交互通信系统的关键功能抽象成两层(或平台): ?信令平台 系统中负责通信管理的部分,它的组成模块提供的功能有媒体协商,QoS参数协...

小马_wolf ⋅ 2016/07/14 ⋅ 0

kurento开发android视频客户端

最近在搞kurento,流媒体服务。现在基于kurento进行开发,实现ios,android,web视频通话。目前web版本,ios版本都已开发完成,正常使用。但是android版本遇到问题,基于 google最 新的webrtc ...

wangjie142 ⋅ 2016/08/19 ⋅ 1

我所了解的webRTC是怎样的一种技术

通过浏览器对视频进行快速、安全的传输不用借助任何第三方平台应用可以实现吗 根据你的需求,不止一种方式可以在你的网站里添加WebRTC WebRTC(Web Real-Time Communication)是一项开源技术...

丁永 ⋅ 2016/01/18 ⋅ 2

WebRTC流媒体服务器--Kurento

Kurento 是一个 WebRTC 流媒体服务器以及一些客户端API,有了它,开发WWW及智能手机平台的高级视频应用就变得更加容易。可以利用Kurento开发的应用类型包括,视频会议,音视频广播,音视频录...

dqzhangp ⋅ 2014/11/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 25分钟前 ⋅ 0

Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明。 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个...

honeymose ⋅ 30分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 41分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 46分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 48分钟前 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 54分钟前 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 57分钟前 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 57分钟前 ⋅ 0

only_full_group_by

我的mysql是在CentOS7.1下面的5.7.17 在 /etc/my.cnf 文件里加上如下: sql_mode='NO_ENGINE_SUBSTITUTION' 然后,重启Mysql服务 systemctl restart mysqld...

SunHacker ⋅ 今天 ⋅ 0

实际项目(SpringBoot项目)中集成Druid

参考网页 https://blog.csdn.net/liuchuanhong1/article/details/55050131 https://blog.csdn.net/CoffeeAndIce/article/details/78707819 https://www.pocketdigi.com/20170530/1577.html 为......

karma123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部