mediasoup-demo 编译
一 环境准备
系统:ubuntu 18.04
node 版本v16.19.1
python版本 3.7.9
1 安装nvm
(1) 下载nvm-0.38.0.tar.gz
https://github.com/nvm-sh/nvm/releases
(2) 配置
// 解压nvm-0.38.0.tar.gz
tar -xvzf nvm-0.38.0.tar.gz
// 进入nvm目录
cd nvm-0.38.0
// 执行nvm.sh
. nvm.sh
// 到根目录
cd
// 将nvm加到环境变量
vim .bashrc
// 增加内容(备注NVM_DIR根据自己的实际情况配置目录)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
// source .bashrc
source .bashrc
2 安装node
nvm use 16.19.1
3 安装python
(1) 下载python
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.9.tgz
或从官网下载
https://www.python.org/downloads/release/python-379/
// 下载完之后我们创建一个文件夹用于安装位置
sudo mkdir /usr/local/python3.7.9
// 我们将终端位置移动到下载好文件的位置,然后进行解压文件
sudo tar -zxvf Python-3.7.9.tgz
// 解压完成后进入到解压好的文件夹中
cd Python-3.7.0/
// 进行配置安装位置,,这里安装位置选择刚刚我们创建的文件夹,也可以选择别的位置
./configure --prefix=/usr/local/python3.7.9/
// 下面进行编译
sudo make
// 编译完成之后进行安装
sudo make install
- List item
// 删除已有的软连接
sudo rm /usr/bin/python
sudo rm /usr/bin/python3
配置新的软连接
sudo ln -s /usr/local/python3.7.9/bin/python3.7 /usr/bin/python3
sudo ln -s /usr/local/python3.7.9/bin/python3.7 /usr/bin/python
4 安装pip
(1) 下载get-pip.py
wget https://bootstrap.pypa.io/get-pip.py
(2) 配置
// 将 get-pip.py 放到python的统计目录,比如: /usr/local/python3.7.9/bin
./python3.7 get-pip.py
// 创建软连接
sudo ln -s /usr/local/python3.7.9/bin/pip3 /usr/bin/pip
sudo ln -s /usr/local/python3.7.9/bin/pip3 /usr/bin/pip3
二 编译 mediasoup-demo
1 克隆代码
// 获取的代码分支时v3, 如果不是v3 需要切换分支
git clone https://github.com/versatica/mediasoup-demo.git
2 配置server
备注:配置config 和 添加https密钥,也可在npm install后 执行
(1) 配置config
cd mediasoup-demo/server
cp config.example.js config.js
vim config.js
// 修改的内容
27 {
28 cert : `${__dirname}/certs/a_com.crt`,
29 key : `${__dirname}/certs/a_com_nopass.key`
30 }
(2)添加https密钥
备注: 执行下面操作,可以在certs目录下生成a_com.crt 和 a_com_nopass.key文件
// 执行openssl genrsa -des3 -out a_com.key 1024时,需要输入密码,由此生成的.key会有a_com.key
// a_com_nopass.key两种,程序配置使用的是a_com_nopass.key
cd mediasoup-demo/server/certs
openssl genrsa -des3 -out a_com.key 1024
openssl req -new -key a_com.key -out a_com.csr
openssl rsa -in a_com.key -out a_com_nopass.key
openssl x509 -req -days 365 -in a_com.csr -signkey a_com.key -out a_com.crt
(3)下载依赖
nmp install
(4) 启动
npm start
3 配置app
(1)下载依赖
cd mediasoup-demo/app
npm install
// 或
// 备注: 如果报“invaild tag name ">=16.0.0"of package "react@>=^16.0.0"” 用下面命令
npm install --legacy-peer-deps
(2) 启动
npm start
三 结果
备注: 火狐浏览器报:“WebSocket connection failed”错误,改用谷歌浏览器一切正常