mediasoup-demo安装记录
环境CentOS 7 64位 VMWare12虚拟机(win10主机),安装好NodeJS 10.13(大于8.9就可以)
已按照GitHub说明拉下来代码,配置好Node环境,开始执行npm start,前面具体步骤不再说明,直接从遇见的错误开始
错误1、gcc版本过低
gcc默认4.8.5版本,需要升级
很多博客上的下载源码编译的太麻烦了,终于找到一个简单的,3步完成升级:https://cloud.tencent.com/developer/article/1471685
不过,这个好像不是永久性的,每使用都需要这么干一下 -_-,记到这里方便复制
sudo yum install centos-release-scl
sudo yum install devtoolset--gcc*
scl enable devtoolset- bash
which gcc
gcc --version
错误2、文件未找到
ll 看一下发现 mediasoup@3.2.5 目录没有下载下来
并且最有一步提示 clang-tools-r298696-linux.tgz下载时权限不够
所以直接 rm -rf 掉node_modeles目录
重新 sudo npm install
然后开始下载编译RTC相关的东西,耗时几分钟
后面有一次sudo npm忽然就找不到命令了,不知道什么操作导致的,原因就是sudo执行的是/usr/bin下的程序,普通命令执行的是环境变量下的程序,如果两者不一致,sudo就会报找不到
所以程序如果没有安装在/usr/bin下,一定要在下面建个对应的软连接(快捷方式),参考这里
编译结束,install 完成,耗时6分钟
然后再cd到app目录下install一下,这个倒是没什么错误
cd到server下npm start-->
错误3、日志级别属性未定义
也就是这个东西
该属性来自于config.js配置文件,打开config.js发现根本没有定义这些属性,而config.example.js中正确定义,可能是复制文件的时候手残没有切换分支,把V1分支的复制了过来,重新复制一份配置文件
重新npm start,服务启动成功
然后启动app,4个error
翻译一下,大体意思是说 “可能的竞争条件:可能基于过时的window.SHOW_INFO值重新分配了window.SHOW_INFO”(机翻)。
也就是说这几个参数设置错误,不过服务仍然启动完成
CentOS自带的火狐浏览器会自动打开该网址,然而。。。自动给我屏蔽了
不知道为什么设置浏览器配置后还是无法访问(其实点详细了解->添加例外就可以了,然而虚拟机没有摄像头和麦克风,所以看不到),所以使用Windows上浏览器访问,懒得配置Linux的端口就直接关闭防火墙,否则Windows访问不到3000端口
然而,,,,Windows Chrome也给我拦了,没有证书的假的https是无法被认可的(哈哈哈)
还好可以点击“高级”,“继续前往”,就可以成功访问了,允许打开摄像头麦克风,显示如下
错误4、IP地址未设置
明显又有错误,不过已经成功跑起来了( ̄_ ̄|||)
看服务端server打印信息发现room error
端口绑定失败
mediasoup:ERROR:worker[pid:] RTC::PortManager::Bind() | throwing MediaSoupError: port bind failed due to address not available [udp:1.2.3.4, attempt:] +3m
mediasoup:WARN:Channel[pid:] request failed [method:router.createWebRtcTransport, id:]: port bind failed due to address not available [udp:1.2.3.4, attempt:] +3m
是配置文件中webRtcTransportOptions相关参数没有改过来
改为自己服务器的IP,然后重启server,一切正常,就可以看到如下效果了
至此安装完成,当然这是本地访问,要部署在公网server上的话还需要按说明略作调整。
关于mediasoup一些很有用的例子:https://mediasoup.org/documentation/examples/
mediasoup-demo安装记录的更多相关文章
- 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用 工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...
- sourceinsight安装记录
sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...
- openerp安装记录及postgresql数据库问题解决
ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库 a.安装 sudo apt-get install postgresql 安装后ubu ...
- Matlab安装记录 - LED Control Activex控件安装
Matlab安装记录-LED Control Activex控件安装 2013-12-01 22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- redis5.0.3单实例简单安装记录
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
- mysql5.7安装记录
mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...
- Liunx/RHEL6.5 Oracle11 安装记录
1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...
- zookeeper三节点集群安装记录
以下是3个节点的zk安装记录. 下载 下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/ cd /data/opt/zk wget http://mir ...
随机推荐
- jquery 调用点击事件
触发 click 事件 $(selector).click()
- BurpSuite 汉化版(含注册机)安装教程
1.注册机使用方法 首先需要完成java安装及环境变量配置. 打开burp-loader-keygen.jar(注册机)--点击run--license text (随意写)--然后将生成的lic ...
- C# LINQ学习笔记二:LINQ标准查询操作概述
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...
- flex布局 居中
display:flex;justify-content: center;检查侧轴是否居中,比如古代竖着写字,检查字是否在每条竹简的中央. display:flex;align-items: cent ...
- ssh排错思路
telnet远程22端口refused 先netstat -utnlp 看一下22端口监听状态(一般都不在监听) 然后systemctl restart sshd 如果有报错,执行sshd - ...
- LaTeX技巧010:LaTtex中如何给每个句子加序号?
效果图: 代码: \documentclass{article} \newcounter{sentence} \renewcommand\thesentence{\textsuperscript{\a ...
- 在linux系统中配置NVMe over FC
在linux系统中配置NVMe over FC与配置NVMe over TCP类似,前5步操作请参考<在linux系统中配置NVMe over TCP>,网页连接如下: https://w ...
- RN开发-ReactJS组件
虚拟DOM :将真实的DOM结构虚拟成json类型数据 props : 不可改变,用于数据传递 state : 组件属性,主要用来存储组件自身需要的数据,每次改变都会引起组件的更新 ...
- NIO 和BIO
讲讲NIO? 传统的IO流是阻塞式的,会一直监听一个ServerSocket,在调用read等方法时,他会一直等到数据到来或者缓冲区已满时才返回.调用accept也是一直阻塞到有客户端连接才会返回.每 ...
- shell脚本编程学习笔记(一)
一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.sh ...