janus流媒体服务器搭建
准备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.conf
r/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流媒体服务器搭建相关推荐
- Janus流媒体服务器信令分析
Janus流媒体服务器信令分析 目录 房间配置文件 API分类 Video Room房间管理 VideoRoom Publishers VideoRoom Subscribers video room ...
- Janus流媒体服务器框架分析
Janus流媒体服务器框架分析 目录 webrtc多方通信架构 Janus流媒体服务器 1. webrtc多方通信架构 1. Mesh 方案 Mesh方案即多个终端之间两两进行连接,形成一个网状结构. ...
- 1.RTMP流媒体服务器搭建
RTMP流媒体服务器搭建 目录 安装srs流媒体服务器 测试srs流媒体服务器 使⽤OBS推流 1. 安装srs流媒体服务器(参考:RTMP分发) srs官⽹:https://github.com/o ...
- linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享
vlc 由videolan.org 出品,开源免费的一款本地和网络播放器,支持个音视频格式非常多,还可以用来搭建 rtsp 流媒体服务器,非常好用,支持的平台很多:windows.mac.linux都 ...
- SRS流媒体服务器搭建流程-简单实用版
#SRS流媒体服务器搭建流程-简单实用版 经过查阅很多博客,讲述的都不是很完善而且还把我搞的晕头转向,经过查阅20多篇文章特整理出简单的,SRS流媒体服务器搭建以及推流和拉流的一整套流程. #安装环境 ...
- 本地RTMP流媒体服务器搭建拉流简易版
本地RTMP流媒体服务器搭建. 一.火力牛摄像头配置 ip 为服务器的ip 二.本地搭建rtmp服务器 https://blog.csdn.net/szydwy/article/details/786 ...
- 流媒体服务器搭建亲测有效(srs)
流媒体服务器搭建流程 第一步 去官网下载srs的源码文件官网地址:[https://github.com/ossrs/srs#usage] 说明:建议下载4.0版本,3.0的需要flash的支持.目前 ...
- NDK 直播流媒体服务器搭建
该文章首发于微信公众号"字节流动". 本博客 NDK 开发系列文章: NDK 编译的三种方式 NDK 开发中引入第三方静态库和动态库 NDK 开发中 Native 与 Java 交 ...
- nginx+nginx-rtmp-module的流媒体服务器搭建(记录)
搭建nginx+nginx-rtmp-module的流媒体服务器 第一步: 下载 nginx 1.7.11.3 Gryphon.zip 版本nginx:(此版本不用编译 nginx-rtmp-modu ...
最新文章
- php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建
- 小型电商web架构!小而美!
- Linux 段错误详解
- mysql 唯一编号_Mysql表中唯一编号的分配机制
- 腾讯技术直播间 | 零代码打造智能对话机器人
- java 计算26个字母在一段文本中出现的频率(保留小数点后4位)
- 作者:​郭海红(1987-),女,中国医学科学院医学信息研究所助理研究员。...
- android开发板功能,Android中NFC模块PN532开发板应用/原理图/PCB等全部资料
- 输入防插错过压保护电路
- Ardence BXP 3.5 - 4.1 PNP 方法
- CentOS7.2安装linux版QQ
- 计算机cmd管理员,cmd获取管理员权限的命令是什么
- java实现压缩包嵌套压缩包的下载
- 永不消逝的电波(三):低功耗蓝牙(BLE)入门之如何调戏别人的小米手环
- 100多个免费API接口分享 调用完全不限次数,以后总用得着
- 获取Angular中的AngularJS功能
- php 时间加法函数_PHP中时间加减函数strtotime用法分析
- 网络舆情监测与分析研判工作如何高效做好的解决方案
- 开拓者终变落荒者,火箭大胜进第二轮
- 我决定谈一谈世界上最著名的虫子:BUG !