前 言:
因為作業需要,需要設備上推流,給到web端,于是就開始在研究流媒體服務器
選擇了三種方案進行選擇:

最終選擇了SRS,作為我們的流媒體服務器、性能比較高、中國人自己的流媒體服務器、檔案比較全,社區比較活躍,
SRS 說明:
SRS(simple Rtmp Server),是一個簡單高效的實時視頻服務器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT, 是國人自己開發的一款視頻服務器,采用支持rtmp和hls協議,可以做成容器,讓客戶端把流推過來來,也可以結合ffmpeg自己主動拉流.
現在的 Release 是4.0,Release 的服務器架構如下:

SRS 服務器安裝與試用
- 下載原始碼,推薦用CentOS7系統:
git clone -b 4.0release https://gitee.com/ossrs/srs.git
編譯,注意需要切換到srs/trunk目錄:
cd srs/trunk
./configure
make
- 啟動服務器:
./objs/srs -c conf/srs.conf
檢查SRS是否成功啟動,可以打開 http://localhost:8080/ ,或者執行命令:
# 查看SRS的狀態
./etc/init.d/srs status
# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
- 服務器測驗
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
4 測驗頁面

SRS 流媒體服務器業務場景:
- 全平臺直播,小荷才露尖尖角,只需要上圖的Encoders(FFmpeg/OBS)推送RTMP到SRS;一臺SRS Origin(不需要Cluster),轉封裝成HTTP-FLV流、轉封裝成HLS;Players根據平臺的播放器可以選HTTP-FLV或HLS流播放,
- WebRTC通話業務,一對一通話,多人通話,會議室等,WebRTC是SRS4引入的關鍵和核心的能力,從1到3秒延遲,到100到300毫秒延遲,絕對不是數字的變化,而是本質的變化,
- 監控和廣電上云,各行業風起云涌,除了使用FFmpeg主動拉取流到SRS,還可以廣電行業SRT協議推流,或監控行業GB28181協議推流,SRS轉換成互聯網的協議觀看,
直播低延遲和互動,聚變近在咫尺,RTMP轉WebRTC播放降低播放延遲,還能做直播連麥,或者使用WebRTC推流,未來還會支持WebTransport直播等等, - 大規模業務,帶你裝逼帶你飛,如果業務快速上漲,可以通過Edge Cluster支持海量Players,或者Origin Cluster支持海量Encoders,當然可以直接平滑遷移到視頻云,未來還會支持RTC的級聯和集群,
每個場景可能會用到一些通用的能力,比如:
- 一般都需要錄制成FLV/MP4,將RTMP流轉碼,流截圖,
- 也需要和現有業務系統集成,比如HTTP回呼,或者通過HTTP API介面查詢流和客戶端的資訊,
- 使用FFmpeg主動拉取流到SRS,或者Forward處理流后轉給其他服務,或者推送RTSP/UDP/FLV到SRS,
- 安全方面,使用安全策略Security設定訪問,或者用HTTP API介面踢流,
- 使用VHOST虛擬服務器 隔離不同的業務,用域名作為調度單元,應用不同的配置,
上述的這些都是最基本的一個操作,后續在使用程序中不斷的更新,共同學習,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/387163.html
標籤:其他
上一篇:資料結構——舞伴問題
