Licode(一):入门介绍

2024-08-21 18:08
文章标签 入门 介绍 licode

本文主要是介绍Licode(一):入门介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是webrtc?

WebRTC(Web Real-Time Communication)是一个开源项目(2010年5月,Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎,并改为名为“WebRTC”),旨在让Web开发者能够基于Web浏览器轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现。W3C等组织正在制定Javascript 标准API。同时,Google也希望和致力于让WebRTC的技术成为HTML5标准之一。

可以通过《Getting Started with WebRTC》对webtrc有个更清晰的认识,由于网络上已经有很多涉及webrtc技术的文章,这里就不再详细讨论了,更多相关资料:

  • webRTC中文社区: http://www.webrtcbbs.com/forum.php
  • webRTC源代码(Note:需要翻墙,方可下载):
    git clone https://chromium.googlesource.com/external/webrtc

什么是Licode?

Licode是基于webRTC技术之上的开源项目,通过更便捷(easy,fast and scalable)的接口你可以快速搭建出基于webRTC技术的网络视频会议系统,或者与此类似的系统。你可以通过Try it!对Licode有个更为直观的认识。Licode的GitHub地址:https://github.com/ging/licode

image

初识Licode架构

官方给出的Licode架构如下图:

image

Note:因为有动画效果,点击这里查看更多细节http://lynckia.com/licode/architecture.html

Licode由四个模块组成:

  • Erizo:基于webRTC针对视频会议场景的一对多组件,官方叫法为:MCU(Multipoint Control Unit)
  • Erizo API:Erizo的NodeJs版本
  • Erizo Controller:负责管理(manage)视频会议sessions
  • Nuve:负责管理(manage)服务器资源(会议房间、与会用户、加入凭证等)

Mac X下搭建Licode测试环境

通过官方文档http://lynckia.com/licode/install.html是无法把Licode安装到Mac Yosimite上的,github上的安装脚本是针对Mac Mountain Lion的,google了很久,终于发现了一种方法 — 通过在mac上安装虚拟机的方式(虚拟机上在运行Ubuntu12.04 LTS)完美解决之,不容易啊:

At this point I’m afraid the Mac OS building scripts are very outdated. To test Licode I suggest you to use our Vagrantfile located in extras/vagrant
You can find more information about vagrant in https://www.vagrantup.com

We haven’t ruled out updating the scripts for Mac, but at this point we are focused on other issues. Sorry about that.

Vagrant的介绍、安装和基本的用法,这里不赘述了,直接参考下这里吧:Vagrant的介绍,需要安装的box名称为:

# Every Vagrant virtual environment requires a box to build off of.config.vm.box = "precise32" # The url from where the 'config.vm.box' box will be fetched if it# doesn't already exist on the user's system.config.vm.box_url = "http://files.vagrantup.com/precise32.box"

Vagrant初始化成功后,会在当前目录下生成Vagrantfile文件,直接将Licode项目$ROOT/extras/vagrant/下的两个文件:Vagrantfile和bootstrap.sh复制到当前目录下,然后执行vagrant up命令,耐心等待编译完成,然后执行以下命令:

# This step will initialize all Licode components.
./licode/scripts/initLicode.sh
# This step will initialize all Licode components.
./licode/scripts/initBasicExample.sh

执行成功之后,通过chrome浏览器 connect to “localhost:3001” and test your basic videoconference example:

image


这篇关于Licode(一):入门介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093900

相关文章

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程