SRS全稱Simple RTMP Server,定位是運營級的互聯網直播服務器集群,是一個非常簡單就可以推送rtmp視頻流的服務器.
github主頁:https://github.com/ossrs/srs
目前穩定版為2.0,3.0版本正在開發中,2.0的文檔為:https://github.com/ossrs/srs/wiki/v2_CN_Home,文檔為中文版,里面內容和組件介紹也很清晰,開發srs的大牛也是中國人,看到這里不禁自豪一番^-^.
下面介紹srs的安裝和基本配置:
操作系統是CentOS 7,程序包使用的github release頁最新穩定版2.0
srs安裝非常簡單,以下幾步搞定:
unzip srs-2.0-r2.zip cd srs-2.0-r2/trunk ./configure make
現在srs源碼就編譯完成了,程序包比較大但是編譯過程挺快,注意make不要加-j參數,會報錯.
編譯完之后可以執行make install,默認是安裝到/usr/local/srs,可以自定義,當然也可以不install,現在就可以直接執行了.
配置文件是:conf/rtmp.conf,默認非常精簡只有下面這些:
只需上面這幾行配置就可以完整的實現rtmp流媒體服務器,其中listen默認為1935,是rtmp流推送的默認端口;max_connections值最大連接;daemon是否為守護進行在后台執行,然后vhost為虛擬主機可以隔離客戶,這個默認不用配置即可.
然后可以執行命令啟動rtmp服務: ./objs/srs -c conf/rtmp.conf ,啟動之后就可以向服務推流了,另外srs也提供了完整的http服務用作srs服務器使用,具體配置文件在conf/srs.conf,其中多了http部分的配置,其中用於播放測試的配置如下,也可以添加到rtmp.conf配置中:
http_server { enabled on; listen 8080; dir ./objs/nginx/html; }
添加配置完成后,重啟srs服務器然后可以訪問頁面,我這里地址是:http://192.168.182.135:8080,ip和端口要改成實際配置的,訪問會跳轉到默認頁面.
現在可以進行rtmp推流測試,可以使用ffmpeg,在srs下的doc目錄下有測試視頻,新開shell窗口到ffmpeg目錄下執行下面命令推送rtmp視頻流:
./bin/ffmpeg -re -i /root/srs-2.0-r2/trunk/doc/source.200kbps.768x320.flv -vcodec copy -acodec copy -f flv rtmp://192.168.182.135:1935/live/livestream
這里說一下rtmp url的格式,和http協議類似,分為以下幾個部分:
協議頭:rtmp 和http,https類似,其他的還有RTMPS,RTMFP等.
主機:rtmp服務的主機,使用ip地址或主機名
端口號:rtmp服務器的端口,默認為1935,當不指定時默認是1935
App:這里app名稱為live,類似於http中的目錄或者應用路由,一般用於區分不同的流,可以任意指定.
Stream:這里為livestream,類似於http中的文件或者單個請求頁面,也可以任意指定.
執行上面命令后即開始推流,然后可以在剛才的srs頁面選擇上面的JWPlayer6播放器或者AdobeOSMF播放器輸入上面的rtmp地址,然后點擊播放,正常播放視頻即測試推流成功:
另外也可以使用vlc播放視頻流,在ffmpeg推流執行完之前視頻都是可以正常播放的.
以上就是SRS用作流媒體服務器的基本安裝和配置.