EasyDarwin框架学习记录
Easy系列流媒體平臺框架:
EasyDarwin開源流媒體服務器:www.EasyDarwin.org
EasyDSS商用流媒體解決方案:www.EasyDSS.com
EasyNVR無插件直播方案:www.EasyNVR.com
?
作者csdn博客:
https://blog.csdn.net/xiejiashu/
?
簡介:
EasyDarwin是由國內開源流媒體團隊維護和迭代的一整套開源流媒體視頻平臺框架,從2012年12月創建并發展至今,包含有單點服務的開源流媒體服務器,和擴展后的流媒體云平臺架構的開源框架,開辟了諸多的優質開源項目,能更好地幫助廣大流媒體開發者和創業型企業快速構建流媒體服務平臺,更快、更簡單地實現最新的移動互聯網(安卓、iOS、H5、微信)流媒體直播與點播的需求,尤其是安防行業與互聯網行業的銜接
工作流程
?
架構圖
EasyDarwin開源項目(7Project)
1.EasyCMS 開源的設備接入與管理服務,支持多設備、多客戶端接入,能非??焖俚貛椭蠹覍崿F穩定的設備接入服務,可以根據自己的需求進行服務功能拆分(例如用戶接入服務與設備接入服務拆分等),具體見https://github.com/EasyDarwin/EasyDarwin/tree/master/EasyCMS;
?
2.EasyDarwin 核心流媒體服務!RTSP開源流媒體直播服務,高效、穩定、可靠、功能齊全,支持RTSP流媒體協議,支持安防行業需要的攝像機流媒體轉發功能、支持互聯網行業需要的多平臺(PC、Android、IOS)RTSP直播(H264/MJPEG/MPEG4、AAC/PCMA/PCMU/G726)功能,底層(Select/Epoll網絡模型、無鎖隊列調度)和上層(RESTful接口、WEB管理、多平臺編譯)、關鍵幀索引(秒開畫面)、遠程運維等方面優化,這些都是全代碼完全開源的,具體接口調用方法和流程見:https://github.com/EasyDarwin/EasyDarwin;
?
3.EasyCamera 設備端(攝像機、移動設備、桌面程序)對接EasyDarwin平臺的方案,跨平臺,支持Windows、Linux、ARM,其中EasyDarwin攝像機是我們定制的一款攝像機硬件與EasyDarwin平臺進行對接的方案,攝像機采用海思3518E方案,支持RTSP、Onvif、WEB管理、配套SDK工具,作為開發和演示硬件工具,我們提供了全套完備的程序和文檔,既可以用于流媒體學習,又可以用于方案移植參考,更可以直接用于項目中,用戶可以將攝像機定制的部分替換成自己攝像機的硬件SDK,具體接入方法見https://github.com/EasyDarwin/EasyCamera;
?
4.EasyClient 是EasyDarwin開源流媒體云平臺的客戶端實現,項目地址:https://github.com/EasyDarwin/EasyClient,功能包含:Windows、Android、iOS、H5(支持微信)四個部分,其主要功能包括:
????云平臺設備列表獲取;
????設備實時碼流請求與播放;
????設備云臺控制;
????設備語音對講;
?
5.EasyAACEncoder 是一套簡單、高效、穩定的開源音頻編碼庫,支持將各種音頻數據(G.711A/PCMA、G.711U/PCMU、G726、PCM)轉碼成AAC(with adts)格式,其中aac編碼部分采用的是業界公認的faac庫,EasyAACEncoder支持Windows、Linux、ARM等多種平臺,能夠廣泛應用于各種移動終端設備、嵌入式設備和流媒體轉碼服務器!項目地址:https://github.com/EasyDarwin/EasyAACEncoder;
?
6.EasyAudioDecoder 是一套應用于移動端的簡單、高效、穩定的開源音頻解碼庫,能夠將
G.711A/PCMA、G.711U/PCMU、G726、AAC等音頻格式轉碼到LinearPCM,再提供給流媒體
播放器進行音頻播放,EasyAudioDecoder支持跨平臺,支持Android& iOS,目前已穩定應用于EasyPlayer、EasyClient等多個開源及商業項目!項目地址:https://github.com/EasyDarwin/EasyAudioDecoder;
?
7.EasyProtocol 是EasyDarwin開源流媒體服務器和開源平臺使用的一套開源json協議,具有合理的結構設計、完善的層次邏輯以及簡單精煉的調用接口,非常易于使用和擴展,不僅長期應用于EasyDarwin的服務器及平臺中,而且能夠快速擴展用戶的自定義需求,非常好用!項目地址:https://github.com/EasyDarwin/EasyProtocol;
?
EasyDarwin商業項目(8Project)
(沒有開源是指他的庫沒有開源,EasyDarwin提供了各個平臺下庫文件和使用示例,不影響正常使用)
1.EasyPlayer 是一款精煉、高效、穩定的流媒體播放器,分為RTSP版和Pro版本,EasyPlayer
RTSP版本支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android、iOS多個平臺,EasyPlayerPro支持Android、iOS,支持各種各樣的流媒體音視頻直播/點播播放,項目地址:https://github.com/EasyDarwin/EasyPlayer;
?
2.EasyPusher 是一款簡單、高效、穩定的一款標準RTSP/RTP協議直播推送庫,支持將
H.264/G.711/G.726/AAC等音視頻數據推送到RTSP流媒體服務器進行低延時直播或者視頻通信,支持Windows、Linux、ARM、Android、iOS等平臺,EasyPusher配套EasyDarwin流媒體服務器、EasyPlayer RTSP播放器適用于特殊行業的低延時應急指揮需求!項目地址:https://github.com/EasyDarwin/EasyPusher;
?
3.EasyNVR 攝像機(通用RTSP、Onvif攝像機)接入服務,EasyNVR能夠通過簡單的攝像機通道配置、存儲配置、云平臺對接配置、CDN配置等,將統監控行業里面的高清網絡攝像機IP Camera、NVR、移動拍攝設備接入到EasyNVR,EasyNVR能夠將這些視頻源的音視頻數據采集到設備端,進行全平臺終端直播、錄像存儲、錄像檢索和錄像回放。并且EasyNVR能夠將視頻源的直播數據對接到第三方視頻平臺、CDN網絡,實現互聯網直播分發,具體接入方法見https://github.com/EasyDarwin/EasyNVR;
?
4.EasyIPCamera 是一套精煉、高效、穩定的RTSP服務器組件,調用簡單靈活,輕松嵌入部署到IPCamera中,并發性能屬于行業領先水平,廣泛應用于IPCamera RTSP服務、Android/Windows投屏/同屏直播服務,例如課堂教學同屏、會議同屏、廣告投放同屏等!項目地址:https://github.com/EasyDarwin/EasyIPCamera;
?
5.EasyRTMP 是一套調用簡單、功能完善、運行高效穩定的RTMP功能組件,經過多年實戰和線上運行打造,支持RTMP推送斷線重連、環形緩沖、智能丟幀、網絡事件回調,支持Windows、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/etc..)、Android、iOS平臺,支持市面上絕大部分的RTMP流媒體服務器,包括Red5、Ngnix_rtmp、crtmpserver等主流RTMP服務器,能夠完美應用于各種行業的直播需求,手機直播、桌面直播、攝像機直播、課堂直播等等方面!項目地址:https://github.com/EasyDarwin/EasyRTMP;
?
6.EasyRTSPClient 是一套簡單、穩定、高效、易用的RTSPClient工具庫,支持Windows、Linux、
ARM、Android、iOS等幾乎所有平臺,支持RTPOver TCP/UDP,支持斷線重連,能夠接入市面上99%以上的IPC,調用簡單且成熟穩定,能廣泛應用于播放器、NVR、流媒體系統級聯等產品中!項目地址:https://github.com/EasyDarwin/EasyRTSPClient;
?
7.EasyHLS 是一套簡單、可靠、高效、穩定的HLS直播切片SDK,能夠將實時的H.264視頻和AAC音頻流實時切片成可供WEB、Android、iOS、微信等全平臺客戶端觀看的HLS(m3u8+ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等項目,可將大部分的安防攝像機對外進行HLS直播發布,同時也可靈活集成在各種流媒體服務中!項目地址:https://github.com/EasyDarwin/EasyHLS;
?
8.EasyRMS 是一套基于HLS協議的錄像與回放服務器,EasyRMS能夠將RTSP源獲取到本地進行本地存儲或者存儲到阿里云對象存儲OSS云存儲等第三方存儲平臺,同時EasyRMS提供錄像的檢索與查詢接口,檢索出錄像的HLS地址進行錄像回放!項目地址:https://github.com/EasyDarwin/EasyRMS;
地址有效,2018年發布(尚未)
?
?
平臺端口
EasyCMS:接口服務端口,10000
EasyDarwin:接口服務端口,10008
EasyDarwin:RTSP服務端口,554
EasyDarwin:HTTP后臺管理端口,10080
EasyNVR:接口服務端口,10010
EasyNVR:后臺管理端口,10080
?
總結
以上是生活随笔為你收集整理的EasyDarwin框架学习记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】线性回归——最小二乘法(理论
- 下一篇: 微搭低代码入门教程03