mediasoup-demo 编译

该文详细介绍了在Ubuntu18.04系统上编译mediasoup-demo的过程,包括环境准备(安装nvm、nodev16.19.1、python3.7.9及pip)、编译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”错误,改用谷歌浏览器一切正常
在这里插入图片描述


### 如何在云服务器上部署和运行 Mediasoup Demo #### 准备工作 为了确保Mediasoup Demo能够在云服务器上顺利运行,需先确认云服务器的操作环境已准备好。这通常意味着已经安装了必要的软件包和支持工具,比如Node.js、Docker等。 #### 部署步骤 进入`mediasoup-demo/app`目录并执行命令来启动客户端应用: ```bash cd mediasoup-demo/app && gulp live ``` 对于服务端部分,在完成源码获取之后,切换到`server`文件夹内通过如下指令来进行容器化构建[^1]: ```bash cd mediasoup-demo/server ./docker/build.sh ``` 接着利用Docker运行预先准备好的镜像,这里指定了映射本地与容器内部网络端口的方式以便外部访问,并挂载了一个卷用于持久化存储配置或其他重要数据: ```bash docker run -it --rm \ --name=mediasoup-demo \ -p 4443:4443/tcp \ -p 2000-2020:2000-2020/udp \ -p 2000-2020:2000-2020/tcp \ -v /home/mediasoup:/src/mediasoup \ mediasoup-demo:latest ``` 如果遇到因某些原因导致官方提供的自动化脚本无法正常工作的状况,则可以考虑直接从npm仓库拉取最新版本的mediasoup库进行尝试性修复[^3]: ```bash npm i mediasoup@3 --save ``` 另外一种更为简便的方法是从第三方维护者那里下载预编译好的Docker镜像以及配套使用的启动脚本来简化整个过程[^2]: ```bash sudo docker pull lc0060305/mediasoup-demo:v5 wget https://cdn.avdancedu.com/image/article/docker/v1/run.sh chmod +x run.sh ./run.sh ``` 以上操作完成后,理论上应该可以在指定地址查看到正在运行中的Mediasoup演示实例的效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值