NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放
Posted boonya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放相关的知识,希望对你有一定的参考价值。
网上关于视频直播的资料还是挺多的,看了一些文章,自己也动手实践了下。主要有三个步骤:(1)nginxRTMP服务器搭建(2)视频录制推流器 (3)拉流器(播放器),有了这些就可以开始简单视频相关的直播了。对于延时什么的,还需要深入去研究 ,以及如何进行视频开发等后续再深入研究。
Nginx-RTMP服务器搭建
参考:利用nginx搭建RTMP视频点播、直播、HLS服务器
Nginx点播设置:
worker_processes 1;
events
worker_connections 1024;
##################RTMP服务#################
rtmp
server
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小
application video
play /usr/local/data/video; #//视频文件存放位置,访问方式rtmp://localhost:1935/video
#如视频路径存有视频welcome.mp4访问路径即为rtmp://localhost:1935/video/welcome.mp4
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;
Nginx直播配置:
worker_processes 1;
events
worker_connections 1024;
##################RTMP服务#################
rtmp
server
listen 1935;
chunk_size 4096;
application video
play /usr/local/data/video;
application live #第一处添加的直播字段
live on;
####启动浏览器查看http://localhost:80/stat
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/;
location /
root html;
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
Nginx直播回放配置:
worker_processes 1;
events
worker_connections 1024;
##################RTMP服务#################
rtmp
server
listen 1935;
chunk_size 4096;
application video
play /usr/local/data/video;
application live
live on;#直播模式
hls on; #这个参数把直播服务器改造成实时回放服务器。
wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。
hls_path /usr/local/data/hls; #切片视频文件存放位置。
hls_fragment 10s; #每个视频切片的时长。
hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟。
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
http
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server
listen 80;
server_name localhost;
location /stat
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
location /stat.xsl
root /usr/local/nginx/nginx-rtmp-module/;
location /live #这里也是需要添加的字段。
types
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
alias /opt/video/hls;
expires -1;
add_header Cache-Control no-cache;
location /
root html;
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
OBS下载及录制推流
下载地址1:http://www.pc6.com/down.asp?id=410276
下载地址2:http://www.obsapp.net/
下载地址3:https://obsproject.com/
这里以下载地址一的OBS版本与Nginx直播模式配置为例I端口相应的做了调整(http Server listen 1990):
设置步骤:
1、添加场景
2、添加来源:显示器获取 、音频获取等等
3、设置RTMP的服务器路径,并设置流名称
4、开始录制、开始推流
5、验证是否直播成功,打开浏览器http://172.16.20.10:1990/stat,看到如下界面表示直播正常。
VLC视频流播放
参考:RTMP、RTSP、HTTP视频协议详解VLC下载网上一搜就有了。
只需要设置播放流地址就可以验证前面配置的直播地址了:
直播中:
以上是关于NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放的主要内容,如果未能解决你的问题,请参考以下文章
搭建Nginx+nginx-rtmp-module的hls流媒体服务器并用OBS进行推流
搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmphls直播流及普通视频)