Nginx 搭建RTMP视频点播 直播 HLS服务器

安装Nginx

--下载nginx-rtmp-module模块
git clone https://github.com/arut/nginx-rtmp-module.git

--安装依赖
yum install -y wget gcc gcc-c++ make pcre pcre-deve zilib zlib-devel openssl-devel

--下载Nginx源码包并解压
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

--编译安装
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/nginx-rtmp-module/
make && make install

点播视频服务的配置 

--编辑主配置文件
vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
include /usr/local/nginx/conf.d/*.conf;
http {
    include       mime.types;
    default_type  application/octet-stream;
}

--编辑子配置文件
vim /usr/local/nginx/conf.d/default.conf
rtmp {
  server {
  listen 8080;  #设置端口号
  chunk_size 4096;  #设置数据传输块的大小

application live {  
  play /usr/local/nginx/html/live;  #设置视频文件的位置
}
}
}

--上传一个视频文件
[root@localhost nginx]# ls /usr/local/nginx/html/live/
ckwlq.mp4

--重载配置文件
/usr/local/nginx/sbin/nginx -s reload

打开VLC软件 

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

直播服务的配置 

--编辑配置文件
vim /usr/local/nginx/conf.d/default.conf   #添加直播服务配置
rtmp {
  server {
  listen 8080;
  chunk_size 4096;

application video {    #配置直播服务
   live on;
}
application live {
  play /usr/local/nginx/html/live;
}
}
}

--重载配置文件
/usr/local/nginx/sbin/nginx -s reload

安装OBS工具 

由于我用的是deepin系统,所以这里只演示deepin系统下的操作,windows系统百度下载OBS软件即可

--安装ffmpeg
sudo apt install ffmpeg

--安装OBS
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update
sudo apt install obs-studio

--运行OBS
root@linux:/# obs

使用OBS进行直播 

点击右上角文件在点击设置

点击来源的 + 号选择 `屏幕捕抓(XSHM)`

点击开始推流 

设置VLC播放的地址 rtmp://172.16.0.160:8080/video

实时回放视频服务 

--编辑主配置文件
vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
include /usr/local/nginx/conf.d/*.conf;
http {
    include       mime.types;
    default_type  application/octet-stream;
server {
  listen 80;
  server_name localhost;

 location /live {   #这里也是需要添加的字段
   types {  
   application/vnd.apple.mpegurl m3u8;  
   video/mp2t ts;  
}
  alias /usr/local/nginx/html/live;   
  expires -1;
  add_header Cache-Control no-cache;  
}  
}
}


--编辑子配置文件
vim /usr/local/nginx/conf.d/default.conf   #添加直播服务配置
rtmp {
  server {
  listen 8080;
  chunk_size 4096;

application live {    #配置直播服务
   live on;
   hls on;   #设置回放视频服务
   hls_path  /usr/local/nginx/html/live;  #设置切片视频文件存放位置
   wait_key on;   #对视频切片进行保护,这样就不会产生马赛克了
   hls_fragment 10s;  #设置HLS 分段长度
   hls_playlist_length 60s;  #总共可以回看的事件,这里设置的是1分钟
   hls_continuous on; #连续模式
   hls_cleanup on;    #对多余的切片进行删除
   hls_nested on;     #嵌套模式
}
application video {
  play /usr/local/nginx/html/video;
}
}
}

--创建切片视频文件存放文件夹
[root@host1 /]# mkdir /usr/local/nginx/html/live/

--重启nginx
/usr/local/nginx/sbin/nginx -s reload

使用obs设置提流地址进行直播

验证 

--查看是否产生切片视频文件
[root@host1 html]# ls live/
0.ts  1.ts  2.ts  3.ts  4.ts  5.ts  index.m3u8

数据统计模块 

数据统计模块是http 模块,因此统计命令应该位于http 模块中
--编辑主配置文件,添加以下配置
[root@host1 /]# vim /usr/local/nginx/conf/nginx.conf
location /livestatus {
  rtmp_stat all;
  rtmp_stat_stylesheet stat.xsl; #将流媒体的状态全部记录到'stat.xsl'中
}
location /stat.xsl {
  root /nginx-rtmp-module/;
}

--重载配置文件
/usr/local/nginx/sbin/nginx -s reload

验证 

浏览器访问'http://172.16.0.160/livestatus'

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一款免费的流媒体直播软件,主要用于流媒体直播视频直播视频点播视频录制等应用,与FMS、WOWZA、RED5一道,作为用户流媒体直播应用的可选方案。 1、支持Windows/Linux等多种操作系统; 2、采用开发的流媒体协议,而非私有协议,可以与主流系统对接,至少支持RTMP推流,RTMP拉流,RTSP拉流三种方式获取直播流,支持对获取的直播流再按照TS组播或者单播,RTMP,RTSP,HLS,TS OVER HTTP,FLV OVER HTTP等标准流媒体协议的方式进行对外直播转发; 3、支持录制,可定时录制或手动录制,能录制MP4或者FLV格式文件,录制时支持生成新文件或者追加文件两种方式,支持录制超过4G的文件; 4、单台服务器可支持1000个以上并发用户,直播延时小于2秒; 5、支持RTMP转发功能,能够把AMS上的直播流转发给其它AMS服务器或者第三方的RTMP服务器,例如RED5,FMS,WOWZA流媒体服务器; 6、 支持PC/手机/平板电脑等多终端访问,无论是windows,linux,或者andriod以及IOS系统访问收看直播时都无需下载插件,直接观看; 7、响应点播时间控制在100ms以内,支持暂停、拖动等特技操作; 8、支持文件直播,可把硬盘上存在的FLV文件编目后,按设定好的任务和顺序进行直播; 9、内置Web应用系统,无需复杂配置,可直接部署到用户服务器使用,也可以选配更复杂的媒资管理系统,完成类似优酷土豆的应用模式; 10、开放的系统架构,提供二次开发接口,可轻松的融入到用户已有的平台或网站平台中、或在此基础上进行二次开放等 ------------------------------------------------------------------------- 使用说明: 1、关于安装运行:软件解压到硬盘上后,执行AokuMServiceManager,即可完成AMS服务的安装,安装完成后,在Windows系统服务中会出现一个AokuMService服务; 2、关于端口:AMS默认的管理端口是9001,可通过浏览器登陆http://127.0.0.1:9001/main.html进行管理;AMS默认的RTMP端口是1935,默认的rtsp端口是5554,默认的flv over http端口是7000,默认的ts over http端口是8008,默认的hls端口也是9001; 3、关于推流:使用直播你需要有一个支持rtmp推流的编码器,建议用奥酷全接口高清编码器,当然你也可以通过FME进行软编码来实现; 4、关于接收直播:AMS正常启动并发布上直播流后,你可以在网络内的任一电脑上打开http://ip:9001,通过浏览器观看直播,若开启了hls功能,通过iphone或者ipad登陆http://ip:9001即可观看直播。 5、若开启了TS组播,请确认防火墙是否允许组播,另外您网络内的路由器是否支持组播,接收组播是需要用VLC播放器来完成; 6、接收flv over http也是通过VLC播放器或者支持类似协议的播放器来测试。 7、若使用中出现问题,你可以查看logs目录下的rtmpserver.log文件,里面有详细的错误日志描述。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值