Mediasoup项目实践(一)mediasoup-demo部署

本文首发地址:开源实践网:Mediasoup项目实践(一)mediasoup-demo部署
Mediasoup部署环境依赖

  • ubuntu
  • Node.js v14.0.0
  • GCC v9.1.1
  • Python 2.7.5 (3也可以,需要指定版本)

一.依赖环境安装

1.1 nvm 的安装(用于管理node)

//安装
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
//刷新环境
source ~/.bashrc
//验证
nvm -v

1.2 安装 node

 //安装node
 nvm install v10.16.3
 //更新npm
 npm -g install npm@6.13.4
 //切换阿里镜像(方便后边安装)
 npm config set registry "http://registry.npm.taobao.org/"

1.3 安装 git

//安装
sudo apt-get install git
//验证
git --version

1.4 安装 python

//更新apt
sudo apt update
sudo apt install software-properties-common
 //DeadsnakesPPA源添加
sudo add-apt-repository ppa:deadsnakes/ppa
 //安装
sudo apt install python3.8
 //验证
python3.8 --version

1.5 安装 make

//更新列表
apt-get update
//安装
apt-get install make
//验证
make -v

1.6 安装 gcc and g++

//安装build-essential DEB包
sudo apt install build-essential
//验证
gcc --version

二.mediasoup-demo的server 部署

按上面的步骤,部署完环境依赖后,开始demo的server部署
2.1 mediasoup-demo的源码获取

//使用git拉取项目(本人的clone的gtee镜像)
git clone git@gitee.com:redskt/mediasoup-demo.git
//进入项目
cd mediasoup-demo
//切换到v3分支
git checkout v3

2.2 服务端安装

 //进入server(服务端文件夹)
    cd server
 //安装(含编译过程 请耐心等待)
   npm install  
 //若安装过程出现python命令未找到,请使用下方命令进行安装
   PYTHON=python3 npm install mediasoup@3 --save

注:这里可能因为网络问题导致安装不成功,可以将package.json中的库依赖修为引用自己gitee库的写法,必须先将mediasoup库拷贝到gitee上,当然你可以直接使用我下面的写法

引用git的写法
 "mediasoup": "github:versatica/mediasoup#v3"
引用自己的写法
 "mediasoup": "https://gitee.com/redskt/mediasoup.git#v3",

参考自https://www.npmjs.cn/files/package.json/
2.3 设置服务器配置文件

 //拷贝一份配置文件
 cp config.example.js config.js
 //打开配置文件
 sudo gedit config.js

2.4 配置相关信息

在打开的config.js里的大概123行140行 分别可找到
webRtcTransportOptions: 和 plainTransportOptions: 相关配置
这里是远程服务端测试环境配置:

webRtcTransportOptions :
    {
         listenIps : [
             {
                    ip : '0.0.0.0'  // (这里ip查看方法 -> ip addr ),
                    announcedIp : '192.168.0.103'  //修改为服务端的IP地址,如果是公网则为外网  
                }
          ],
        }

//同理 这里也需要修改
       plainTransportOptions :
        {
             listenIp :
                {
                     ip: '192.168.0.103'(这里ip查看方法 -> ip addr ),
                     announcedIp :‘192.168.0.103’  //修改为服务端的IP地址,如果是公网则为外网
                },
        }

2.5 配置https证书
服务器的https证书阿里云上申请免费证书

    1.在server下新建certs文件夹
    2.将上一步生成的证书放在certs文件夹下
    3.大概26行可以找到证书配置地址
         // Listening hostname (just for `gulp live` task).
        domain : 'webrtc.xxxx.com',  你自己的域名
        // Signaling settings (protoo WebSocket server and HTTP API server).
        https  :
        {
                listenIp   : '0.0.0.0',
                // NOTE: Don't change listenPort (client app assumes 4443).
                listenPort : process.env.PROTOO_LISTEN_PORT || 4443,
                // NOTE: Set your own valid certificate files.
                tls        :
                {
                        //  你自己的证书
                        cert : process.env.HTTPS_CERT_FULLCHAIN || `${__dirname}/certs/5372190_webrtc.xxxx.com.pem`,
                        key  : process.env.HTTPS_CERT_PRIVKEY || `${__dirname}/certs/5372190_webrtc.xxxx.com.key`
                }
        },

    4.将server.pem和server.key改为你的相关证书

2.6 启动服务端

//进入server(服务端文件夹)
cd server
//启动
npm start
 //当然 也可以用debug模式启动
DEBUG="*mediasoup* *ERROR* *WARN*" INTERACTIVE="true"  node server.js

2.7 安装并启动客户端

进入 app 文件夹
 cd app
 //安装同理
 npm install
 npm start

当控制台出现以下信息时,代表服务搭建已经成功


到此,整个demo搭建成功,我们可以尝试使用多个设备进入房间查看一下推拉流功能,后序我们这边讲使用NA端进入同一个房间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容