OpenVidu 第一章 基本概念

引言

我之前有介绍过Kurento Media Server (kms),这是一个web-rtc的核心服务,包括webrtc 接入、转化、过滤等功能。有了这个玩意,web-rtc基本就能搞了,但是用起来很麻烦,自己还需要添加很做的扩展应用,才能完成一个产品。
比如我们希望建立一个在线会议室。现在数据流的连接功能已经完成了,可以实现一对一的对话了。那是在一个会议室中,还存在建立会议室,管理会议成员(踢人,禁言),设置密码,转发视频,录制视频、查看在线人数,查看通讯质量,录制会议 等管理会议室的功能。自己开发的话,工作量还是不小的。那么可以采用OpenVidu。OpenVidu底层还是采用的Kurento Media Server (kms),也是这一帮子人开发的。同时在功能上做了很多的扩展,基本上开箱即用。原作者的目标是以一种低侵入的方式,使你的现有应用,快速的集成web-rtc功能。

会议室组件

上面讲到的,管理会议室的这一套东西包括两个组件:
OpenVidu 部署(OpenVidu deployment):可以是 OpenVidu CE、Pro、Enterprise 任意版本的部署;这就是传说中kms服务器,也是OpenVidu的核心。他作为OpenVidu的信令服务器和流媒体处理中心。官方提供了 docker 镜像,以方便部署。也可以自己独立部署(不建议)。
应用服务端(Application server):调用 OpenVidu 部署提供的 REST API,为应用客户端提供服务,可以开发成上文的提到会议室管理端;
应用客户端(Aplication client):可以是浏览器、移动端或桌面应用,使用 openvidu-browser.js SDK 与 OpenVidu 部署通信。
OpenVidu架构图

4个基础概念

  • 会话(Session):就是一个虚拟的会议室,很多人可以加入一个会议室,并共享实时视频/音频。如果我说要创建一个会议,实际上就是创建一个回话。
  • 连接(connection):连接,加入会议室的每一个人就是一个连接。如果我说要踢掉会议中的某一个人,实际上就是关掉该用户的连接。
  • 令牌(token):每个人要表明自己身份,比如我是张山,我是李四,就必须要在连接中添加一个属性。这个属性就是就是token。通常token不会仅仅是张三、李四这么简单,可能会重名,token可能是很复杂的一串字符,如来自于中国重庆沙坪坝区xxx学校2级黄砖用户–李四(有效时间5分钟)
  • 流(stream):流是视频/音频信息。参会者可以发布流,同一会议室的其他参与者可以订阅该流。

4个基本概念

标准会议的流程

1、在服务端创建会议室,即创建一个session
2、在服务端创建连接Connection,并加入session。有几个人就创建几个连接。每一个连接都有一个token的属性。
3、分发token到客户端。用户拿到token就可以加入会议了。
4、用户使用token加入会议室。
5、一旦用户加入会议,就可以共享屏幕,或者分享摄像头了,推送一个视频/音频流。其他的用户可以选择看/不看他共享的视频流/音频流
创建会议标准流程

开发客户端有两种模式

你可以用OpenVidu搞好的网页客户端,也可以利用sdk开发完全订制的的客户端。

  • 网页组件(web
    component):图省事就用这种,在你的网页应用中嵌入OpenVidu组件就完事了。(一个js,几个div)。缺点就是,只能用在web应用上,你说要在android
    app上怎么用,只有使用sdk了。还有就是网页组件的布局和功能是固定的,你要想加个点赞的功能就不行了。
  • UI组件(SDKs):这种方法可以实现你想象中的任何界面。就是开发起来麻烦点。你需要去啃文档,查手册,做实验。

本系列整体安排
本系列的前4章,采用Ubuntu搭建一个简单的OpenVidu,可以通过两个网页实现实时的视频/音频通讯。
第5-7章将搭建一个聊天室,采用android app做为客户端。
第8-10章,将实现录像,过滤器等功能

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenVidu是一个开源的WebRTC平台,可以用于构建实时音视频通信应用程序。在使用Spring Boot开发OpenVidu应用时,需要引入相关的依赖。其中一个常用的依赖是org.springframework.boot:spring-boot-starter-web,它可以提供用于构建Web应用程序的server容器。 要运行OpenVidu Spring Boot项目,可以使用mvn spring-boot:run命令在项目文件夹中运行。运行结果将在控制台中显示,可以在application.properties文件中修改端口设置。 另外,项目中还可能会引入org.springframework.boot:spring-boot-starter-tomcat依赖,该依赖包含了Tomcat server容器。如果要使用Docker部署运行OpenVidu Spring Boot项目,可以编写Dockerfile文件,并在其中指定基于openjdk镜像制作镜像的步骤。Dockerfile中的指令还可以设置容器中的工作目录、声明服务端口、添加应用程序的jar文件等。最后,使用docker build命令生成镜像。 综上所述,OpenVidu Spring Boot项目可以通过引入相关的依赖和使用适当的命令来构建、运行和部署。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [从零开始的docker和docker-compose打包上传自己的镜像](https://blog.csdn.net/level_Tiller/article/details/116307883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值