jitsi meet在ECS及本地虚拟机安装配置与嵌入使用

jitsi meet 说明

jitsi meet 是一个开源的视频会议解决方案,可以通过查看 官网
开源项目地址了解. 在 这里可以进行体验. 在开源库中有项目地址,这里做下简单介绍.

  • jitsi-meet web端的会议项目源码,不建议clone自己编译,来安装部署,会出一些问题,比较麻烦,我们直接用快速安装,会自动安装prosody和 jicofo videobridge 等服务,然后前后端就搭建好了,通过修改配置来弄
  • docker-jitsi-meet doker 的安装版本.能搭建成功,不太容易改东西.
  • jigasi 服务器端应用程序,充当Jitsi Meet会议的网关。目前,支持电话会议
  • jitsi 是桌面版本的应用程序.

安装与配置

vps 阿里云或百度云安装

环境准备

  1. 购买百度云或阿里云的ECS
  2. 系统要求,内存至少2g,最好用Ubuntu 16.04 64位系统
  3. 开发阶段放行所有端口,阿里云是在网页功能的防火墙,通过防火墙放行所有tcp和udp端口.百度云是在安全组,将实例应用到放行所有tcp和udp的安全组就行.
  4. 系统先安装NGINX ,使用命令apt-get install nginx -y(非root用户前所有命令前加sudo)

快速安装方式

  1. 增加仓库
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
  1. 添加key
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add 
  1. 更新包
apt-get update
#上面语句出错请使用下面这个
apt-get install apt-transport-https
  1. 安装jitsi meet

根据网络状况,安装过程不等,百度云vps只需不到10s,阿里云需要几分钟,如果用自己电脑的虚拟机,用公司的网络,没有设置镜像的话,可能要十多分钟.

apt-get -y install jitsi-meet
  1. 输入域名

这里简单的话,可以直接输入公网ip 就行.自己有绑定机器的域名的话,直接输入域名就行. 要是没有买域名,要想用域名的方式的话.可以进行模拟.需要在 虚拟机的hosts中映射 127.0.0.1到虚拟域名.通过外网访问的机器需要绑定同样域名到你部署机器的对外IP .
比如:

#自己本机window的C:\Windows\System32\drivers\etc\HOSTS
182.61.47.152  yhbdmeeting.com
#购买的vps 或者虚拟机执行 sudo vim /etc/hosts
127.0.0.1 yhbdmeeting.com

  1. 选择生成证书,选第一个选项就好
  2. 这时候访问应用,2人以上参与的话,可能会遇到端口转发的问题,需要进行额外配置
/etc/jitsi/videobridge/sip-communicator.properties

新增

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

例如针对我的百度云vps内网网的情况则添加以下内容,然后重启vps

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=172.16.0.2
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=182.61.47.152
  1. 然后通过https://yourPublicIP访问 或者https://yourDomain , 必须通过Chrome或者火狐浏览器中, 测试多人功能的时候,可以用一个浏览器开三四个窗口进同一房间来做

  2. 如果想要控制创建房间的权限,可以通过参考 文档来做.不过我测试,结果是只要你浏览器不清除cookie的话,只要认证过一次后,以后再创建房间的话,也不需要再输入账号密码了,不是很好,要看下其他方式.

如果出现问题可以对照 官方快速安装文档

本地虚拟机中安装

环境准备

  1. 安装 VirtualBox
  2. 下载 ubuntu 镜像 16和18 都行.安装过程参照网上教程.安装桌面版本的就行
  3. 网络模式保持默认网卡1 网络地址装换nat就行
  4. 设置端口转发

设置->网络->网卡1(网络地址装换nat)->高级->端口转发,新增以下规则,其中主机IP填写自己电脑 ipconfig 查出的IP , 子系统IP是虚拟机执行ifconfig查出的IP

协议主机IP主机端口子系统IP子系统端口
tcp192.168.28.2128010.0.2.1580
tcp192.168.28.21244310.0.2.15443
tcp192.168.28.212444310.0.2.154443
tcp192.168.28.212444310.0.2.154443
udp192.168.28.2121000010.0.2.1510000
  1. 其余步骤同vps安装.
  2. 别人访问你电脑的IP就行 https://yourIp ,会自动转发到虚拟机中的应用中去.当然也可以用虚拟的域名.同vps中的操作一样.但是要访问的人的电脑,都得把域名绑定到你机器的IP 在我的例子中是绑定到192.168.28.212

如果安装有问题可以参考如何在Ubuntu上安装Jitsi Meet视频会议平台 以及 快速安装

定制化修改

修改方式介绍

配置文件的名称会根据你填写的domain或者ip来生成这里统一用{yourDomain}
主要是通过修改配置文件,以及静态资源来做.

会议方面最主要有两个配置文件

一个是config.js 程序参数配置 比如选择默认语言,是否开启欢迎页面,退出会议时是否展现反馈页面,在配置文件中都有相应注释说明

sudo vim /etc/jitsi/meet/{yourDomain}-config.js

比如可以修改默认语言为中文 defaultLanguage: ‘zhCN’

以及interface_config.js web界面表现配置,例如可以去掉页面中一些不必要的东西

sudo vim  /usr/share/jitsi-meet/interface_config.js 

其中网页的静态资源位置位于,

cd /usr/share/jitsi-meet

这里可以更改水印的图片image/watermark.png,以及补全和修改中文对应的翻译之类的lang/main-zhCN.json.不知道怎么往虚拟机上传文件的话,可以使用
FinalShell SSH
工具,有上传的功能,选好后文件夹,拖进去就行了

更改了这些文件后, 应该是要重启nginx的 .可以用一下命令.

 /etc/init.d/nginx stop
 /etc/init.d/nginx start

顺便提一下 部署后的web站点配置是在

cat  /etc/nginx/sites-available/{yourDomain}.conf

但是更改后端的配置 比如装prosody和 jicofo videobridge的话, 要重启相应服务,不知道怎么重启就干脆重启vps ,在/etc/init.d 下面可以重启

/etc/init.d/prosody restart
/etc/init.d/jicofo restart
/etc/init.d/jitsi-videobridge restart

一些说明

  • 我们是要调用摄像头的,但是摄像头只能在localhost下以及https下调用,所以你在后面提到的嵌入到另外应用的开发时,你的应用必须发布成https.使用springboot的话,由于使用的是内嵌的Tomcat,我们需要在返回Tomcat容器的时候做一些配置. 如果是spring-mvc等其他手动部署的话,我们只需要对Tomcat的配置文件进行修改.然后在idea改下部署的访问协议为https,端口改成8443?,两种方式参照网上教程弄.
  • 如果在更改语言前访问过应用,即使服务器重启后,重新访问还是不会生效的.其实是改过来的,你可以尝试用隐身模式试一下.忘记了清楚cookie管用不,应该能起作用的,它优先使用保存在本地的语言设置.
  • 2个人是走的p2p,直接双方连接,不经过服务器分发,所以要保证应用确实良好运作的话,应该用3人及其以上来测试.一个人可以用同一浏览器开3个tab来测试.
  • 自带的语言翻译功能是可以用的,但是说英语才能翻译,中文的话应该是可以设置,但是方言那么多,所有没啥用,可以关了
  • 我还有其他问题怎么办? 可以去 官方论坛 ,搜一下相关问题,没有的话可以自己提问,社区的开发者都挺热心的,不过是英文社区的哈.也可以去jitsi meet的github托管页面的issue查找他们遇到问题的解决方案.

一些位置

  • 配置证书位置
    /etc/jitsi
  • 配套服务启动位置
    /etc/init.d/jicofo
    /etc/init.d/jitsi-videobridge
    /etc/init.d/prosody
  • jitsi meet 部署资源位置
    /usr/share/jitsi-meet
  • 日志位置
    /var/log/jitsi
    /var/log/prosody

嵌入使用

使用方式

安装好后我们就可以用自己部署来提供服务,通过使用Jitsi Meet api的方式将Jitsi Meet嵌入到自己其他应用程序中。我们只需要提供部署的地址,如果不自己部署的话,想先体验下它的api我们使用官方部署好的 meet.jit.si 来测试.

测试页面 官网有提供

<html itemscope itemtype="http://schema.org/Product" prefix="og: http://ogp.me/ns#" xmlns="http://www.w3.org/1999/html">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
    </head>
    <body>
        <script src="https://meet.jit.si/external_api.js"></script>
        <script>
            var domain = "meet.jit.si";
            var options = {
                roomName: "JitsiMeetAPIExample",
                width: 700,
                height: 180,
                parentNode: undefined,
                configOverwrite: {},
                interfaceConfigOverwrite: {
                    filmStripOnly: true
                }
            }
            var api = new JitsiMeetExternalAPI(domain, options);
        </script>
    </body>
</html>

然后可以调用它的 api 来执行操作

这里可能会遇到问题,如果你是使用像我们之前那样自己部署的服务器,因为安装的时候选择的证书是那种糊弄证书,
本来正常情况直接访问https下会告诉你不安全,你点继续才加载出来.但是这里是通过代码给我们弄进来的,如果你之前没有在浏览器打开并同意过内嵌的域名下任何页面的话,只会看到加载不成功的空白.如果现在马上直接打开一次,同意后,再刷新的话就好了.这个看网上有不优雅的解决方案,在Chrome快捷右键在目标那一栏启动增加参数,大概是这个样子

C:\Users\jk969\AppData\Local\CentBrowser\Application\chrome.exe --ignore-certificate-errors --allow-running-insecure-content
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值