基于WebRTC的MCU开源项目Licode的环境搭建

基于WebRTCMCU开源项目Licode的环境搭建
由于项目需求,需要构建多人通讯,调研了多人通讯的三种常见结构:
1.前一篇博客已经基于codelab实现了三人聊天,这种多人系统基于Mesh结构。具体来说,假设有N+1个客户端,那么对于每一个客户端都需要与其他N个对象建立PeerConnection,这样消耗了大量的带宽和CPU资源。对于客户端数量较少的应用比较适合,延迟小、开发简单、画面无损失。




2.基于MCU的结构,该MCU的核心功能就是视频和音频的Mix。通过将多路信号混合成一路,达到减少带宽和CPU资源消耗的目的。对于N+1个Clients,每个对象只要和MCU建立一个PeerConnection,大大减少资源消耗,适用于客户端数量较多的应用,但是该方案会损失画面质量,实现比较复杂,对MCU服务器性能要求很高(多路信号的编码解码)。


3.基于Router结构,该结构结语1 2之间。每个客户端将本地信号上传到Router,并从Router上下载其他客户端的信号。这样,相比1方案,并不需要向每一个客户端发送相同的本地信号,因此带宽消耗大概减少一半,同时不损失信号质量,且能提升客户端的数量。


支持多人通讯的WebRTC的开源项目很多,这里选择Licode搭建开发环境,相比其他项目,Licode比较轻量级,便于初学者学习,而且它属于Router结构,符合需求。
官方地址:lynckia.com/licode/install.html
按照指南搭建即可,最好FQ搭建环境。
搭建完成后,其官方Demo效果如下。测试了下,5台手机,一台电脑同时在线没有问题,但传输延迟在1s左右。


				
时间: 2024-07-31 14:35:15

基于WebRTC的MCU开源项目Licode的环境搭建的相关文章

基于Mint UI开发VUE项目一之环境搭建和头部底部导航栏的实现

一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大.考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验.依托 Vue.js 高效的组件化方案,Mint UI 做到了轻量化.即使全部引入,压缩后的文件体积也仅有 ~30kb (JS + CSS

iOS开发项目篇-01环境搭建

iOS开发项目篇-01环境搭建 一.基本过程 1.新建一个项目 (1)删除storyboard (2)在配置界面中,把main  删除,手动设置 2.准备素材 图片素材如下: 这个项目是模仿新浪,实现一个山寨的新浪微博系统,新版本的系统中已经放弃了非视网膜屏幕. 说白了,这种情况下,如果手机是3.5英寸的ios7系统,则看不到该启动动画. 设置方法,右键单击show in finder,修改json文件. Contents.json,对文件进行修改,让系统启动画面对3.5英寸的ios7系统提供支

WebGIS开源解决方案之开发环境搭建(一)

工欲善其事,必先利其器,本文主要讲述WebGIS开源解决方案之环境搭建--geoserver的安装 安装方式一:tomcat环境下安装 从tomcat官网下载tomcat环境,下载链接:http://tomcat.apache.org/ 本人下载的是tomcat7.0.56版本 解压tomcat压缩文件,tomcat目录下的文件如下图所示: 从官网下载geoserver.war文件,放到tomcat目录下的webapps目录下.进入tomcat解压目录下的bin目录 双击startup.bat文

WebGIS开源解决方案之开发环境搭建(三)

续前两篇,开发环境搭建,第一篇介绍了开源地图服务器Geoserver的安装和配置,第二篇介绍了开源数据库Postgresql以及postgis的安装,本篇主要介绍前端工具udig的安装,udig主要用户对Geoserver发布的地图服务和postgis存储的数据进行查看,尤其是对geoserver发布服务时地图样式sld文件的配置. 软件下载地址:http://udig.refractions.net/ 本文以Udig2.0为主介绍 安装文件udig-2.0.0.RC1.win32.win32.

基于Instrumentation Framework的开源项目AndroidMonkey简介

在上一篇文章<MonkeyRunner和Android设备通讯方式源码分析>中本人提到MonkeyRunner跟目标安卓机器交互的其中一种方式是通过在目标机器端开启'monkey -port $port'来跟monkeyrunner建立连接进行交互的,后来打算下载安卓机器端的monkey源代码来分析下monkey是如何处理的,在google中打入关键字"android monkey source code"后定位到以下连接"https://code.google.

extjs5基于SSH后台项目实战笔记--环境搭建及Sencha Cmd的安装和使用

最近做一个SSH的项目,前台使用的是Extjs5.以前也没接触过,就一边学一边做,发现Extjs的东西真是太多了,熟练了用起来也很方便,但是想要真正熟练并不容易.做项目的过程中遇到了很多问题,觉得不记下来下次遇到了还得想半天,所以准备把过程记录下来,给自己看,也给遇到同样问题的人看看.中间可能会有很多写的不对的地方,希望能帮忙指出. Sencha Cmd是一个命令行工具,可以用来生成脚本框架,并且可以将自己写的脚本进行编译,还可以用来编译自定义主题等等,具体的使用及功能后面会说.先介绍Sench

WebGIS开源解决方案之开发环境搭建(四)

续前几篇文章,前面陆续介绍了开源GIS服务器Geoserver,开源数据库Postpresql以及开源前端udig的安装和基本使用. WebGIS前端开发,可以选择arcgis for javascript,arcgis for flex,Openlayers2, Openlayers3,leaflet.Arcgis for javascript 和Arcgis for flex 属于ESRI公司的前端产品,使用这些前端做项目开发,不会收费.本篇既然是讲开源WebGIS解决方案,Web前端开发框

MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建

安装环境:Win 10 专业版 64位 + Visual Studio 2015 Community. 记录下自己在有GPU的环境下安装配置MXNet的过程.该过程直接使用MXNet release 的 pre-built 包,没有自己使用CMake编译.网上有很多自己编译的教程,过程都比较繁琐,直接使用release包对新手来说更加简单方便. 选择MXNet的原因是因为看了<Caffe.TensorFlow.MXNet三个开源库的对比>这篇博文,其中指出MXNet相对来说是最易上手的深度学习

Vue.js项目的开发环境搭建与运行

写作背景:手上入一个用Vue框架写的微信公众号项目,根据公司安排,我负责项目源代码的验收工作(当然专业的工作检测会交给web开发人员,我只是想运行起来看一看). 1 开发环境安装步骤: (一)安装node.js(JavaScript运行环境runtime) 从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以完成. 完成之后,开发命令行工具,输入 node -v 如果出现相应的版本号,则说明安装成功. 另外,npm是node.js下的包管理器,npm能很好的和诸如webp