转自https://blog.csdn.net/kingroc/article/details/50839994,略有修改
开发环境:
CentOS7
Nginx 1.14.2
nginx-rtmp-module
Nginx服务器的搭建
前面部分参考//www.greatytc.com/p/fe7e06fb574c
- 配置并编译nginx
使用nginx的默认配置,添加nginx的rtmp模块
./configure --add-module=../nginx-rtmp-module-master
make
make install
- 测试nginx能否运行
输入/usr/local/nginx/sbin/nginx
,回车
打开浏览器,输入服务器地址,如果如下图则nginx运行成功
点播视频服务器的配置(RTMP)
- 编辑nginx的配置文件,配置RTMP
worker_processes 1;
events {
worker_connections 1024;
}
rtmp { #RTMP服务
server {
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小
application vod {
play /home/video; #//视频文件存放位置。
}
}
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
在/home/video文件夹中放入视频文件,我放入了一个music.mp4
重新启动一下nginx,/usr/local/nginx/sbin/nginx -s reload
注意,如果服务器是配置在阿里云上的话,要在安全组配置中把RTMP端口号1935配置好,否则无法播放。这里其实就是注意防火墙端口配置问题
打开视频播放软件(这里使用VLC播放器),菜单中选择“媒体”,然后选择“打开网络串流”输入点播地址rtmp://localhost/vod/music.mp4
如果成功则如下图会播放相应视频。
直播视频服务器的配置
接着我们就在点播服务器配置文件的基础之上添加直播服务器的配置。一共2个位置
- 第一处就是给RTMP服务添加一个application这个名字可以任意起,也可以起多个名字,由于是直播我就叫做它live吧,如果打算弄多个频道的直播就可以live_cctv1、live_cctv2名字任意。
- 第二处就是添加两个location字段,字段的内容请直接看文件吧。
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application vod {
play /home/video;
}
application live{ #第一处添加的直播字段
live on;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location /stat { #第二处添加的location字段。
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl { #第二处添加的location字段。
root /usr/local/nginx/nginx-rtmp-module/;# 你的rtmp模块所在文件夹
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
添加完后重启nginx打开http://localhost/stat,会有下图所示
配置obs,
-
添加媒体源,填入本地相应的视频路径
-
配置输出流
- 点击开始录制
此时可以查看http://localhost/stat看看服务器是否接收到录制的节目。
有支持rtmp协议的播放器就可以试试了,这里可以使用vlc播放器,输入rtmp://localhost/live/test,查看直播节目。