jitsi meet 是一个开源的视频会议解决方案,可以通过查看 官网
和 开源项目地址了解. 在 这里可以进行体验. 在开源库中有项目地址,这里做下简单介绍.
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add
apt-get update
#上面语句出错请使用下面这个
apt-get install apt-transport-https
根据网络状况,安装过程不等,百度云vps只需不到10s,阿里云需要几分钟,如果用自己电脑的虚拟机,用公司的网络,没有设置镜像的话,可能要十多分钟.
apt-get -y install jitsi-meet
这里简单的话,可以直接输入公网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
/etc/jitsi/videobridge/sip-communicator.properties
新增
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_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
然后通过https://yourPublicIP访问 或者https://yourDomain , 必须通过Chrome或者火狐浏览器中, 测试多人功能的时候,可以用一个浏览器开三四个窗口进同一房间来做
如果想要控制创建房间的权限,可以通过参考 文档来做.不过我测试,结果是只要你浏览器不清除cookie的话,只要认证过一次后,以后再创建房间的话,也不需要再输入账号密码了,不是很好,要看下其他方式.
如果出现问题可以对照 官方快速安装文档
设置->网络->网卡1(网络地址装换nat)->高级->端口转发,新增以下规则,其中主机IP填写自己电脑 ipconfig 查出的IP , 子系统IP是虚拟机执行ifconfig查出的IP
协议 | 主机IP | 主机端口 | 子系统IP | 子系统端口 |
---|---|---|---|---|
tcp | 192.168.28.212 | 80 | 10.0.2.15 | 80 |
tcp | 192.168.28.212 | 443 | 10.0.2.15 | 443 |
tcp | 192.168.28.212 | 4443 | 10.0.2.15 | 4443 |
tcp | 192.168.28.212 | 4443 | 10.0.2.15 | 4443 |
udp | 192.168.28.212 | 10000 | 10.0.2.15 | 10000 |
如果安装有问题可以参考如何在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
安装好后我们就可以用自己部署来提供服务,通过使用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