一、janus介绍

Janus 官网:https://janus.conf.meetecho.com/index.html
参考文档:https://github.com/meetecho/janus-gateway
Janus是一个开源的WebRTC网关,可用于构建实时通信应用程序。它提供了音频、视频和数据传输的功能,可以与WebRTC兼容的浏览器、移动应用程序和服务器进行通信。
他是一个轻量级的网关,具有灵活的架构和模块化的设计。它采用插件方式实现不同的功能,如媒体流处理、会话管理、NAT穿透等。这使得开发者可以根据自己的需求选择和定制所需的功能模块。
Janus支持多种协议,包括WebSocket、HTTP和RESTful API,可以与各种平台和应用程序集成。它还提供了强大的API,使开发者可以方便地进行开发和扩展。
Janus具有高度可扩展性和灵活性,可以支持大规模应用程序和高并发场景。它还提供了监控和调试工具,方便开发者进行故障排除和性能优化。
总而言之,Janus是一个功能强大、灵活可扩展的WebRTC网关,适用于构建实时通信应用程序。它是开源的,可以根据需要进行定制和扩展,非常适合开发者使用。

二、janus安装

centos下安装janus

Janus是一个提供实时音视频流处理的开源服务器,可以在CentOS或Ubuntu等多种操作系统上搭建。由于Janus是基于C/C++编写的,通常需要较多的依赖库,因此在安装时可能会遇到一些困难。
在CentOS上搭建Janus,可以参考以下步骤:
1.安装依赖库:

sudo yum update
sudo yum install cmake gcc-c++ git python make
sudo yum install openssl-devel libwebsockets-devel libsrtp-devel libssl-devel
sudo yum install uuid-devel
sudo yum install libmicrohttpd-devel
sudo yum install jansson-devel
sudo yum install libuuid-devel
sudo yum install libnice-devel
sudo yum install glib2-devel
sudo yum install usrsctp-devel
sudo yum install libwebsockets-devel
sudo yum install libmicrohttpd-devel
sudo yum install libavcodec-devel libavformat-devel libswscale-devel
  1. 获取Janus源码:
git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
  1. 编译安装:
sh autogen.sh
./configure --prefix=/opt/janus
make
sudo make install
  1. 配置并启动Janus:
cd /opt/janus
./configure
./ctlscript.sh start

Ubuntu上搭建Janus

1.环境准备

1.编译运行 Janus Server 需要依赖较多的一些第三方库,而这些依赖库在 Ubuntu 下主要通过 aptitude 进行安装,首先通过安装 aptitude:

sudo apt-get install aptitude
sudo apt-get update
sudo apt-get update && sudo apt-get upgrade

2.安装相关依赖

 sudo apt install build-essential
 sudo aptitude install libmicrohttpd-dev libjansson-dev libnice-dev  libsofia-sip-ua-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

3.编译glib
不要执行sudo aptitude install libglib2.3.4-dev 命令,该命令无法正常下载glib

git clone https://github.com/GNOME/glib.git
git checkout glib-2-64
mkdir build
meson build
ninja -C build
sudo ninja -C build install

4.安装websocket
编译 janus 时,默认不支持 WebSocket 的链接请求,必须要在编译 janus 时支持 WebSocket。

git clone https://gitee.com/embedded-lib/libwebsockets.git 
或 git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets
git branch -a 查看选择最新的稳定版本, 
git checkout v4.3.0 切换到较新稳定版本
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..
make && sudo make install

5.安装libsrtp

git clone https://gitee.com/MediaNext/libsrtp.git
cd libsrtp
git checkout v2.3.0
./configure --prefix=/usr --enable-openssl
make shared_library && sudo make install
  1. 安装libmicrohttpd
wget https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.71.tar.gz
tar zxf libmicrohttpd-0.9.71.tar.gz
cd libmicrohttpd-0.9.71/
./configure
make
sudo make install
2.下载及编译janus
git clone https://gitee.com/easyhao/janus-gateway.git
或git clone https://github.com/meetecho/janus-gateway.git
git tag 查看当前的 tag,选择最新稳定的版本v0.10.4
git  checkout v0.10.4
sh autogen.sh
./configure --prefix=/opt/janus --enable-websockets --enable-post-processing --enable-docs --enable-rest 
make
sudo make install
04-14 10:16