环境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安装记录的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  3. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  4. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  5. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  6. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  7. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  8. mysql5.7安装记录

    mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...

  9. Liunx/RHEL6.5 Oracle11 安装记录

    1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...

  10. zookeeper三节点集群安装记录

    以下是3个节点的zk安装记录. 下载 下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/ cd /data/opt/zk wget http://mir ...

随机推荐

  1. GYCTF 盲注【regexp注入+时间盲注】

    考点:regexp注入+时间盲注 源码: <?php # flag在fl4g里 include 'waf.php'; header("Content-type: text/html; ...

  2. 54.Python中Meta类常见的配置

    对于一些模型级别的配置.我们可以通过在模型中定义一个类,叫做Meta.然后在这个类中添加一些属性来控制模型的作用. 注意:添加的这个类一定要是Meta,否者的话Django就会不能够识别. from ...

  3. JAVA并发同步互斥实现方式总结

    大家都知道加锁是用来在并发情况防止同一个资源被多方抢占的有效手段,加锁其实就是同步互斥(或称独占)也行,即:同一时间不论有多少并发请求,只有一个能处理,其余要么排队等待,要么放弃执行.关于锁的实现网上 ...

  4. Java连载85-集合的Contains和Remove方法

    一.包含与删除两种方法解析 1.boolean contains(Object o);判断集合中是否包含某个元素. package com.bjpowernode.java_learning; imp ...

  5. int long的数据范围

    java 整数型 byte 1字节   -128~127  -2^7~2^7-1 short 2字节 -32768~32767 int  4个字节 -2147483648~2147483647  -2 ...

  6. 《深入理解java虚拟机》读书笔记九——第十章

    第十章 早期(编译期)优化 1.Javac的源码与调试 编译期的分类: 前端编译期:把*.java文件转换为*.class文件的过程.例如sun的javac.eclipseJDT中的增量编译器. JI ...

  7. 天兔修改登录页的title

    1.将 /opt/lampp/htdocs/lepus/application/views/login.php 文件中 第6行 <title><?php echo $this-> ...

  8. PHP实现微信公众号分享接口

    还是一贯风格:用代码说话!!! <?php class ShareModel extends BaseModel { var $appId = APPID; var $appSecret = A ...

  9. C++ log4cpp使用(转)

    参考文章: 1.常用C++库(1)日志库 https://blog.csdn.net/qilimi1053620912/article/details/87378707 2.一步步入门log4cpp  ...

  10. android 获取所有SD卡目录

    //返回sd卡路径public static List<String> getStorageDirectories(Context context) { StorageManager sm ...