使用mediasoup-demo搭建多人音视频聊天室

一. 环境搭建 

安装 nodejs,npm,尽量使用较新的 nodejs 版本,最好 >= node 16

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

sudo apt install nodejs

安装 gulp:sudo npm install -g gulp-cli

安装 build-essential:sudo apt install build-essential

二. mediasoup-demo部署

1. 下载 mediasoup-demo 代码

git clone https://github.com/versatica/mediasoup-demo.git

2. 进入 mediasoup-demo/server 目录,安装所需依赖(这个过程可能会久一点,请耐心等待)

cd mediasoup-demo/server

npm install

3. 在 mediasoup-demo/server 目录下从 config.example.js 拷贝出一个新文件 config.js

cp config.example.js config.js

4. 在 mediasoup-demo/server 目录下新建 certs 目录,进入 certs 目录后使用 openssl 生成自签名证书

openssl genrsa -out privkey.pem 2048

openssl req -new -key privkey.pem -out csr.pem

openssl x509 -req -in csr.pem -signkey privkey.pem -out fullchain.pem

5. 启动 mediasoup-demo-server,成功启动后输出页面如下:

MEDIASOUP_ANNOUNCED_IP=主机对应的IP地址 npm start

6. 进入 mediasoup-demo/app 目录,将 app 目录代码通过 http 的形式暴露出来:

cd mediasoup-demo/app

npm start

执行成功后输出页面如下

7. 在浏览器端输入第7步产生的 Access URLs 即可,效果如下: 

三.  其他说明

        由于国内网络限制的原因,npm install 步骤很可能会失败,失败后通常在启动的时候就提示各种函数找不到,可以去 node_modules 下看是不是没把对应的库下载下来,如果确实无法 npm install 下载完成所有包,也可以使用 docker 方式部署,参考这篇文章