ubuntu20.04,一定要确保能够ping通github.com因为我们有很多依赖包需要从上面下载
首先安装node.js >=16版本
sudo apt-get update
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
为node换源
查看node源:sudo npm config get registry
设置淘宝镜像地址:sudo npm config set registry https://registry.npmmirror.com
下载mediaSoup代码:
git clone https://github.com/versatica/mediasoup-demo.git
cd mediasoup-demo
git checkout v3
更换server下和app下的packege.json的东西:
server
app:
修改完成后切入到server下执行npm install,如果失败就删除node_modle多执行几次:
第一次使用sudo npm install --legacy-peer-deps执行失败没有装node-gyp
安装gyp:sudo npm install -g node-gyp
第二次执行npm install 失败
删除node_modules重新install
第三次npm install 失败,没有装make
安装make:apt install -y make
第四次install失败,没装g++
安装g++:apt install -y g++
第五次npm install成功:
由于mediaSoup是https连接需要秘钥:
在server下创建一个certs文件夹sudo mkdir certs,进入certs中
编写一个生成秘钥sh文件,并给它执行权限:
内容:
#!/usr/bin/env bash
# When OpenSSL prompts you for the Common Name for each certificate, use different names.
# CA key
openssl genrsa -out ca.key 2048
# CA csr
openssl req -new -subj "/CN=ca" -key ca.key -out ca.csr
# CA crt
openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -days 3650
# server key
openssl genrsa -out server.key 2048
# server.csr
openssl req -new -subj "/CN=server" -key server.key -out server.csr
# server.crt
openssl x509 -req -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
# server.crt verify
openssl verify -CAfile ca.crt server.crt
# client key
openssl genrsa -out client.key 2048
# client.csr
openssl req -new -subj "/CN=client" -key client.key -out client.csr
# client.crt
openssl x509 -req -in client.csr -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
# client.crt verify
openssl verify -CAfile ca.crt client.crt
# md5 checksum
md5sum * > md5.txt
保存执行:
sudo ./xxx.sh
会在certs下生成秘钥
将crt和key的路径贴在config.js中,并将config中的ip换成我们的ip:
保存启动:npm start:
server启动成功
新开一个窗口
cd到app路径下,执行npm install再执行npm start
由于server已经把坑全填了,app异常顺利:
浏览器访问3000端口:OK