作者:gaoyong0713 | 来源:互联网 | 2024-11-04 11:09
1.Janus简介Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器,它支持在Linux的服务器或MacOS上的机器进行编译和安装。由于Janus 是使用
1.Janus简介
Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器,它支持在Linux的服务器或MacOS上的机器进行编译和安装。由于Janus 是使用C语言进行编写的,因此它的性能十分优秀。Janus 的整体架构图如下图所示。
Janus 主要由三个部分组成,分别是Core、Plugin和Transport,下面是相关模块的介绍:
- Core: Janus的核心部分,其作用是处理数据流的转发,以及各种协议的接入,是WebRTC技术的具体实现。
- Plugin:Janus插件,Janus的业务管理是按照Plugin的方式管理的,因此开发者可以在Janus中根据自己的需要实现自己的业务插件。实际上,对于一般性的需求,Janus已经有相关的插件。其中,可使用 VideoRoom视频房间插件进行多人音视频互动。
- Transport:Janus的信令传输层,Janus并没有限定信令接口使用的信令传输协议,当前支持的协议有HTTP、WebSocket、MQTT、NanoMsg和RabbitMQ。
从整体架构上看,Janus支持众多传输协议,并且采用业务插件架构设计模式。因此,Janus流媒体服务器十分适合多种业务模型或业务经常变化的公司或项目使用。
2.安装步骤
2.1安装依赖组件
yum install -y epel-release
yum update -y
安装依赖包
yum install jansson-devel \
openssl-devel glib2-devel \
opus-devel libogg-devel pkgconfig gengetopt \
libconfig-devel libtool autoconf automake gtk-doc make gcc gcc-c++ git cmake
yum install glib22-devel
yum install doxygen graphviz
//有时会报找到glibc2.0,执行下面的安装可以解决
yum install libgnomeui-devel
//安装curl要求7.45以前,太新的版也不支持,会报错,这里安装7.47.1版本,下rpm包安装
rpm -qa|grep curl
rpm -e curl-devel
rpm -e --nodeps libcurl
rpm -e --nodeps curl
rpm -e --nodeps curl-devel
rpm -qa|grep curl
rpm -ivh libcurl-7.47.1-1.1.el7.x86_64.rpm
rpm -ivh libcurl-devel-7.47.1-1.1.el7.x86_64.rpm
rpm -ivh curl-7.47.1-1.1.el7.x86_64.rpm
rpm -ivh curl-debuginfo-7.47.1-1.1.el7.x86_64.rpm
2.2 安装libnice 0.1.16
需要先卸载系统安装的老版本
安装步骤如下:
cd libnice
./autogen.sh
./configure --prefix=/usr
make && sudo make install
2.3 安装libsrtp,1.X或2.X都可以 1.54 2.2
wget https://github.com/cisco/libsrtp/archive/v1.5.4.tar.gz
tar xfv v1.5.4.tar.gz
cd libsrtp-1.5.4
./configure --prefix=/usr --enable-openssl
make shared_library && sudo make install
2.4 安装usrsctp
需要卸载系统安装的老版本
安装步骤如下:
cd usrsctp
./bootstrap
./configure --prefix=/usr && make && sudo make install
2.5 安装libmicrohttpd,当启用http-rest接口时需要使用,最低v0.9.70
cd libmicrohttpd-0.9.70
./configure
make && make install
2.6 安装libwebsockets
git clone https://github.com/warmcat/libwebsockets && \
mkdir libwebsockets/build && cd libwebsockets/build && \
cmake -DMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" .. && \
make && make install
有几次安装-DMAKE_INSTALL_PREFIX:PATH=/usr参数不生效,需要增加环境变量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
2.7 安装janus-gateway
export PKG_CONFIG_PATH=:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
cd janus-gateway
sh autogen.sh
./configure --prefix=/opt/janus --enable-docs --disable-rabbitmq --disable-mqtt --enable-rest
make && make install && make configs
如果启动的时候如报找不到库则可以增加LD_LIBRARY_PATH的路径