随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

mediasoup-demo公网安装部署

一、概述

  1.环境描述

  1. CentOS 7.3
  2. Node v14.13.1
  3. gcc 8.3.1
  4. python 2.7
  5. npm 7.23.0
  6. cnpm 7.0.0

  2.mediasoup-demo:使用的最新版本的:

  https://github.com/versatica/mediasoup-demo.git  

1
2
3
git clone https://github.com/versatica/mediasoup-demo.git
cd mediasoup-demo
git checkout v3  ,//此处要切换到v3版本

  

二、具体操作步骤

  1.mediasoup-demo的目录结构

  

  2.cd 到server目录并执行 npm/cnpm install

  3.在当前目录下执行:cp  config.example.js config.js ,ps:复制config.example.js为config.js,完成后结果如下图所示:

  

  4.执行vim config.js 对其内容进行更改该

    a.把ssl证书改成你自己的,并把端口改为443

    

    b.更改webRtcTransportOptions和plainTransportOptions的IP地址

    

    c.此时的config.js就更改完成了。

  5.将目录切换到mediasoup-demo的app目录

  

    a.执行npm install,等待执行完成

    b.使用vim 打开gulpfile.js并更改其默认端口为80(这个端口你可以随便设置,也可以不更改)

    

    c.找到 app->lib目录下的urlFactory.js,使用vim打开,并更改其端口号,因为再server中的端口改为了443,所以这里也需要改为443.

    

    d.使用gulp命令打包app,会在 server的public目录下生成相关的文件

    

    e.新建一个简单的Https服务,并把在mediasoup-demo ---->server------>public 目录下的内容发布到此服务上。server的代码如下: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict'//使用严格的javascript语法
 
const https = require('https');
const express = require('express');
const serve_index = require('serve-index');
const fs = require('fs');
 
 
const options={
        key: fs.readFileSync('/csr/你自己的.key'),
      cert: fs.readFileSync('/csr/你自己的.top.pem')
};
 
const app = express();
//将public目录发布出去
app.use(serve_index('./public'));
app.use(express.static('./public'));
 
const https_server = https.createServer(options,app);
 
https_server.listen(80);
    

    f.npm start server.js 启动这个简单的服务区

    g.切换到mediasoup-demo --->server目录执行npm start server.js启动mediasoup-demo的服务

    h.在浏览器中输入https://ip地址:80/index.html 就可以查看具体的效果了

    i.效果图:因为我是台式电脑,所以这个截图是在手机上的展示效果。

    

三、遇到的问题

  1.mediasoup-demo  server.js绑定端口失败:RTC:PortManager::Bind() | throwing MediaSoupError:port bind failed due to address not available

  

  解决办法:问题产生的原因是mediasoup-demo server目录下的config.js的webRtcTransportOptions和plainTransportOptions的IP地址没有配置对,把ip地址配置成0.0.0.0就没问题了。

 

  2.mediasoup-demo app目录下执行npm install时报错 :Error: Invalid tag name ">=^16.0.0": Tags may not have any characters that encodeURIComponent encodes

  

  解决办法:执行npm install --legacy-peer-deps

  

 

posted on   飘杨......  阅读(1176)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2016-09-13 -bash: /usr/local/bin/react-native: No such file or directory
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示