您的位置:首页 > 运维架构 > Nginx

cool-2018-03-09-linux下通过nginx安装rtmp视频服务器-包括推流和拉流-直播和点播

2018-03-09 16:02 676 查看
已经准备好的环境,新建节点的时候必做的几件事即可安装nginx安装准备环境yum -y install openssl openssl-devel解压nginx-rtmp-module-1.1.7.tar.gztar -zxvf nginx-rtmp-module-1.1.7.tar.gz
在安装nginx之后添加nginx的module进入到nginx的解压目录执行cd /root/nginx-1.8.0
./configure --prefix=/usr/nginx-1.8 --add-module=/root/nginx-rtmp-module-1.1.7make && make installnginx中配置rtmprtmp { #RTMP服务
server {
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小

application video {
play /var/yemu/video; #点播媒体文件存放目录
}

#增加对HLS支持 #rtmp直播配置
application live {
live on; #开启实时
hls on; #开启hls#这个参数把直播服务器改造成实时回放服务器
hls_path /var/yemu/live/hls/; #ts文件存放路径,切片视频文件存放位置
hls_fragment 5s; #每个TS文件包含5秒的视频内容,每个视频切片的时长
wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。
hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟。
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
}
}
}其中 play /yemu/video 指的是配置点播模块,可以直接播放/yemu/video路径下的视频,比如video目录下有一个test.mp4视频

那么可以利用爱奇艺播放器或者其他工具输入网址:rtmp://45.78.24.199/video/test.mp4
即可访问这段视频
hls_path指定hls分块存放路径,因为hls是通过获取到推送的视频流信息,分块存储在服务器。所以它的延时比rtmp要更高。
所以客户端要推流的话,直接推送到:rtmp://45.78.24.199/live/ 这个地址即可
nginx中的server配置
server {
listen 80;
server_name localhost;

#charset koi8-r;
index index.jsp index.html;
root /yemu;
#access_log logs/host.access.log main;

location / {
root html;
index index.html;
}
## 下面(~)这一段配置可以不要
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|docx|pdf|doc|ppt|html|properties)$ {
expires 30d;
root /var/yemu/static/;
}

#HLS配置开始,这个配置为了`客户端`能够以http协议获取HLS的拉流
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
#application/x-mpegURL;
video/mp2t ts;
}
alias /var/yemu/live/hls/;
expires -1;
add_header Cache-Control no-cache;
}

location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}

location /stat.xsl {
root /root/nginx-rtmp-module-1.1.7/; #源码根目录
}
}
location 指向/hls,别名是/var/yemu/live/hls/前端直接通过域名+/hls/+文件名.m3u8获取视频,进行拉流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rtmp nginx