1 简介
Janus 是一个开源的,通过 C 语言实现了对 WebRTC 支持的 Gateway;Janus 自身实现得很简单,提供插件机制来支持不同的业务逻辑,配合官方自带插件就可以用来实现高效的 Media Server 服务。
本文主要介绍如何在 Ubuntu 16.04 下搭建起 janus 服务器,实现 janus 官方 Demo 浏览器与 Android APP Demo(janus-gateway-android)之间的音视频通话。
音视频高级开发技术交流+720209036
浏览器打开音视频采集的话需要 HTTPS 加密访问!
效果图如下:
Ubuntu 下 Janus Server 搭建笔记
Janus 官网:https://janus.conf.meetecho.com/index.html
参考文档:https://github.com/meetecho/janus-gateway
2 下载和编译 Janus
编译运行 Janus Server 需要依赖较多的一些第三方库,而这些依赖库在 Ubuntu 下主要通过 aptitude 进行安装,首先通过安装 aptitude:
sudo apt-get install aptitude
2.1 命令安装依赖
Ubuntu 下通过 aptitude 批量安装依赖工具包,这里建议 Ubuntu 镜像源(/etc/apt/source.list)不要为了追求速度而改用了国内的某些镜像源,如 网易 163,这可能会导致某些工具包下载失败,建议依然使用官方自带的镜像源。
批量安装命令:
sudo aptitude install libmicrohttpd-dev libjansson-dev libnice-dev
libssl1.0.1-dev libsrtp-dev libsofia-sip-ua-dev libglib2.3.4-dev
libopus-dev libogg-dev libcurl4-openssl-dev pkg-config gengetopt
libtool automake
sudo apt install cmake
sudo aptitude install libconfig-dev
sudo aptitude install libssl-dev
sudo aptitude install doxygen graphviz
ffmpeg库 支持–enable-post-processing
sudo aptitude install libavcodec-dev libavformat-dev libswscale-dev libavutil-dev
如果出现某个工具包下载失败,请修改镜像源为官方地址,并执行已下命令
sudo apt-get update && sudo apt-get upgrade
以更新镜像源,完成后重新安装。
附录:卸载命令
apt-get remove 会删除软件包而保留软件的配置文件
apt-get purge 会同时清除软件包和软件的配置文件
查找包命令
查找软件包
apt-cache search 软件包名
显示软件包的详细信息
apt-cache show 软件包名
音视频高级开发学习资料扫码+qun获取
Ubuntu 下 Janus Server 搭建笔记
2.2 源码安装依赖
2.2.1 安装 WebSocket
janus 支持 WebSocket 是可选项,如果不安装,编译 janus 时,默认不支持 WebSocket 的链接请求,而 Android APP Demo 是通过 WebSocket 与 janus 进行通信的,因为我们希望 Android APP Demo 能与浏览器(HTTP)进行视频通话,所以就必须要在编译 janus 时支持 WebSocket。
依次执行以下命令,分别进行下载,编译,安装:
git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets
git branch -a 查看选择最新的稳定版本,目前的是remotes/origin/v3.2-stable
git checkout v3.2-stable 切换到最新稳定版本
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" …
make && sudo make install
安装成功后,再编译 janus 时,janus 默认会增加对 WebSocket 的集成,或者通过增加编译参数 --enable-websockets 打开 WebSocket 开关,或 --disable-websockets 关闭 WebSocket 开关。
2.2.2 安装 libsrtp
Janus 需要至少 version 1.5 以上的 libsrtp,如果系统中已经安装了 libsrtp,则首先卸载后,手动安装新版本,这里我们安装 libsrtp 2.2,依次执行以下命令:
wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz
tar xfv v2.2.0.tar.gz
cd libsrtp-2.2.0
./configure --prefix=/usr --enable-openssl
make shared_library && sudo make install
2.2.3 安装libusrsctp
libusrsctp支持–enable-data-channels
git clone