mediasoup demo公網部署

2021-10-10 09:01:11 字數 2784 閱讀 9709

通過nvm安裝的node.js開發執行環境 (這裡獲取最新的nvm install script)

curl -o- | bash

完成後,退出再登陸,使環境變數生效。

如果安裝出錯,移除nvm也很方便,記一下

cd ~

rm -rf .nvm

同時刪除~/.profile, ~/.bash_profile, ~/.zshrc, ~/.bashrc檔案中關於nvm的配置

比如.bashrc裡的export nvm_dir 那段語句刪除,其他類似

這裡補充一下:

sudo su -

注意後面的-,su 後面不加使用者是預設切到 root。su 是不改變當前環境變數,su - 是改變為切換目標使用者的環境變數,也就是說su只能獲得root的執行許可權,不能獲得root的環境變數,而su -是切換到root並獲得root的環境變數及執行許可權。

安裝node.js v14.0.0(目前的最新版)

nvm ls-remote

nvm install 14.0.0

npm install -g node-gyp

npm install --global gulp-cli

node-gyp gulp-cli 有的時候不需要單獨執行安裝指令,你如果遇見相關的問題提示,就單獨安裝一下好了。

centos7預設的gcc版本是v4.8.5,mediasoup由於用了大量c++11特性,要求》= 4.9。編譯安裝太麻煩了,我直接執行下面的命令安裝v9。

sudo yum install centos-release-scl

sudo yum install devtoolset-9-gcc*

scl enable devtoolset-9 bash

which gcc

gcc --version

注意,重新登入後執行下scl enable devtoolset-9 bash進行切換就好了,否則還是預設的版本。

生成步驟:

openssl genrsa -out server.key 2048

openssl req -new -key server.key -out server.csr

openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

cat server.crt server.key > server.pem

就不解釋命令列了,好多資料一查便知。

注意第二步,根據私鑰生成證書申請檔案csr時會讓輸入一些相關資訊,直接回車忽略好了,只有

common name (eg, your name or your server's hostname) :

這裡的問題,要輸入自己的網域名稱或者 ip,必填項,不可跳過。

完成後,將server.key server.pem放在指定目錄。

git clone

cd mediasoup-demo

git checkout v3

**有4個目錄

cd server

npm install

cp config.example.js config.js

vi config.js

主要有幾個地方

}},listenip我用0.0.0.0,也沒發現有問題。注意這裡的4443埠,也許瀏覽器也要單獨訪問下 忽略安全問題放行,否則你的wss連線會被拒絕,比如firefox。

listenips :

[],

可能ip需要設定成外網ip,但是我用'0.0.0.0'也能使用。其他暫時預設吧。

啟動 npm start

安裝記錄顯示我還執行了下面兩條,但是忘了是為了解決什麼出錯資訊了,先記著。

npm cache clean --force

npm install -g npm

這裡要補充下,如果是safari,提示安全問題,忽視進入就可以了。

如果是firefox,還需要單獨 訪問下 ,忽略安全問題,繼續,否則wss連線會被拒絕。

用訪問會隨機分配乙個roomid,另乙個客戶端就可以帶上這個roomid加入,比如

?roomid=0umla1f2&info=true&forceh264=true

引數info=true會開啟統計欄,forceh264=true會強制使用h264。放個圖

MediaSoup demo模組增加nginx

相關連線 webrtc 框架學習 一 mediasoup基本框架學習 使用docker 搭建mediasoup服務 mediasoup demo模組增加nginx 使用docker 搭建mediasoup服務 github專案路徑 docker hub 路徑 nginx 配置檔案 nginx.con...

內網ip 公網ip

a類位址的第一組數字為1 126。注意,數字0和 127不作為a類位址,數字127保留給內部回送函式,而數字0則表示該位址是本地宿主機,不能傳送。b類位址的第一組數字為128 191。c類位址的第一組數字為192 223。1.a類位址 a類位址的表示範圍為 0.0.0.0 126.255.255.2...

Iptables實現公網IP DNAT SNAT

iptables實現nat是最基本的功能,大部分家用路由都是基於其snat方式上網,使用iptables實現外網dnat也很簡單,不過經常會出現不能正常nat的現象。以下命令將客戶端訪問1.1.1.1的http資料dnat到2.2.2.2,很多人往往只做這一步,然後測試不能正常連線。1 iptabl...