美文网首页
Mediasoup项目实践(一)mediasoup-demo部署

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

作者: 搬砖的作家 | 来源:发表于2021-03-24 14:57 被阅读0次

    本文首发地址:开源实践网:ubuntu 18.04 安装 Redis
    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端进入同一个房间

    相关文章

      网友评论

          本文标题:Mediasoup项目实践(一)mediasoup-demo部署

          本文链接:https://www.haomeiwen.com/subject/ttxhhltx.html