nginx+nginx-rtmp-module实现直播服务

环境

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

你可能感兴趣的:(杂文)