Linux下nginx源码安装并关联rtmp模块
卸载原有的nginx
1
sudo apt autoremove nginx
下载nginx源码
1
wget http://nginx.org/download/nginx-1.15.3.tar.gz
解压源码
1
tar -zxvf nginx-1.15.3.tar.gz
下载nginx rtmp模块
1
wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
解压rtmp模块
1
tar -zxvf v1.2.1.tar.gz
安装编译nginx所需要的库
1
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev -y
进入nginx的解压目录
1
cd nginx-1.15.3/
关联rtmp模块
1
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
编译安装
1
make && make install
启动nginx,查看效果
1
./bin/sbin/nginx
Linux下配置上一步安装好的nginx
编辑nginx配置文件
1
vim bin/conf/nginx.conf
根结点下新增rtmp配置,如下
1
2
3
4
5
6
7
8
9
10
11
12rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
record off;
allow play all;
max_connections 1024;
}
}
}保存后,重启nginx服务
1
./bin/sbin/nginx -s reload
windows下安装FFmpeg,用来推流
- 访问
https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-latest-win64-static.zip
,下载最新版FFmpeg - 解压到相关目录
Windows下使用FFmpeg进行推流测试
在上图中,框起来的地方输入cmd,按enter
推流,[host]换成你的服务器地址,[port]换成你的nginx监听rtmp协议的端口
1
ffmpeg.exe -i 1.mp4 -f flv rtmp://[host]:[port]/live/room
Windows下使用支持rtmp协议的播放器测试
- 以爱奇艺万能视频播放器举例
- 选择在线播放,输入地址
rtmp://[host]:[port]/live/room
,地址保证和你上面推流的地址相同即可
- 成功
附上一个使用video.js播放rtmp直播流视频的demo
注意:需要在服务器上运行,可以是本地服务器,不能直接使用浏览器打开
demo代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<meta charset="utf-8" />
<title>Player</title>
<link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
</head>
<body>
<video id="video" class="video-js vjs-default-skin" controls autoplay="autoplay" width="640" height="320" data-setup='{}'>
<source src="rtmp://www.zimo.wiki/live/room" type="rtmp/flv" />
</video>
<script src="https://unpkg.com/video.js/dist/video.js"></script>
<script src="https:[email protected]/dist/videojs-flash.min.js"></script>
</body>
</html>效果