如何搭建Janus WebRTC服务器
webrtc服务器有很多,licode/janus/kurento/mediasoup/jitsi,之前搭建licode分别在PC和手机上也看到效果,今天也尝试搭建janus看看效果。
搭建janus也可以参考官网:https://janus.conf.meetecho.com/docs/README.html
本文搭建环境是Ubuntu16.04 Server版的VMware虚拟机 http://releases.ubuntu.com/16.04/
第一步:安装janus依赖库和工具,并设置环境变量
apt install git aptitude
aptitude install libmicrohttpd-dev libjansson-dev libssl-dev libcurl4-openssl-dev
aptitude install libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libsrtp-dev
aptitude install liblua5.3-dev pkg-config gengetopt libtool automake
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
第二步:安装依赖库libnice库
git clone https://gitlab.freedesktop.org/libnice/libnice
cd libnice
./autogen.sh
./configure --prefix=/usr
make
make install
注:如果遇到gtkdocize: not found 问题
执行sudo apt-get install gtk-doc-tools即可。
第三步:安装依赖库libsrtp库。
wget https://github.com/cisco/libsrtp/archive/v2.0.0.tar.gz
tar xfv v2.0.0.tar.gz
cd libsrtp-2.0.0
./configure --prefix=/usr --enable-openssl
make shared_library
sudo make install
第四步:安装websocket
janus 支持 WebSocket 是可选项,可能不安装
gitclonehttps://github.com/warmcat/libwebsockets.git
cd libwebsockets
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic"..
make && sudo make install
第六步 STUN\TURN服务器
wget http://coturn.net/turnserver/v4.5.0.7/turnserver-4.5.0.7.tar.gztar xvfz turnserver-4.5.0.7.tar.gz
cd /turnserver-4.5.0.7./configure
make install
vim /usr/local/etc/turnserver.conf
relay-device=bond0
listening-ip=192.168.10.17 #内网IP
listening-port=3478
tls-listening-port=5349
relay-ip=192.168.10.17
external-ip=124.160.xxx.xxx #外网IP
relay-threads=50
lt-cred-mech
cert=/cert/cert.pem
pkey=/cert/key.pem
user=xie:123456
min-port=3480
max-port=3500
realm=webrtc.xxx.com
a.启动STUN\TURN服务器
/usr/local/bin/turnserver -c /usr/local/etc/turnserver.conf -o
非常重要,telnet 内网/外网/域名 IP 3478 端口 都要通才行
iCE测试地址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
第六步:安装主程序janus-gateway,参数 --enable-websockets 打开 WebSocket 开关
git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh
./configure --prefix=/usr/local/janus --enable-websockets
make
make install
make configs
注:编译期间如果遇到No package 'libconfig' found,可以使用apt-get install libconfig-dev 或sudo apt-get install libconfig8-dev。
第七步:启动janus
注:启动时最好有root权限!!!
/usr/local/janus/bin/janus
启动成功会看到以下打印信息:
Janus commit: 6b916658a88e29a0991007f6f79b6961ee02c784
Compiled on: Fri Nov 16 23:28:12 PST 2018
---------------------------------------------------
Starting Meetecho Janus (WebRTC Server) v0.5.0
---------------------------------------------------
第八步:启动http/https服务
搭建nginx服务
-------------------
1. 安装nginx
sudo apt install nginx
2. 创建配置文件
cd /etc/nginx/conf.d
vi a.conf
因为nginx默认包含conf.d目录,目录下.conf文件包含的服务都会被启动
3. 如要增加http服务,则在aaa.conf加入以下内容
server {
listen 80;
server_name 192.168.2.14;
charset utf-8;
location / {
root /usr/local/www/files; #网页所在目录
index index.html; #网页文件名
}
}
4.如需要增加https服务,则先准备一对秘钥(公钥mycert.pem+私钥mycert.key)
然后在在aaa.conf加入以下内容
server {
listen 443;
server_name 192.168.2.14;
charset utf-8;
ssl on;
ssl_certificate /path/to/certs/mycert.pem; #公钥完整路径
ssl_certificate_key /path/to/certs/mycert.key; #私钥完整路径
location / {
root /path/to/www/files; #网页所在目录
index index.html; #网页文件名
}
}
5. service nginx start
启动nginx。可以查看状态是否成功:service nginx status
-------------------
最后启动nginx: service nginx start
注:如果有打洞服务器,也要启动,如:./janus –stun-server=210.22.76.173:3478
第九步:测试效果
打开浏览器,输入https://服务器ip,打开了页面后,
依次选择 demos->Video Room->Start; 输入任意用户名,进入房间;
然后在打开另一个浏览器窗口,依次操作,即可看到效果。
在PC和手机都可以看到。