CentOS7编译Janus

Janus官网地址

本次编译使用的Janus版本为0.7.4

1.需要准备的组件

yum install libconfig libmicrohttpd libconfig-devel libmicrohttpd-devel

按照官方的说明,准备以下开源库编译

  • Jasnsson 最新版本 2.12

  • libsrtp 最新版本 2.2.0

  • gengetopt 2.23

    注意Binary Package和Source Package都建议安装

  • libnice

    其中如果你是CentOS7.2或以下,由于GLIb的版本依赖问题,只能用0.1.13版本。0.1.13版本比较老,而且实测发现一些BUG,因此建议使用7.3以上(最新更好)的CentOS版本。前两天刚出的Janus0.7.5,官方已经推荐使用0.1.15版本的libnice。

  • Sofia-SIP

    如果不使用NO-SIP,而使用SIP接入,一般推荐使用Sofia-SIP,libre比较坑。问题是官方推荐的版本在CentOS下无法正常运行,需要使用linphone的修改版。直接用我Fork的这个版本即可。

全部子模块编译完成后,编译Janus

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
./autogen.sh
./configure --disable-plugin-textroom --disable-plugin-nosip --disable-plugin-videoroom --disable-plugin-voicemail --disable-unix-sockets --disable-websockets --disable-plugin-recordplay --prefix=/opt/janus
make
make install
make configs

2.常规配置

常见的需要修改的项目:

  • janus.jcfg
log_to_file 日志路径
certificates 配置证书文件;如果不是可信证书,需要和你最终访问的WEB页面一致
nat_1_1_mapping 配置服务端外网地址
rtp_port_range 用于与webrtc客户端相连的RTP端口
  • janus.plugin.sip.jcfg 或 janus.plugin.nosip.jcfg,看你用哪套
rtp_port_range 调整对内的RTP端口段(不加密)

3.其他

  1. 已知0.7.4存在少量内存泄露,可以通过gperftools看出。查看0.8.0源码,相关问题已修复。
  2. 近期尝试了用CYGWIN编译,可以编译通过。使用默认环境带的ICE库存在丢包,就是前面提到的0.1.13的BUG。升级0.1.15后,streaming模块拉流异常很奇怪,暂时没继续搞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值