Ubuntu 18.04 编译安装Janus

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tanningzhong/article/details/88133393

找了全网没看到有关18.04安装Janus的文档,特此记录,当然最好的文档是官方的编译文档,目录在Janus的Git官网的README.md文件。下文主要记录一下准备环境过程中的坑,有些坑已经避免,所以直接贴出了采坑后的解决方案了。

准备环境

  • 安装基础必备软件包

    sudo aptitude install libmicrohttpd-dev libjansson-dev libnice-dev libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev pkg-config gengetopt libtool automake gtk-doc-tools autoconfig autogen gcc g++ libconfig++-dev doxygen graphviz
    
  • 安装libnice

    git clone https://gitlab.freedesktop.org/libnice/libnice
    cd libnice
    ./autogen.sh
    ./configure --prefix=/usr
    make && sudo make install
    
  • 安装websocket

    git clone https://github.com/warmcat/libwebsockets.git
    cd libwebsockets
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..
    make && sudo make install
    
  • 安装Node

    不要使用Ubuntu自带软件管理下载安装Node,后续会出错,去Node官网 下载

    1. tar -xJf node-v11.10.1-linux-x64.tar.xz -C /opt   //解压到opt目录下
    2. sudo ln -s /opt/node-v11.10.1-linux-x64/bin/node /usr/local/bin/node //建立链接到 /usr/local/bin/ 目录
    3. sudo ln -s /opt/node-v11.10.1-linux-x64/bin/npm /usr/local/bin/npm //npm建立执行链接
    4. npm -v
    5. node -v //可以查看具体信息
    
  • 安装http-server

    sudo npm -g install http-server #这是一种最便捷的安装方式
    
  • 安装libsrtp

    wget https://github.com/cisco/libsrtp/archive/v2.1.0.tar.gz
    tar xfv v2.1.0.tar.gz
    cd libsrtp-2.1.0
    ./configure --prefix=/usr --enable-openssl
    make shared_library && sudo make install
    

编译安装

  • 编译Janus

    git clone https://github.com/meetecho/janus-gateway.git
    sh autogen.sh
    ./configure --prefix=/opt/janus --enable-websockets --enable-docs
    make
    sudo make install
    

部署测试

  • 部署Janus

    • 进入/opt/janus/etc/janus/ 把jcfg文件都复制一份去掉sample后缀
  • 启动http

    进入janus源码目录的html目录,执行

    /opt/node-v11.10.1-linux-x64/bin/http-server
    
    输入如下:
    Starting up http-server, serving ./
    Available on:
      http://127.0.0.1:8080
      http://172.16.34.129:8080
    Hit CTRL-C to stop the server
    
  • 启动Janus

    /opt/janus/bin/janus --debug-level=7 --log-file=$HOME/janus-log
    
  • 测试

    • 打开浏览器输入http://172.16.34.129:8080/ 实际输入自己的ip地址,也可以使用127.0.0.1
    • 在Demos里面选择Echo Test,如果搭建成功是可以看到自己音视频输出的

问题汇总

  • 问题一

    提示“npm : Depends: node-gyp (>= 0.10.9) but it is not going to be installed”

    解决办法

    出现这种一定是使用了系统的Node,按照上述步骤到Node官网下载正确的版本配置安装即可,安装之前记得卸载系统自带的

    sudo apt remove npm  //卸载npm
    sudo apt remove node //卸载node
    cd /usr/local/bin   //进入该目录中,若有node或者npm文件,将他删除删除
    
  • 问题二

    编译libsrtp时候出现“crypto/include/aes_gcm_ossl.h:58:20: error: field ‘ctx’ has incomplete type”

    解决办法

    下载2.1版本即可解决,上述步骤是下载正确的版本。

  • 问题三

    编译Janus时候如果开启了选项 --enable-docs,提示“error: Doxygen 1.8.13 too new”,目前解决办法是去掉这个选项。

猜你喜欢

转载自blog.csdn.net/tanningzhong/article/details/88133393