视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

如今,全球进入疫情常态化,远程办公、视频会议成为职场人的必备场景,几乎每个职场人都在使用视频会议进行日常沟通和举行线上交流,与此同时,也有特殊的需求等待满足,比如不能访问互联网的局域网环境用户,这就需要部署一个自托管的视频会议服务器。

今天介绍的是其中的一个openvidu,其采用的是WEBRTC技术,功能基本上可以满足我们目前的需要,而且采用Docker部署的话也十分方便。openvidu虽然自身也提供了视频会议的Web页面,但是十分简单,其主要还是面向开发用户,用来在自己开发的系统中集成视频会议功能。

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

前期的测试主要还是在公网环境下运行,因此需要采购一台公网的服务器来做开发测试使用。根据官网的要求,服务器配置至少需要2核CPU以及8G的内存配置,并且需要充足的带宽。基于成本考虑,我们最终购买了腾讯云轻量服务器的4核8G10M带宽配置,后续都基于这个服务器进行部署搭建。

由于浏览器安全协议的限制,除了使用localhost地址访问以后,浏览器会禁止HTTP协议的页面使用摄像头。因此下面的过程中需要配置证书。openvidu支持自己配置证书,也支持使用letsencrypt自动签发证书。如果使用letsencrypt自动签发证书的话,需要使用域名指向服务器IP,使用国内的服务器域名需要备案。如果没有备案的域名的话,可以选择购买同配置香港的轻量服务器。

1、购买服务器

如果没有服务器的话,需要先购买一台腾讯云的轻量服务器。

轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。为了方便安装应用,我们需要准备Docker环境。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。使用docker来部署应用是非常简单的,一般情况下,只需要一行命令即可完成。

腾讯云经常举办各种活动,可以点击这里进入他们的活动页面进行购买(注意根据官网要求,配置至少要求为8G以上),可以选择距离最近的区域购买,不过不想备案的话,可以选择香港区域进行购买。镜像的话,选择【官方镜像】下的【docker基础镜像】,实例套餐选择适合自己的,然后提交订单,付款即可。如果不选择【Docker基础镜像】,后面需要自行安装docker容器。

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

2、安装docker以及docker-compose

如果没有选择docker基础镜像,则需要自行安装docker镜像。这里假设使用的Ubuntu系统。安装docker的步骤如下:

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo

"deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu

$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

3、然后安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod x /usr/local/bin/docker-compose

docker-compose –version

4、配置安全组

视频会议功能内部采用WEBRTC技术,会使用比较多的端口,因此需要在轻量服务器的防火墙策略上放行相应的端口,目前官网上要求开放的端口如下。

22 TCP: SSH端口

80 TCP: HTTP端口

443 TCP:HTTPS端口

3478 TCP UDP: TURN服务器端口,TURN服务器是在视频双方无法直接建立点对点连接时进行流量转发使用

40000 – 57000 TCP UDP: Kurento Media Server建立媒体连接的端口

57001 – 65535 TCP UDP: TURN服务器建立媒体连接的端口。

除此之外,请确保这些端口80, 443, 3478, 5442, 5443, 6379 和 8888不能被占用

如果嫌麻烦而且仅仅是测试环境使用,可以直接放行所有的端口。

5、域名解析

将要使用的域名解析到服务器的IP上。如果使用的是国内的服务器,域名需要备案。如果没有备案的域名,需要选购香港的服务器。或者也可以不使用域名,直接使用IP。直接使用IP的话,需要自己来签发并配置证书并配置浏览器信任证书。

6、开始安装部署

准备工作做完以后,就可以开始下载安装了。默认在/opt目录下进行安装

首先进入到/opt目录下

cd /opt

然后使用openvidu提供的脚本进行安装

curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_latest.sh | bash

在国内服务器上可能下载会失败,可以先在特别环境下安装好,然后把相应的文件上传到服务器的安装目录里。

进入到 openvidu目录里

cd /openvidu

使用熟悉的工具来编辑.env文件,本文档中使用letsencrypt来自动签发证书(ov的默认选项),只需要修改下面几项配置。

DOMAIN_OR_PUBLIC_IP=自己的域名OPENVIDU_SECRET=xxxxxx #密钥,换成一个安全系数高的LETSENCRYPT_EMAIL=xx@xx.com #换成自己的邮箱

或者不使用letsencrypt签发证书,来自行配置证书。具体配置方法在.env文件中有详细说明。

# OpenVidu configuration

# ———————-

# Documentation: https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/

# NOTE: This file doesn't need to quote assignment values, like most shells do.

# All values are stored as-is, even if they contain spaces, so don't quote them.

# Domain name. If you do not have one, the public IP of the machine.

# For example: 198.51.100.1, or openvidu.example.comDOMAIN_OR_PUBLIC_IP=

# OpenVidu SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu DashboardOPENVIDU_SECRET=

# Certificate type:

# – selfsigned: Self signed certificate. Not recommended for production use.

# Users will see an ERROR when connected to web page.

# – owncert: Valid certificate purchased in a Internet services company.

# Please put the certificates files inside folder ./owncert

# with names certificate.key and certificate.cert

# – letsencrypt: Generate a new certificate using letsencrypt. Please set the

# required contact email for Let's Encrypt in LETSENCRYPT_EMAIL

# variable.CERTIFICATE_TYPE=selfsigned

# If CERTIFICATE_TYPE=letsencrypt, you need to configure a valid email for notificationsLETSENCRYPT_EMAIL=user@example.com

都配置好了以后,然后运行下面命令启动

./openvidu start

此命令会拉取并启动相应服务的docker镜像,执行完毕后,用docker ps可以看出启动的容器

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

启动完毕后,访问https://xxx.xxx.xxx.xxx:port验证服务器。

如果打开看到下面的页面,说明成功了50%。

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

然后在标签页多打开页面,都加入同样的房间,来测试效果。如果看到下面的画面,说明配置已经成功。

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

与自己的系统集成

openvidu提供了各种语言和框架的SDK,包含服务端和客户端,并且提供了大量的可以直接复制粘贴的例子来使用。只要把上面的服务配置好了,只需要花十几分钟,就可以集成到自己的系统中。

官方例子提供的github地址是 https://github.com/OpenVidu/openvidu-tutorials

提供的例子有

视频会议如此重要,腾讯云轻量服务器轻松搭自托管视频会议服务

说的最后

openvidu是一个非常优秀的开源视频会议服务器,腾讯云轻量服务器也是一个性价比非常高的服务器,两者的配合相得益彰。如果你也有这样的需求,快来试试吧!

本文参考来源/李小飞

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年10月3日 上午8:34
下一篇 2022年10月3日 上午8:36

相关推荐

  • 全国优秀共产党员、全国优秀党务工作者和全国先进基层党组织名单

    一、全国优秀共产党员 (400名)北 京吴良镛 清华大学建筑学院教授(离休),中国科学院院士、中国工程院院士童朝晖 首都医科大学附属北京朝阳医院党委常委、副院长,北京市呼吸疾病研究…

    科研百科 2023年7月9日
    129
  • 公共安全类科研项目主要指什么(公共安全类科研项目主要指)

    公共安全类科研项目是指那些致力于提高公共安全和应对突发事件的科研项目。随着城市化进程的加速和人口数量的增加,公共安全问题越来越受到人们的关注。公共安全类科研项目的目标是在保障人民生…

    科研百科 2024年8月1日
    60
  • 免费的多项目管理软件

    免费的多项目管理软件 随着现代商业的发展,越来越多的公司和组织开始意识到多项目协作的重要性。然而,如何管理多个项目、跟踪进度和协调资源仍然是一个挑战。在这种情况下,免费的多项目管理…

    科研百科 2024年5月24日
    106
  • 换个姿势做业务影响分析(BIA)

    烽火十八台丨换个姿势做业务影响分析(BIA)——盛邦安全业务连续性管理平台解决方案 随着银行业金融机构自身业务的发展需要和监管要求的不断加强,业务连续性管理已经纳入金融机构的全面风…

    科研百科 2022年11月15日
    340
  • 吉林东丰县规范养殖企业管理确保生态安全

      东丰县东丰镇太升养殖场是一个投资320万元的中等规模养殖企业。据负责人孙宏伟介绍,养殖场位于太升村八组南侧,远离居民区,地理位置依山傍水,非常适合标准化养殖小区建设的发展要求,…

    科研百科 2022年5月16日
    283
  • 参与科研项目的心得体会

    参与科研项目是一种宝贵的经历,它让我学到了很多关于科学和技术的知识,也提高了我的实践能力和团队合作能力。在这篇文章中,我将分享我参与科研项目的心得体会。 首先,参与科研项目让我学到…

    科研百科 2024年4月8日
    71
  • 工程项目管理人员变更申请

    工程项目管理人员变更申请 尊敬的项目经理, 我谨向公司申请变更工程项目管理人员。 在过去的项目中,我作为该项目的管理人员,积极参与并负责项目的日常管理工作。然而,由于个人原因,我不…

    科研百科 2024年8月28日
    32
  • 智能化系统集成项目经理证还有吗 智能化系统集成项目经理证容易考

    最近很多小伙伴们在询问善恩教育有关智能化系统集成项目经理报考方面的问题。 智能化系统集成项目经理主要负责综合信息化项目全过程技术支持、项目管理与综合协调,包括项目集成、实施和售后服…

    科研百科 2022年12月26日
    237
  • 四色党支部

    四色党支部:为信仰而战 四色党支部成立于2016年,是由党员们自发成立的一个党支部。这个党支部的成立,源于我们对信仰的坚定信念和对党的热爱。 我们坚信,党是中国特色社会主义事业的领…

    科研百科 2024年10月23日
    1
  • 定制erp,手把手教你搭个系统(定制erp,手把手教你搭个系统怎么做)

    不少人还停留在传统的企业管理软件服务模式,感觉如果想为企业购置某项服务,一定要购买厂商的一整套系统。这种思想的落后来源于当前大家对定制erp的了解太少。厂商已经迈开大步直奔往前,开…

    科研百科 2024年5月1日
    87