jitsi各工程编译笔记(一)各工程大概

news/2024/11/30 10:50:14/

目录

背景

prosody

jitsi-meet 

下载

编译

olm-3.2.3.tgz问题

 make

从docker里拿下编译好的文件

jvb

下载

编译

 运行

 jicofo

下载

编译

运行

nginx

参考文章

讨论论坛

prosody

其证书安装

download of jitsi

lib-jitsi-meet  api


背景

   在前面文章 jitsi学习路径_dualven_in_csdn的博客-CSDN博客_jitsi

docker-compose环境下,大致做成了实验:

A: 在xxyyoo.club域名的云环境下,web,android都可以正常连入环境并且使用;

B: 将域名相关的配置放到局域网内,网关将域名解析到服务主机,这种情景下,web互通,android互通,好像web与android之间的互通有点 问题,可以进 入聊天室,但是语音视频有问题,互相看不到。

故,需要进一步深入了解,就需要对每一个工程进行细致的了解,手动布署下。

prosody

  1. yum install prosody
  2. 增加配置文件 /etc/prosody/conf.d/10.60.100.194.cfg.lua
  3. 生成密钥

    prosodyctl cert generate 10.60.100.194

    prosodyctl cert generate auth.10.60.100.194

    生成秘钥

    prosodyctl register focus auth.10.60.100.194 gbcom.*****6

systemctl start/stop/*   prosody

prosodyctl status/restart /start 都可以 

jitsi-meet 

下载

https://github.com/jitsi/jitsi-meet.git (fetch)  注意事项参考jvb章节

可以从这儿直接拿到代码 : Index of /jitsi-meet/src/

编译

注意node>=14 ,npm >=7

olm-3.2.3.tgz问题

npm install 中,会出现

npm install error ,because
https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz can not download.

实在没有办法 去issue里搜索下,已经有人提问了

 https://github.com/jitsi/jitsi-meet/issues/10371

取到了 ,放到自己的服务器上,修改package.json(1处),package-lock.json(3处!!如果不修改会发生 下面莫名其妙的问题)

 莫名其妙问题:


PS D:\java\jitsi\jitsi-meet> npm install
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path C:\Users\duanxiongwen\AppData\Local\npm-cache\_cacache\tmp\an0AwF/package.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\duanxiongwen\AppData\Local\npm-cache\_cacache\tmp\an0AwF\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\duanxiongwen\AppData\Local\npm-cache\_logs\2022-07-06T05_49_41_953Z-debug-0.log

 作好上面4处修复 后,npm install ,按报错信息,替换package-lock.json里的integrity校验信息,即可以install 成功。

npm WARN tarball tarball data for @matrix-org/olm@http://meshview.gwifi.com.cn:8891/topo/topodata/olm-3.2.3.tgz (sha512-OhC9wwZ/ox9vputA1MR2A7QlYlvfXCV+tdbADOR7Jn7o9qoXh3HWf+AbSpXTK3daF0GIHA69Ws8XOnWqu5n53A==) seems to be corrupted. Trying again.
npm ERR! code EINTEGRITY
npm ERR! sha512-OhC9wwZ/ox9vputA1MR2A7QlYlvfXCV+tdbADOR7Jn7o9qoXh3HWf+AbSpXTK3daF0GIHA69Ws8XOnWqu5n53A== integrity checksum failed when using sha512: wanted sha512-OhC9wwZ/ox9vputA1MR2A7QlYlvfXCV+tdbADOR7Jn7o9qoXh3HWf+AbSpXTK3daF0GIHA69Ws8XOnWqu5n53A== but got sha512-esXozm98Z7Lp+j8tBFvJXCjCMEh/R7+a3O3rW3RgtUtbGIL+hTxIdNlbMdrMLGUEyh/LTrDHJEw4PYFdVQ+3ZQ==. (543976 bytes)npm ERR! A complete log of this run can be found in:

 make

  然后make,这块只能移到 2.194linux环境进行编译/home/java/jitsi/jitsi-meet

把刚才在windows上install成功的都放上来,含有node_module.

  make,主要看懂  Makefile这个文件。编译应该就这一个命令 webpack .这块编译失败了(todo)

其实我们需要的前端文件,可以根据最下面的这个任务看出,只需要从工程拿些源文件就可以了。但因为上面的编译如果不过,libs这个文件夹不产生前端的包,也就产生不了。

从docker里拿下编译好的文件

  对照上面的source-package任务,我们可以知道哪些文件是我们需要的; 

 docker-compose exec web bash

cd /usr/share/jitsi-meet 

 所以我们可以把这个文件夹,直接拷出来,放到2.194:/docker/nginx/jitsi目录下

jvb

下载

GitHub - jitsi/jitsi-videobridge: Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).

 网络运气良好情况下,直接git pull 就可以;运气不行的情况 下,使用GitHub Desktop  甚至再加上翻墙软件。

编译

要求 jdk 11 ;故,使用mvn 时,

windows下,拷贝 mvn.bat  mvn11.bat, 增加一句”set JAVA_HOME=D:\installed\AdoptOpenJDK\jdk-11.0.10.9-hotspot“ 即可。(2.193 win环境)

linux 下, mvn11里增加JAVA_HOME=/home/java/jitsi/Deploy/jdk-11.0.15.1(2.194 linux环境)

mvn11 package -D maven.test.skip=true即可以进行编译。 (我一般在2.193 win环境上编译,因为在编译过程中,涉及到下载包,本机上有翻墙软件,2.194 linux上没有翻墙代理)。

 运行

放到2.194下的/home/java/jitsi/Deploy,修改下jvb.sh 文件

 

 运行结果:

 jicofo

下载

 https://github.com/jitsi/jicofo.git (fetch)

编译

类似jvb.

运行

/home/java/jitsi/Deploy,  也作类似jvb的修改

nginx

[root@localhost conf]# cat jitsi.conf 
server {# listen       443;listen 0.0.0.0:443 ssl http2;listen [::]:443 ssl http2; server_name  10.60.100.194 alias  another.alias;ssl_certificate     /docker/nginx/jitsi/10.60.100.194.crt;  ##prosody生成的秘钥位置ssl_certificate_key /docker/nginx/jitsi/10.60.100.194.key; ## prosody生成的秘钥位置ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers  on;location / {root   /docker/nginx/jitsi/;index  index.html index.htm;ssi on;}location /http-bind {proxy_pass      http://localhost:5280/http-bind;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header Host $http_host;}# external_api.js must be accessible from the root of the# installation for the electron version of Jitsi Meet to work# https://github.com/jitsi/jitsi-meet-electronlocation /external_api.js {alias /docker/nginx/jitsi/libs/external_api.min.js;}}
docker run --name jitsi-nginx -p 443:443 -v /docker/nginx/conf/jitsi.conf:/etc/nginx/conf.d/default.conf:ro -v /docker/nginx/jitsi:/docker/nginx/jitsi -v /etc/localtime:/etc/localtime  --restart always -d dualvenregistry:5000/nginx:latest

参考文章

unix : 手动安装Jitsi-Meet音视频_Runing_Jason的博客-CSDN博客_jitsi-meet

centos: 在全新centos 7 下安装Jitsi-meet_king05800的博客-CSDN博客

讨论论坛

lib-jitsi-meet/doc/example ,when I run it ,something wrong happens · Issue #2060 · jitsi/lib-jitsi-meet · GitHub  上面解决了lib-meet-jitsi引用不出图像的问题

https://community.jitsi.org/

prosody

Prosody - ArchWiki

Configuring Prosody – Prosody IM  有相关的配置说明

其证书安装

https://blog.csdn.net/fengyu09/article/details/50748963/

download of jitsi

https://download.jitsi.org/stable/   下载地址

lib-jitsi-meet  api

lib-jitsi-meet API (low level) | Jitsi Meet


http://www.ppmy.cn/news/264168.html

相关文章

TensorFlow练习20: 使用深度学习破解字符验证码

验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册、灌水、发垃圾广告等等 。 验证码的作用是验证用户是真人还是机器人;设计理念是对人友好,对机器难。 上…

python将图像转化为灰度图像_Python如何将RGB图像转换为Pytho灰度图像?

问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度。 在matlab中,我使用这个: 1 img rgb2gray(imread(image.png)); 在matplotlib tutorial中他们没有覆盖它。他们只是在图像中阅读 1 2 import matplotlib.image as mpimg i…

【计算机视觉】- 如何计算灰度图像 【python 灰度图像】

图像类型:通常我们的数字图像是彩色的3通道RGB图像,R代表红色,G代表绿色,B代表蓝色。 存储方式:通常是uint8 无符号整数,0~255,当然也有24bits 可以表示更多的颜色,虽然这样做可以提…

uploads靶场通关(1-11关)

Pass-01(JS校验) 看题目我们准备好我们的php脚本文件,命名为1.php 上传该php文件,发现上传失败 方法一:将浏览器的JavaScript禁用 然后就能上传了 方法二: 查看源码,发现只能上传以下形式的文…

彩色空间转换实验

彩色空间转换(RGB与YUV) 1.彩色空间转换的基本思想及转换公式 由电视原理可知,亮度和色差信号的构成如下: Y=0.2990R0.5870G0.1140B R-Y=0.7010R-0.5870G-0.1140B B-Y=-0.2990R…

MATLAB图像处理

1. rgb2gray rgb2gray 通过计算 R、G 和 B 分量的加权和,将 RGB 值转换为灰度值: 0.2989 * R 0.5870 * G 0.1140 * B 这些权重与 rgb2ntsc 函数用于计算 Y 分量的权重相同。 在舍入到小数点后 3 位之后,rgb2gray 中用来计算灰度值的系数与…

【JZOJ5870】【NOIP2018模拟9.15】地图 (递推+DP+组合数学)

Problem Hint Solution 首先,图中只会存在链和环。记图中有one个度数为1的点,two个度数为2的点。囿于每条链有两个度数为1的点(链的两端),链的数量是确定的: o n e 2 \frac{one}2 2one​。这时&#xff0c…

Smooth Visualization(UVALive 5870)

题意: 给一个长度不超过100的整数字符串,给每一列输出‘*’和‘’,并且两列加号数量的差要小于等于1(*在列的上面)。也就在两个字符间加一些数字,让两个字符呈升序或降序,然后用‘* 和‘’表示出来(如果两个字符相同或…