nginx+nginx-rtmp-module實現直播服務
阿新 • • 發佈:2018-12-09
環境
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