环境
centos 6.8
nginx 1.10.3
nginx-rtmp-module
下载nginx-rtmp-module
当前目录/opt
git clone https://github.com/arut/nginx-rtmp-module.git
下载编译nginx
当前目录/opt
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -xvf nginx-1.10.3.tar.gz && cd nginx-1.10.3
./configure --add-module=../nginx-rtmp-module
make && make install
cd /usr/local/nginx
mkdir nginx-rtmp-module
cd nginx-rtmp-module && cp /opt/nginx-rtmp-module/stat.xsl ./
这样rtmp模块就安装好了
改配置文件
当前目录 /usr/local/nginx/conf
vim nginx.conf
rtmp { #RTMP服务
server {
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小
application vod {
play /opt/video/vod; #//视频文件存放位置。
}
application live{ #开启直播
live on;
hls on; #这个参数把直播服务器改造成实时回放服务器。
wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。
hls_path /opt/video/live; #切片视频文件存放位置。
hls_fragment 10s; #每个视频切片的时长。
hls_playlist_length 6000000s; #总共可以回看的事件,这里设置的是1分钟。
hls_continuous on; #连续模式。
hls_cleanup on; #对多余的切片进行删除。
hls_nested on; #嵌套模式。
}
}
}
点播
然后我们上传一个test.mp4文件到 /opt/video/vod/
用vlc播放
然后我们点播播放地址就是
rtmp://地址/vod/test.mp4
直播
推流地址 观看地址 回放地址
rtmp://地址/live/直播名
推流,我们使用ffmpeg推摄像头流
#! /bin/bash
ffmpeg -f avfoundation -framerate 30 -video_size 1280*720 -i "0" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://video.yuuuu.wang/live/test1
录制的文件
我们可以看到,已经生成了切片文件ts和索引文件m3u8