官网: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搭建成功了。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐