用良心云轻量搭建开源视频会议服务,可以集成到自己项目
侧边栏壁纸
  • 累计撰写 56,926 篇文章
  • 累计收到 0 条评论

用良心云轻量搭建开源视频会议服务,可以集成到自己项目

James
2022-01-02 / 0 评论 / 69 阅读 / 正在检测是否收录...

本文主要面向需要在自己系统中集成视频会议的读者。

原文发布在腾讯云计算社区https://cloud.tencent.com/developer/article/1923349,如果论坛存在排版问题,可以到原文观看。

客户要求在页面中集成视频会议功能,本来刚开始准备直接用腾讯云的服务来实现,但是客户说他们完全是一个不能访问互联网的局域网的环境,因此需要部署一个自托管的视频会议服务器,并且这个视频会议服务器需要提供相应的接口来和自己的项目集成。经过一些调研,发现了一些不错的第三方开源的项目。今天介绍的是其中的一个openvidu,其采用的是WEBRTC技术,功能基本上可以满足我们目前的需要,而且采用Docker部署的话也十分方便。

openvidu虽然自身也提供了视频会议的Web页面,但是十分简陋,其主要还是面向的开发用户,用来在自己开发的系统中集成视频会议功能。

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

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

购买服务器

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

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

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

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

安装docker以及docker-compose

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

sudoapt-getupdate
sudoapt-getinstallca-certificatescurlgnupglsb-release
curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--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"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null
sudoapt-getupdate
sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io


-----------------------------------------------------
网友回复:

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

./openvidustart


网友回复:

引用:度百发表于2021-12-2312:19

虽然看不懂,但是很厉害


网友回复:

8G内存能同时支持多少用户同时开会?之前装过JitsiMeeting,8个用户差不多16G内存都不太够,后来直接换成Zoom了


网友回复:

引用:shc发表于2021-12-2312:27

8G内存能同时支持多少用户同时开会?之前装过JitsiMeeting,8个用户差不多16G内存都不太够,后来直接换成Z...


网友回复:

引用:rem发表于2021-12-2312:57

又见软文。局域网需求为什么在公网测试?


网友回复:

引用:lixiaofei发表于2021-12-2312:58

最终是在局域网中部署。前期测试的话,线上部署后方便和甲方一块测试


网友回复:

引用:rem发表于2021-12-2313:06

线上只能测连通,比较资源有限,局域网一定程度上不需要考虑带宽问题,只需要往上堆硬件资源,还是得局域...


网友回复:

引用:akkba发表于2021-12-2313:10

不错,最近也在研究用哪个,目前看了Jitsi


网友回复:

引用:rem发表于2021-12-2313:06

线上只能测连通,比较资源有限,局域网一定程度上不需要考虑带宽问题,只需要往上堆硬件资源,还是得局域...

0