mediasoup-demo 编译
创始人
2025-06-01 04:13:33
0

mediasoup-demo 编译

    • 一 环境准备
      • 1 安装nvm
      • 2 安装node
      • 3 安装python
      • 4 安装pip
    • 二 编译 mediasoup-demo
      • 1 克隆代码
      • 2 配置server
      • 3 配置app
    • 三 结果

一 环境准备

系统: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”错误,改用谷歌浏览器一切正常
在这里插入图片描述


相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...