官网:https://janus.conf.meetecho.com/
GitHub:https://github.com/meetecho/janus-gateway
操作系统:Ubuntu-Server 20.04
janus版本:[v0.10.6]-2020-10-05
一、安装工具
sudo apt-get install git
sudo apt-get install make
sudo apt-get install nginx
sudo apt-get install python
sudo apt-get install net-tools
二、基础依赖库
janus依赖库比较多,可以参考官方GitHub上面的文档,各个依赖库的作用上面有详细说明。
sudo apt-get install libmicrohttpd-dev
sudo apt-get install libjansson-dev
sudo apt-get install libssl-dev
sudo apt-get install libsofia-sip-ua-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libopus-dev
sudo apt-get install libogg-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install liblua5.3-dev
sudo apt-get install libconfig-dev
sudo apt-get install pkg-config
sudo apt-get install gengetopt
sudo apt-get install libtool
sudo apt-get install automake
sudo apt-get install libwebsockets-dev
sudo apt-get install librabbitmq-dev
sudo apt-get install libnanomsg-dev
sudo apt-get install libnice-dev
sudo apt-get install gtk-doc-tools
sudo apt-get install doxygen
sudo apt-get install graphviz
除了以上这些可以通过 apt工具安装的依赖包外,还有一个依赖库是必须通过源码安装的,它就是libsrtp库。libsrtp库的主要作用是对数据进行加密。之所以要通过源码安装,是因为在apt源上的libsrtp库没有将ssl库编译上,而Janus又需要使ssl库对数据做最终的加密,所以我们只能使用源码的方式安装了。否则运行Streaming插件时会出现错误:Oops, error creating inbound SRTP session for component 1 in stream 1
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
三、编译安装
git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh
./configure --prefix=/opt/janus
make
sudo make install
四、默认参数
拷贝默认配置文件到janus安装目录,详细的配置可以打开文件/opt/janus/etc/janus/janus.cfg按照注释进行配置。
sudo make configs
五、Nginx服务器配置
基于安全隐私问题,Webkit内核的浏览器共享视频、语音、经纬度坐标等必须通过https形式访问。为了体验Janus,就必须启用https服务了,配置包括janus的https开启和Nginx服务器的https开启。
首先Nginx要开启https服务必须要有证书和密钥,这个可以从阿里云免费申请,也可以用自签名证书,步骤比较复杂,可自行百度了解相关过程。
获取到证书和密钥后,我们在/etc/nginx目录下创建一个cert目录,将文件拷贝进去,供我们后续使用。
我们来看Nginx的配置,需修改/etc/nginx/sites-available/default文件:
sudo gedit default
- 增加HTTPS的443端口的监听
- 修改项目的根目录为janus的demos目录
- 设置SSL证书和密钥
Nginx常用命令如下,修改完成后若想配置文件生效我们可以使用restart命令重启:
sudo service nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}
六、janus参数配置
我们来看janus的配置,若要开启https服务需修改/opt/janus/etc/janus/janus.transport.http.jcfg
文件,修改内容如下:
general: {
...
https = true # Whether to enable HTTPS (default=false)
...
}
admin: {
...
admin_https = true # Whether to enable HTTPS (default=false)
...
}
certificates: {
cert_pem = "/etc/nginx/cert/www.xiongbinbin.club.pem"
cert_key = "/etc/nginx/cert/www.xiongbinbin.club.key"
...
}
七、janus启动运行
cd /opt/janus/bin
sudo ./janus
打开控制台,查询本机ip地址。
然后在浏览器中输入web服务器的地址,比如:https://192.168.0.101:443/(切记https不能省略,否则浏览器默认使用http协议访问,就会导致400 band request访问错误)
打开demo,进入Echo Test,点击start若浏览器打开了摄像头即说明janus搭建成功了。