文档章节

Kurento Room快速入门

chapin
 chapin
发布于 2017/02/17 16:39
字数 688
阅读 59
收藏 1
点赞 0
评论 0

为了与框架快速初始连接,我们建议运行演示应用程序并观察客户端和服务器之间的WebSocket消息交换。

目前,该演示仅支持Ubuntu 14.04 LTS 64位。

功能

这个名为 kurento-room-demo 的项目包含Rooms API的客户端实现(HTML,JavaScript,图形资源),并嵌入房间服务器以提供群组通信所需的功能(所谓的房间)。

SpringBoot框架,它启动kurento-room-server模块的主要应用程序,通过WebSocket接口公开房间API。

客户端部分已经使用AngularJS和lumX实现,客户端主要使用room的JavaScript库(KurentoRoom.js)。

此应用程序允许Web客户端:

  • 登录一个房间(创建房间,如果它不存在)
  • 离开这个房间
  • 发布其媒体流
  • 静音他们的视频和/或音频
  • 进入全屏
  • 自动订阅在房间中发布的任何流,并在屏幕上播放(视频)和通过系统扬声器(音频)
  • 取消订阅流
  • 取消发布媒体
  • 向其他对等体发送消息
  • 在其发布的视频流上应用或移除媒体过滤器(使用在识别的人脸上添加帽子的面部覆盖过滤器)
  • 从可用的缩略图中选择要在浏览器的较大区域中显示的视频源

运行Demo

git clone 教程后,可以使用Maven exec插件直接从终端执行。 为了确保演示可以正确构建和执行,在继续构建之前先checkout出一个稳定的发行版(或标签)(防止丢失依赖项,因为Kurento master是开发分支):

$ git clone https://github.com/Kurento/kurento-room.git
$ cd kurento-room
# checkout the latest tag
$ git checkout $(git describe --abbrev=0 --tags)
$ cd kurento-room-demo
$ mvn compile exec:java

现在在WebRTC兼容的浏览器中打开以下URL,并通过提供所需的用户名和房间名称连接到新房间:https://localhost:8443。

修改demo的配置文件

有几个选项或属性可能需要修改,以使演示正常运行。

修改上述演示的执行中使用的属性文件kurento-room-demo.conf.json,位于文件夹src/main/resources中,其内容如下:

{
   "kms": {
      "uris": ["ws://localhost:8888/kurento", "ws://127.0.0.1:8888/kurento"]
   },
   "app": {
      "uri": "https://localhost:8443/"
   },
   "kurento": {
      "client": {
         //milliseconds
         "requestTimeout": 20000
      }
   },
   "demo": {
      //mario-wings.png or wizard.png
      "hatUrl": "mario-wings.png",
      "hatCoords": {
         // mario-wings hat
         "offsetXPercent": -0.35F,
         "offsetYPercent": -1.2F,
         "widthPercent": 1.6F,
         "heightPercent": 1.6F

         //wizard hat
         //"offsetXPercent": -0.2F,
         //"offsetYPercent": -1.35F,
         //"widthPercent": 1.5F,
         //"heightPercent": 1.5F
      },
      "loopback" : {
         "remote": false,
         //matters only when remote is true
         "andLocal": false
      },
      "authRegex": ".*",
      "kmsLimit": 1000
   }
}

启动演示服务器时,可以在命令行上覆盖这些属性:

$ mvn compile exec:java -Dkms.uris=[\"ws://192.168.1.99:9001/kurento\"]

在本示例中,我们已指示出在创建 Room API 所需的 KurentoClient 时使用运行的KMS实例的不同URI。

有关演示配置和执行的更多详细信息,请参阅部署部分

© 著作权归作者所有

共有 人打赏支持
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为模板) 之一:简介,安装与卸载

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

小马_wolf ⋅ 2016/07/14 ⋅ 0

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

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

小马_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为模板) 之五:kurento架构

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

小马_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应用开发指南(以Kurento 5.0为模板) 之四:示例教程 一对一视频呼叫

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

小马_wolf ⋅ 2016/07/14 ⋅ 0

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

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

丁永 ⋅ 2016/01/18 ⋅ 2

WebRTC入门学习之初识WebRTC

引言: 先声明本人只是小小实习生一枚,若有不正确的,希望大家帮忙指正。 一、WebRTC基本架构 图一 WebRTC总体架构,摘自百度百科 先说说WebRTC大致的实现思路:我们创建的web app,然后在a...

小小实习生 ⋅ 2015/08/08 ⋅ 0

kurento开发android视频客户端

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

wangjie142 ⋅ 2016/08/19 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

istio 文档

https://istio.io/docs/concepts/ https://istio.io/docs/concepts/traffic-management/handling-failures/ https://istio.io/docs/concepts/traffic-management/rules-configuration/......

xiaomin0322 ⋅ 18分钟前 ⋅ 0

编程语言的作用及与操作系统和硬件的关系

一、编程语言的作用及与操作系统和硬件的关系 作用:编程语言是计算机语言,是一种程序员与计算机之间沟通的介质,通过编程语言可以使得计算机能够根据人的指令一步一步去工作,完成某种特定...

slagga ⋅ 29分钟前 ⋅ 0

runtime实现按钮点击事件

也不能说是实现吧,,,就是有点类似于RAC里边的写法,不用给btn添加另外的点击事件,就那个add...select...这样子很不友好,来看下代码: [self.btn handleControlEvent:UIControlEventTou...

RainOrz ⋅ 29分钟前 ⋅ 0

Windows系统运维转linux系统运维的经历

开篇之前,首先介绍一下我的背景把:我是一个三线城市的甲方运维。最近,在《Linux就该这么学》书籍的影响下和朋友小A(Linux运维已经三年了,工资也比我的高很多)的影响下,决定转行。最近...

linux-tao ⋅ 30分钟前 ⋅ 0

zip压缩工具,tar打包工具

zip压缩工具 zip打包工具跟前面说到的gzip,bz2,xz 工具最大的不一样是zip可以压缩目录。如果没有安装,需要使用yum install -y zip 来安装。安装完之后就可以直接使用了,跟之前提到的压缩...

李超小牛子 ⋅ 38分钟前 ⋅ 0

使用npm发布自己的npm组件包

一、注册npm账号 官网:https://www.npmjs.com/signup 注册之后需要进行邮箱验证,否则后面进行组件包发布时候会提示403错误,让进行邮箱核准。 二、本地新建一个文件夹,cd进入后使用npm i...

灰白发 ⋅ 40分钟前 ⋅ 0

010. 深入JVM学习—垃圾收集策略概览

1. 新生代可用GC策略 1. 串行GC(Serial Copying) 算法:复制(Copying)清理算法; 操作步骤: 扫描年轻代中所有存活的对象; 使用Minor GC进行垃圾回收,同时将存活对象保存到“S0”或“S...

影狼 ⋅ 40分钟前 ⋅ 0

JVM性能调优实践——JVM篇

在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性...

Java小铺 ⋅ 41分钟前 ⋅ 0

误关了gitlab sign-in 功能的恢复记录

本想关sign-up的,误点了sign-in 退出后登录界面提示: No authentication methods configured 一脸懵逼.. 百度后众多方案说修改application_settings 的 signin_enabled字段; 实际上新版本字段...

铂金蛋蛋 ⋅ 42分钟前 ⋅ 0

登录后,后续请求接口没有带登录cookie可能原因

1.XMLHttpRequest.withCredentials没设置好,参考https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials...

LM_Mike ⋅ 42分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部