需要選型一個流媒體服務器,故搜羅網(wǎng)上資料,整理出以下內(nèi)容供參考
出處皆已標注鏈接
目錄
流媒體協(xié)議
直播流媒體協(xié)議
理解RTMP、HttpFlv和HLS的正確姿勢
流媒體文件支持格式
市面上主流的流媒體服務器歸納
38款流媒體服務器開源軟件
主流流媒體服務器介紹:
AMS/wowza/red5/SRS主要功能對照分析:
AMS(FMS)流媒體服務器系統(tǒng)
wowza流媒體服務器系統(tǒng)
Red5流媒體服務器系統(tǒng)
SRS流媒體服務器系統(tǒng)
SRS之深入淺出看流媒體:
Linux下視頻流媒體服務器搭建詳解
websocket Media Source Extensions API
EasyDarwin
最終選型
其他資料
流媒體協(xié)議
RTMP&HLS(專用協(xié)議流式)實時流傳輸既可傳輸實況直播,也可傳輸完整的音視頻文件
HTTP漸進式(基于TCP):順序流媒體不可用于實況直播,僅能傳輸完整的音視頻文件
原則上,RTSP,RTMP,HTTP 都可以做直播和點播,
但一般做 直播用 RTSP和RTMP,做點播用 HTTP。
直播流媒體協(xié)議
https://blog.csdn.net/u011216417/article/details/72835402
RTP/RTCP/RTSP/WebRTC/RTMP/HLS
理解RTMP、HttpFlv和HLS的正確姿勢
https://www.jianshu.com/p/32417d8ee5b6
流媒體文件支持格式
MP4
3GP
FLV
F4V
MPEG-TS
市面上主流的流媒體服務器歸納
FMS(AMS)(Flash mediaserver) 商業(yè)級 收費
Red5 開源 (穩(wěn)定性與性能差,大多作為個人使用)
NGINX-RTMP(主要用于點播)開源
Wowza (Wowza Streaming Engine) 商業(yè)級 收費
SRS (Simple Rtmp Server)
阿里云(視頻點播/直播等) 商業(yè)級 收費
若有興趣可以看看其他市面上的流服務器:
38款流媒體服務器開源軟件
https://www.cnblogs.com/lidabo/p/7418505.html
主流流媒體服務器介紹:
https://blog.csdn.net/datamining2005/article/details/55260491
FMS 4.x版本可破解版本
Red5穩(wěn)定性不夠
Nginx推流偽流媒體(http漸進式)
AMS/wowza/red5/SRS主要功能對照分析:
http://www.cuplayer.com/player/PlayerCodeCourse/2017/11093244.html
AMS(FMS)流媒體服務器系統(tǒng)
Flash Media Server (簡稱FMS),后更名為Adobe Flash Media Server (簡稱AMS)。它是較早(2002年)做流媒體服務器產(chǎn)品的,原公司是Macromedia,后來被Adobe收購了,它是流視頻和實時通信領域業(yè)界領先的解決方案,該產(chǎn)品可以快速搭建起一套流媒體直播、點播服務器。
wowza流媒體服務器系統(tǒng)
wowza全名是Wowza Streaming Engine,是一款非常優(yōu)秀的流媒體服務器產(chǎn)品。也算是除了FMS產(chǎn)品之外的一個老版子產(chǎn)品,產(chǎn)品發(fā)布于2007年,他在HLS(m3u8)分發(fā)方面是非常不錯的。從wowza2.0到現(xiàn)在的wowza4.5,都曾關注和使用過他們的產(chǎn)品,總體來說性價比還是蠻高的。
Red5流媒體服務器系統(tǒng)
Red5 (media server) 流媒體系統(tǒng),免費開源的是它最大的優(yōu)點,也因此有很多用戶在使用它們的產(chǎn)品,然后不足在于占用服務器資源較高。
SRS流媒體服務器系統(tǒng)
SRS(Simple Rtmp Server)定位是運營級的互聯(lián)網(wǎng)直播服務器集群,追求更好的概念完整性和最簡單實現(xiàn)的代碼,這是該產(chǎn)品自己官方的介紹。值得一說的是,前面幾個產(chǎn)品都是國外的,而這個作者是國內(nèi)的。
SRS之深入淺出看流媒體:
https://blog.csdn.net/zjqlovell/article/details/50786040
Linux下視頻流媒體服務器搭建詳解
https://blog.csdn.net/u011596455/article/details/79431116
websocket Media Source Extensions API
當然也看到有人提出 websocket Media Source Extensions API(比較小眾就不嘗試了,等下出問題了歇逼)
初級調(diào)研排除收費與Red5,接下來準備對比Nginx-RTMP于SRS和DSS這三種流服務器。
因為目標APP暫不提供直播功能,在點播領域的話使用HTTP協(xié)議即可。
EasyDarwin
恰巧國內(nèi)有專門做開源解決方案EasyDarwin封裝了一整套流媒體框架
http://www.easydarwin.org/pdf/EasyDarwin_Introduction.pdf
所以花時間研究了下EasyDarwin這套解決方案。
發(fā)現(xiàn)!你妹,EasyDSS解決方案也分為開源和商業(yè),開源的項目沒卵用,真正有用的項目是要錢的,基礎的點播模塊還需要商業(yè)版才能使用,凸,故放棄。
流媒體平臺框架 EasyDarwin
https://www.oschina.net/p/easydarwin
EasyDarwin開源項目(7Project):
EasyDarwin開源項目至今包括有:EasyDarwin(開源流媒體服務器)、EasyCMS(中心管理服務器)、EasyCamera(云攝像機服務)、EasyClient(云平臺客戶端)、EasyAACEncoder(開源音頻編碼項目)、EasyAudioDecoder(開源音頻解碼項目)、EasyProtocol(開源云平臺協(xié)議)等多個項目,完整地構(gòu)架了一套開源流媒體云平臺方案。
EasyDarwin商業(yè)項目(8Project)
同時,EasyDarwin開源團隊也開發(fā)了很多流媒體方面的商業(yè)項目,包括有:
EasyPlayer 是一款精煉、高效、穩(wěn)定的流媒體播放器,分為RTSP版和Pro版本,EasyPlayer RTSP版本支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android、iOS多個平臺,EasyPlayerPro支持Android、iOS,支持各種各樣的流媒體音視頻直播/點播播放,項目地址:https://github.com/EasyDarwin/EasyPlayer;
EasyPusher 是一款簡單、高效、穩(wěn)定的一款標準RTSP/RTP協(xié)議直播推送庫,支持將H.264/G.711/G.726/AAC等音視頻數(shù)據(jù)推送到RTSP流媒體服務器進行低延時直播或者視頻通信,支持Windows、Linux、ARM、Android、iOS等平臺,EasyPusher配套EasyDarwin流媒體服務器、EasyPlayer RTSP播放器適用于特殊行業(yè)的低延時應急指揮需求!項目地址:https://github.com/EasyDarwin/EasyPusher;
EasyNVR 攝像機(通用RTSP、Onvif攝像機)接入服務,EasyNVR能夠通過簡單的攝像機通道配置、存儲配置、云平臺對接配置、CDN配置等,將統(tǒng)監(jiān)控行業(yè)里面的高清網(wǎng)絡攝像機IP Camera、NVR、移動拍攝設備接入到EasyNVR,EasyNVR能夠?qū)⑦@些視頻源 的音視頻數(shù)據(jù)采集到設備端,進行全平臺終端直播、錄像存儲、錄像檢索和錄像回放。并且EasyNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對接到第三方視頻平臺、CDN網(wǎng)絡,實現(xiàn)互聯(lián)網(wǎng)直播分發(fā),具體接入方法見https://github.com/EasyDarwin/EasyNVR;
EasyIPCamera 是一套精煉、高效、穩(wěn)定的RTSP服務器組件,調(diào)用簡單靈活,輕松嵌入部署到IPCamera中,并發(fā)性能屬于行業(yè)領先水平,廣泛應用于IPCamera RTSP服務、Android/Windows投屏/同屏直播服務,例如課堂教學同屏、會議同屏、廣告投放同屏等!項目地址:https://github.com/EasyDarwin/EasyIPCamera;
EasyRTMP 是一套調(diào)用簡單、功能完善、運行高效穩(wěn)定的RTMP功能組件,經(jīng)過多年實戰(zhàn)和線上運行打造,支持RTMP推送斷線重連、環(huán)形緩沖、智能丟幀、網(wǎng)絡事件回調(diào),支持Windows、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/etc..)、Android、iOS平臺,支持市面上絕大部分的RTMP流媒體服務器,包括Red5、Ngnix_rtmp、crtmpserver等主流RTMP服務器,能夠完美應用于各種行業(yè)的直播需求,手機直播、桌面直播、攝像機直播、課堂直播等等方面!項目地址:https://github.com/EasyDarwin/EasyRTMP;
EasyRTSPClient 是一套簡單、穩(wěn)定、高效、易用的RTSPClient工具庫,支持Windows、Linux、ARM、Android、iOS等幾乎所有平臺,支持RTP Over TCP/UDP,支持斷線重連,能夠接入市面上99%以上的IPC,調(diào)用簡單且成熟穩(wěn)定,能廣泛應用于播放器、NVR、流媒體系統(tǒng)級聯(lián)等產(chǎn)品中!項目地址:https://github.com/EasyDarwin/EasyRTSPClient;
EasyHLS 是一套簡單、可靠、高效、穩(wěn)定的HLS直播切片SDK,能夠?qū)崟r的H.264視頻和AAC音頻流實時切片成可供WEB、Android、iOS、微信等全平臺客戶端觀看的HLS(m3u8 ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等項目,可將大部分的安防攝像機對外進行HLS直播發(fā)布,同時也可靈活集成在各種流媒體服務中!項目地址:https://github.com/EasyDarwin/EasyHLS;
EasyRMS 是一套基于HLS協(xié)議的錄像與回放服務器,EasyRMS能夠?qū)TSP源獲取到本地進行本地存儲或者存儲到阿里云對象存儲OSS云存儲等第三方存儲平臺,同時EasyRMS提供錄像的檢索與查詢接口,檢索出錄像的HLS地址進行錄像回放!項目地址:https://github.com/EasyDarwin/EasyRMS;
EasyDarwin云平臺
EasyDarwin云平臺是一套由EasyDarwin、EasyCMS、EasyCamera、EasyClient、nginx、redis構(gòu)成的完整云平臺架構(gòu),支持分布式、跨平臺、多點部署,流媒體服務器支持負載均衡,按需直播,非常適用于互聯(lián)網(wǎng)化的安防、智能家居、幼教平臺、透明廚房、透明家裝等多個行業(yè)應用:
最終選型
最后糾結(jié)的將范圍縮短為三個項目:DSS和SRS和Nginx
接下來分析這兩種流媒體對視頻點播的支持程度
分別展開介紹:
1.DSS:蘋果公司的Darwin Streaming Server(簡稱DSS)完全免費,沒有任何功能限制,且符合國際標準。但DSS在linux上的安裝比較繁瑣,所以大多數(shù)人會選擇easyDSS(就是上面提到的EasyDarwin)
2.SRS:(Simple Rtmp Server)一個采用MIT協(xié)議授權的國產(chǎn)的簡單的RTMP/HLS 直播服務器,其核心的價值理念在于簡單高效
一位瘋狂舔SRS的小哥哥說<SRS超級強,無所不能秒殺其他同類媒體服務器>
https://blog.51cto.com/renjunjie622/1782407
后SRS官方改名為:ossrs
github:
產(chǎn)品定位:https://github.com/ossrs/srs/wiki/v1_CN_Product
產(chǎn)品發(fā)展:https://ossrs.net/srs.release/releases/
總的來看SRS還是可以的…
附帶資料:
完整的直播 點播全端解決方案 https://blog.csdn.net/dipolar/article/details/64122168
3.Nginx-RTMP:
戰(zhàn)斗民族俄羅斯人民開發(fā)的一款NGINX的流媒體插件,除了直播發(fā)布音視頻流之外具備流媒體服務器的常見功能
比如推拉流媒體資源
基于HTTP的FLV/MP4 VOD點播
HLS (HTTP Live Streaming) M3U8的支持
基于http的操作(發(fā)布、播放、錄制)
可以很好的協(xié)同現(xiàn)有的流媒體服務器以及播放器一起工作
在線調(diào)用ffmpeg對流媒體進行轉(zhuǎn)碼
H264/AAC音視頻編碼格式的支持
linux/BSD/MAC系統(tǒng)的支持
因為我們?nèi)绻龅狞c播的話不涉及直播板塊,幾乎還是使用HTTP協(xié)議,根據(jù)之前的一篇博文:(NGINX-RTMP風生水起有幾個很重要的因素。首先2012年開始CDN業(yè)務開始快速增長,隨之直播業(yè)務也需求暴漲,沒有特別滿意的流媒體服務器;其次,NGINX在HTTP領域絕對是霸主,大家對于NGINX系的熟悉程度很高,便于維護;再次,直播點播使用一套服務器,很有誘惑力,這可以算是“萬金油”效應,很多套服務器搞得焦頭爛額,肯定一套服務器能解決問題;最后,CDN是運維比技術牛逼的行業(yè),運維的信心都是運行出來的,NGINX運行那么良好,那么NGINX-RTMP也肯定不錯。)
綜上所述,DSS我對他沒有什么好感,SRS是挺牛逼的但是總覺得用的話是大材小用,畢竟人家還是主做流直播的,轉(zhuǎn)點播也需要一點功夫。個人覺得可以上一波NGINX,一個原因是主要目標是視頻點播,上的還是HTTP服務,其次是Nginx這塊我們可能上手也比較OK。
其他資料
https://www.idcicp.com/assist/assistInfo_22381.html
CPU:兩顆至強E5530
內(nèi)存:16GB
硬盤:2T
操作系統(tǒng):CentOS 6.5 64bit
這樣子的一個配置大致是能滿足一個200-300人同時在線的短視頻app的需求的
http://www.webxun.com/newsxq_201.html
暫不考慮直播功能(美顏的算法與聊天室功能還是服務器壓力)
https://bbs.csdn.net/topics/300252276
lvc的live555的server端也小有名氣
https://blog.csdn.net/dxpqxb/article/details/83012950
srs andrioid直播推流(可以學習一下,不過先不碰直播這個板塊吧)
https://blog.csdn.net/yb1314111/article/details/84983568
抖音短視頻源碼中視頻排序模塊熱門列表解決方案
https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/78780562
利用Simple-RTMP-Server搭建RTMP和HLS直播服務
https://blog.csdn.net/elesos/article/details/80899787
利用Nginx搭建RTMP視頻直播,點播服務器,ffmpeg推流,回看
下載的一些p2p流媒體服務的研究資料
鏈接:https://pan.baidu.com/s/1hwMk_YdeGFI1nwC6BVM3XQ
提取碼:rcjq
————————————————
版權聲明:本文為CSDN博主「我的浪漫與極端」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013202518/java/article/details/89956990
版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。