下載
cd /root git clone https://github.com/winlinvip/simple-rtmp-server cd simple-rtmp-server/trunk git pull
編譯
bash scripts/build.sh
./objs/srs -c conf/srs.conf 檢查設定
安裝成功會提示關閉防火牆及selinux安全性設定及修改hosts
啟動服務
bash scripts/run.sh
停止服務
bash scripts/stop.sh
主要設定檔位子
/root/simple-rtmp-server/trunk/conf
優化hls
vi srs.conf
listen 1935; max_connections 1000; srs_log_tank file; srs_log_file ./objs/srs.log; http_api { enabled on; listen 1985; } http_server { enabled on; listen 80; dir ./objs/nginx/html; } stats { network 0; disk sda sdb xvda xvdb; } vhost __defaultVhost__ { #最小延遲打開,默認是打開的,該選項打開的時候,mr默認關閉。 min_latency on; #Merged-Read,針對RTMP協定,為了提高性能,SRS對於上行的read使用merged-read,即SRS在讀寫時一次讀取N毫秒的資料 mr { enabled off; #默認350ms,範圍[300-2000] #latency 350; } #Merged-Write,SRS永遠使用Merged-Write,即一次發送N毫秒的包給用戶端。這個演算法可以將RTMP下行的效率提升5倍左右,範圍[350-1800] mw_latency 100; #enabled on; #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#gop-cache gop_cache off; #配置直播佇列的長度,伺服器會將資料放在直播佇列中,如果超過這個長度就清空到最後一個I幀 #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#%E7%B4%AF%E7%A7%AF%E5%BB%B6%E8%BF%9F queue_length 10; #EDGE模式要把下面兩項開啟 #mode remote; #origin 123.123.123.123; #http_flv配置 http_remux { enabled on; mount [vhost]/[app]/[stream].flv; hstrs on; } }
開啟srs後台設定視訊鏡頭及音源 然後按發布視頻
http://x.x.x.x:8085
網頁的中間有 HLS的連結複製到vlc
使用vlc播放m3u8的視頻
http://x.x.x.x:8085/live/demo.1452768463519.m3u8