准备ubuntu20 虚拟机

注意:切换root用户 sudo su,否则以下很多命令要加sudo;

linux新版本推荐apt(低版本apt-get还能用)

一  安装工具

apt install git

apt install make

apt install nginx

apt install python

apt install net-tools

二  安装janus依赖库

apt install libmicrohttpd-dev
apt install libjansson-dev
apt install libssl-dev
apt install libsofia-sip-ua-dev
apt install libglib2.0-dev
apt install libopus-dev
apt install libogg-dev
apt install libcurl4-openssl-dev
apt install liblua5.3-dev
apt install libconfig-dev
apt install pkg-config
apt install gengetopt
apt install libtool
apt install automake
apt install libwebsockets-dev
apt install librabbitmq-dev
apt install libnanomsg-dev
apt install libnice-dev
apt install gtk-doc-tools
apt install doxygen

apt install graphviz

注意:apt源上的libsrtp(数据加密)没有将ssl编译进去,所以需要源码编辑,将ssl功能编译进去。下载,解压,生成makefile,编译,安装步骤如下。

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

三 安装janus-gateway

git clone https://github.com/meetecho/janus-gateway.git

cd janus-gateway

sh autogen.sh

./configure --prefix=/usr/local/janus

ll Makefile(确认makefile生成成功没)

make -j 4

sudo make install

make configs

四 安装在coturn

coturn依赖项先安装

apt install libevent-dev

apt install libpq-dev

apt install mysql-client

apt  install libmysqlclient-dev

apt install libhiredis-dev

git clone https://github.com/coturn/coturn

cd coturn

./configure

make

sudo make install

which turnserver(查看安装情况)

(sudo cp /us从默认的配置文件中复制生成Coturn的配置文件)

turnserver.confr/local/etc/turnserver.conf.default    /usr/local/etc/turnserver.conf

使用openssl生成证书

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes

五 janus配置

基于安全隐私问题,Webkit内核的浏览器共享视频、语音、经纬度坐标等必须通过https形式访问。为了体验Janus,就必须启用https服务,配置包括janus的https开启和Nginx服务器的https开启。

1 申请ssl证书

2 vim /usr/local/janus/etc/janus/janus.jcfg

certificates配置项如下:

certificates: {

cert_pem = "/etc/ssl/cert/domain.cert.pem"

cert_key = "/etc/ssl/cert/domain.key.pem"

}

3 nat配置项如下:(其中的用户名及密码为turnserver.conf中配置的用户名及密码)

nat: {stun_server = "domain.com"stun_port = 3478nice_debug = true#full_trickle = true#ice_lite = trueice_tcp = true...turn_server = "domain.com"turn_port = 3478turn_type = "udp"turn_user = "user"turn_pwd = "passwd"     

4 传输的配置开启https打开,否则无法使用WebRTC

vim /usr/local/janus/etc/janus/janus.tranport.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/domain.club.pem"
    cert_key = "/etc/nginx/cert/domain.club.key"
    ...
}

六 nginx配置

Nginx开启https服务必须要有证书和密钥,获取到证书和密钥后,我们在/etc/nginx目录下创建一个cert目录,将文件拷贝进去,供我们后续使用。

这里自建nginx证书

openssl req -x509 -newkey rsa:2048 -keyout /etc/nginx/cert/nginx.key -out /etc/nginx/cert/nginx.crt -days 99999 -nodes

建立新的nginx配置文件 vim /etc/nginx/conf.d/domain.janus.conf

并添加如下内容

server {listen 0.0.0.0:443 ssl;listen [::]:443 ssl;# tls configuration that is not covered in this guide# we recommend the use of https://certbot.eff.org/server_name doman.com;# set the rootroot /opt/janus/janus-gateway/html;index index.html;location ~ ^/([a-zA-Z0-9=\?]+)$ {rewrite ^/(.*)$ / break;}location / {ssi on;}ssl_certificate /etc/letsencrypt/live/fullchain.pem; # managed by Certbotssl_certificate_key /etc/letsencrypt/live/privkey.pem; # managed by Certbot
}

启动nginx

nginx -t &nginx -s reload

启动janus

cd /usr/local/janus/bin

sudo ./janus

打开控制台,查询本机ip地址192.168.2.158

浏览器访问web服务器的地址,https://192.168.2.158:443/(切记https不能省略,否则浏览器默认使用http协议访问,就会导致400 band request访问错误)

打开demo->Echo Test->start,若浏览器打开了摄像头即说明janus搭建成功。

janus流媒体服务器搭建相关推荐

  1. Janus流媒体服务器信令分析

    Janus流媒体服务器信令分析 目录 房间配置文件 API分类 Video Room房间管理 VideoRoom Publishers VideoRoom Subscribers video room ...

  2. Janus流媒体服务器框架分析

    Janus流媒体服务器框架分析 目录 webrtc多方通信架构 Janus流媒体服务器 1. webrtc多方通信架构 1. Mesh 方案 Mesh方案即多个终端之间两两进行连接,形成一个网状结构. ...

  3. 1.RTMP流媒体服务器搭建

    RTMP流媒体服务器搭建 目录 安装srs流媒体服务器 测试srs流媒体服务器 使⽤OBS推流 1. 安装srs流媒体服务器(参考:RTMP分发) srs官⽹:https://github.com/o ...

  4. linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享

    vlc 由videolan.org 出品,开源免费的一款本地和网络播放器,支持个音视频格式非常多,还可以用来搭建 rtsp 流媒体服务器,非常好用,支持的平台很多:windows.mac.linux都 ...

  5. SRS流媒体服务器搭建流程-简单实用版

    #SRS流媒体服务器搭建流程-简单实用版 经过查阅很多博客,讲述的都不是很完善而且还把我搞的晕头转向,经过查阅20多篇文章特整理出简单的,SRS流媒体服务器搭建以及推流和拉流的一整套流程. #安装环境 ...

  6. 本地RTMP流媒体服务器搭建拉流简易版

    本地RTMP流媒体服务器搭建. 一.火力牛摄像头配置 ip 为服务器的ip 二.本地搭建rtmp服务器 https://blog.csdn.net/szydwy/article/details/786 ...

  7. 流媒体服务器搭建亲测有效(srs)

    流媒体服务器搭建流程 第一步 去官网下载srs的源码文件官网地址:[https://github.com/ossrs/srs#usage] 说明:建议下载4.0版本,3.0的需要flash的支持.目前 ...

  8. NDK 直播流媒体服务器搭建

    该文章首发于微信公众号"字节流动". 本博客 NDK 开发系列文章: NDK 编译的三种方式 NDK 开发中引入第三方静态库和动态库 NDK 开发中 Native 与 Java 交 ...

  9. nginx+nginx-rtmp-module的流媒体服务器搭建(记录)

    搭建nginx+nginx-rtmp-module的流媒体服务器 第一步: 下载 nginx 1.7.11.3 Gryphon.zip 版本nginx:(此版本不用编译 nginx-rtmp-modu ...

最新文章

  1. php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建
  2. 小型电商web架构!小而美!
  3. Linux 段错误详解
  4. mysql 唯一编号_Mysql表中唯一编号的分配机制
  5. 腾讯技术直播间 | 零代码打造智能对话机器人
  6. java 计算26个字母在一段文本中出现的频率(保留小数点后4位)
  7. 作者:​郭海红(1987-),女,中国医学科学院医学信息研究所助理研究员。...
  8. android开发板功能,Android中NFC模块PN532开发板应用/原理图/PCB等全部资料
  9. 输入防插错过压保护电路
  10. Ardence BXP 3.5 - 4.1 PNP 方法
  11. CentOS7.2安装linux版QQ
  12. 计算机cmd管理员,cmd获取管理员权限的命令是什么
  13. java实现压缩包嵌套压缩包的下载
  14. 永不消逝的电波(三):低功耗蓝牙(BLE)入门之如何调戏别人的小米手环
  15. 100多个免费API接口分享 调用完全不限次数,以后总用得着
  16. 获取Angular中的AngularJS功能
  17. php 时间加法函数_PHP中时间加减函数strtotime用法分析
  18. 网络舆情监测与分析研判工作如何高效做好的解决方案
  19. 开拓者终变落荒者,火箭大胜进第二轮
  20. 我决定谈一谈世界上最著名的虫子:BUG !

热门文章

  1. screen安装使用
  2. ELK-日志分析系统
  3. 乒乓球训练机_首款乒乓球训练机器人来了 马龙继科给你当陪练
  4. 训练选好拍 少走弯路进步快 SJMD智能乒乓球训练拍
  5. 在使用evo进行orb-slam2轨迹评估时提示时间戳没有对齐的问题
  6. 一条短信骗走你所有财产!骗子是怎么做到的?
  7. 华为OD机试 - 转骰子
  8. 全球首个微信应用号开发教程!
  9. January 14th Tuesday 2010
  10. jupyter notebook显示行号