jitsi各工程编译笔记(一)各工程大概
目錄
背景
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
生成密鑰
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
總結
以上是生活随笔為你收集整理的jitsi各工程编译笔记(一)各工程大概的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins(二)之自定义Robot
- 下一篇: 零基础学python知乎-知乎:参与量化