SRS 簡介
SRS定位是運營級的互聯網直播服務器集群,追求更好的概念完整性和最簡單實現的代碼。SRS提供了豐富的接入方案將RTMP流接入SRS,
包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS還支持將接入的RTMP流進行各種變換,譬如將RTMP流轉碼、流截圖、
轉發給其他服務器、轉封裝成HTTP-FLV流、轉封裝成HLS、轉封裝成HDS、錄制成FLV。SRS包含支大規模集群如CDN業務的關鍵特性,譬如RTMP
多級集群、源站集群、VHOST虛擬服務器、無中斷服務Reload、HTTP-FLV集群、Kafka對接。此外,SRS還提供豐富的應用接口,包括HTTP回調、
安全策略Security、HTTP API接口、RTMP測速。SRS在源站和CDN集群中都得到了廣泛的應用Applications。
官方說明
SRS特點
1、簡單,足夠穩定。
2、高性能,高並發,SRS是單線程、事件/st-線程驅動。最大可支持6k客戶端。官網性能介紹:
性能測試
3、可以作為rtmp源服務器,也可作為節點對接CND,從其他rtmp服務器上推/拉流。
4、支持Vhost 及defaultVhost配置。
5、核心功能是分發RTMP,主要定位就是分發RTMP低延時流媒體,同時支持分發HLS流。
6、服務Reload 機制,即在不中斷服務時應用配置的修改。達到不中斷服務調整碼率,添加或調整頻道。
7、cache 一個GOP ,達到播放器能快速播放的效果。(gop_cache配置項)
8、可監聽多個端口,支持長時間推拉流。
9、forward配置項,可在服務器間轉發流。
10、支持轉碼,可以對推送到SRS的RTMP流進行轉碼,然后輸出到其他RTMP服務器。可對指定的流配置是否轉碼。內置了FFMPEG.同時會提供FFMPEG的部分功能:輸出純音頻、加文字水印、剪切視頻、添加圖片LOGO等。
11、支持http回調,提供了客戶端連接接口、關閉連接接口、流發布、流停止、流播放、停止播放等接口,方便再封裝的應用跟蹤流信息。內置也有一個http服務器,可直接調用api接口。
12、內置流帶寬測試工具、完善的日志跟蹤規則。
13、腳本管理,提供init.d系統腳本,也可通過調用api 控制服務狀態。
14、采集端支持:設備、本地文件,RTSP攝像頭、rtmp等。官方意思是,能拉任意的流,只要FFMPEG支持,不是h264/aac都沒有關系,FFMPEG能轉碼。SRS的接入方式可以是“推流到SRS”和“SRS主動拉流”。
15、支持將RTMP流錄制成flv文件。FLV文件的命名規則是隨機生成流名稱,上層應用可通過http-callback 管理流信息。
16、SRS日志很完善,支持打印到console和file,支持設置level,支持連接級別的日志,支持可追溯日志。
SRS部署
SRS是國產優秀流媒體服務器,在Github上開源, 可在 Linux 機器各主流系統上部署。操作簡單。
操作及配置清晰,文檔齊全,在此只附上部署Demo :
SRS_SampleDemo
XX雲平台使用SRS案例
1、XX雲平台PGC直播管理
通過SRS 的http_callback ,XX雲的直播模塊,完成對流信息的管理。
主要功能:創建頻道、編輯頻道、跟蹤頻道信息、轉碼模板、時移、錄制、直播加密。
2、SRS集群
SRS集群 : 基於SRS多節點、多層級部署, 通過srs-調度,使得不同層級只負責一項任務。達到集群部署的效果,可橫向和縱向擴展。
3、基於SRS集群的UGC直播管理
