mediasoup-demo公网安装部署
一、概述
1.环境描述
- CentOS 7.3
- Node v14.13.1
- gcc 8.3.1
- python 2.7
- npm 7.23.0
- 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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