C/C++Linux服務(wù)器開發(fā)/高級架構(gòu)師
https://ke.qq.com/course/417774?taid=3559187859005422
2019年最新總結(jié),從程序員到CTO搂蜓,從專業(yè)走向卓越典勇,大牛分享文檔pdf與PPT整理
整理大牛分享文檔如下稿壁,持續(xù)更新一線開發(fā)架構(gòu),技術(shù)文檔
下載地址:https://github.com/0voice/from_coder_to_expert
博客
iOS WebRTC語音視頻通話實(shí)現(xiàn)與demo
https://blog.csdn.net/qq_35316446/article/details/70160326Dale工作學(xué)習(xí)筆記 linux服務(wù)器開發(fā)
Dale工作學(xué)習(xí)筆記流媒體: FFmpeg專項(xiàng)
https://blog.csdn.net/fireroll/article/category/565707Qt界面開發(fā)(各種控件以及圖表)
https://blog.csdn.net/ZhangXiaoyu_sy/article/details/78925221FFMPEG命令行處理視頻進(jìn)階——高階必讀
https://blog.csdn.net/zhangamxqun/article/details/80295833FFMpeg 濾鏡中英文對照
http://www.it610.com/article/3656074.htm基于socket.io即時(shí)通訊IM實(shí)現(xiàn),webRTC實(shí)現(xiàn)視頻通話
https://blog.csdn.net/foxPower/article/details/77990490結(jié)合 AppRTC(IOS移動(dòng)端) 源碼分析 WebRTC 建立連接的過程
https://juejin.im/entry/5c7a86995188251a006ad790前端開發(fā)
技術(shù)胖 專注于前端開發(fā)
webrtc
-
iOS基于Socket.io即時(shí)通訊IM實(shí)現(xiàn)只锻,WebRTC實(shí)現(xiàn)視頻通話
http://www.reibang.com/p/686c4bf6df3f
多媒體相關(guān)
播放器
GSYVideoPlayer
Android播放器,功能非常強(qiáng)大
https://github.com/CarGuo/GSYVideoPlayer
視頻播放器(IJKplayer紫谷、ExoPlayer齐饮、MediaPlayer)捐寥,HTTPS支持,支持彈幕祖驱,支持濾鏡握恳、水印、gif截圖捺僻,片頭廣告乡洼、中間廣告,多個(gè)同時(shí)播放匕坯,支持基本的拖動(dòng)束昵,聲音、亮度調(diào)節(jié)葛峻,支持邊播邊緩存锹雏,支持視頻本身自帶rotation的旋轉(zhuǎn)(90,270之類),重力旋轉(zhuǎn)與手動(dòng)旋轉(zhuǎn)的同步支持术奖,支持列表播放 礁遵,直接添加控件為封面,列表全屏動(dòng)畫腰耙,視頻加載速度榛丢,列表小窗口支持拖動(dòng),動(dòng)畫效果挺庞,調(diào)整比例晰赞,多分辨率切換,支持切換播放器选侨,進(jìn)度條小窗口預(yù)覽掖鱼,列表切換詳情頁面無縫播放,其他一些小動(dòng)畫效果援制,rtsp戏挡、concat、mpegvideo
用ffmpeg封裝demuxer晨仑,muxer褐墅,decoder,encoder
https://github.com/qflow/videomp4-sip-rtsp-rtmp
支持的協(xié)議非常多洪己,具體目錄:mp4-sip-rtsp-rtmp/tree/master/app/src/main/cpp/libstreamProtocol-android
https://github.com/qingfuliao/mp4-sip-rtsp-rtmpmyRtspClient
myRTSPClient是一個(gè)輕量級的RTSP客戶端C++函數(shù)庫妥凳。
支持多平臺,支持H264答捕,H265逝钥,MPA等音視頻傳輸。
https://github.com/Ansersion/myRtspClientflvpusher
A tool for pushing flv/mp4/ts/rtmp/rtsp/hls source to rtmp/rtspserver.
https://github.com/dengxiayehu/flvpusher
流媒體服務(wù)器
-
pion各種go相關(guān)的流媒體開發(fā)拱镐,主要是WebRTC
The Open Source, Cross Platform Stack for Real-time Media and Data Communication
https://github.com/pion
v4l2rtspserver
RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9
https://github.com/mpromonet/v4l2rtspserverlivego
Go寫的rtmp艘款、http持际、hls流媒體服務(wù)器
https://github.com/gwuhaolin/livego-
ZLMediaKit
https://github.com/xiongziliang/ZLMediaKit- 基于C++11開發(fā),避免使用裸指針哗咆,代碼穩(wěn)定可靠蜘欲;同時(shí)跨平臺移植簡單方 便,代碼清晰簡潔岳枷。
- 打包多種流媒體協(xié)議(RTSP/RTMP/HLS)芒填,支持協(xié)議間的互相轉(zhuǎn)換,提供一站式的服務(wù)空繁。
- 使用epoll+線程池+異步網(wǎng)絡(luò)IO模式開發(fā),并發(fā)性能優(yōu)越朱庆。
- 已實(shí)現(xiàn)主流的的H264/H265+AAC流媒體方案盛泡,代碼精簡,脈絡(luò)清晰,適合學(xué)習(xí)娱颊。
- 編碼格式與框架代碼解耦傲诵,方便自由簡潔的添加支持其他編碼格式
- 代碼經(jīng)過大量的穩(wěn)定性、性能測試箱硕,可滿足商用服務(wù)器項(xiàng)目拴竹。
- 支持linux、macos剧罩、ios栓拜、android、windows平臺
- 支持畫面秒開(GOP緩存)惠昔、極低延時(shí)(1秒內(nèi))
webrtc
AppRTC
WebRTC官方demo
https://github.com/webrtc/apprtcWebRTC-Experiment
各種WebRTC相關(guān)的范例
https://github.com/muaz-khan/WebRTC-Experimentwebrtc_android
sky p2p metting是基于webrtc開發(fā)的一套可以進(jìn)行單路或者多路語音幕与、視頻的系統(tǒng)。高仿微信九宮格顯示镇防,最多可支持 9 路視頻啦鸣。
https://github.com/ddssingsong/webrtc_androidEasyRTC
A bundle of Open Source WebRTC joy!
https://github.com/priologic/easyrtc-
media-server-go
功能強(qiáng)大,想使用go設(shè)計(jì)WebRTC SFU的同學(xué)可以深入研究下来氧。
WebRTC media server for go
https://github.com/notedit/media-server-go
支持:- WebRTC-Broadcast: WebRTC publish and play
- Raw-RTP-Input: Send raw rtp data into webrtc
- WebRTC-Record: WebRTC record
- RTMP-To-WebRTC: Rtmp to webrtc
- Server-To-Server: WebRTC server relay
- WebRTC-To-RTMP: WebRTC to rtmp
- WebRTC-To-HLS: WebRTC to hls
- MP4 multitrack recording support for all WebRTC codecs: H264,VP8,VP9, OPUS and PCMU/A.
- VP9 SVC layer selection
- Simulcast with temporal layer selection
- RTP transport wide congestion control
- Sender side BitRate estimation
- Flex FEC draft 3
- NACK and RTX support
- [RTCP reduced size] (https://tools.ietf.org/html/rfc5506)
- Bundle
- ICE lite
WebRTC統(tǒng)計(jì)
Chrome支持良好诫给,Edge、Firefox支持度一般
https://github.com/muaz-khan/getStatslaravel-video-chat
沒實(shí)際使用啦扬,不清楚效果怎么樣
Laravel Video Chat using Socket.IO and WebRTC
laravel-video-chatRTCMultiConnection
多人通話范例
https://github.com/muaz-khan/RTCMultiConnectionIOS webrtc eVisit-cordova-meetRTC參考
https://github.com/spacewideweb/eVisit-cordova-meetRTC/tree/master/eVisit-master/MeetRTC
即時(shí)通訊
go
-
Terry-Mao/goim 是一個(gè)支持集群的im及實(shí)時(shí)推送服務(wù)中狂。
https://github.com/Terry-Mao/goim- 輕量級
- 高性能
- 純Golang實(shí)現(xiàn)
- 支持單個(gè)、多個(gè)考传、單房間以及廣播消息推送
- 支持單個(gè)Key多個(gè)訂閱者(可限制訂閱者最大人數(shù))
- 心跳支持(應(yīng)用心跳和tcp吃型、keepalive)
- 支持安全驗(yàn)證(未授權(quán)用戶不能訂閱)
- 多協(xié)議支持(websocket,tcp)
- 可拓?fù)涞募軜?gòu)(job僚楞、logic模塊可動(dòng)態(tài)無限擴(kuò)展)
- 基于Kafka做異步消息推送
-
im_service
https://github.com/GoBelieveIO/im_service
官方QQ群:450359487勤晚,加群請附加說明信息枉层。- 支持點(diǎn)對點(diǎn)消息, 群組消息, 聊天室消息
- 支持集群部署
- 單機(jī)支持50w用戶在線
- 單機(jī)處理消息5000條/s
- 支持超大群組(3000人)
im
較為適合入門的IM程序
https://github.com/Terry-Ye/imgoim
有框架設(shè)計(jì)圖
https://github.com/alberliu/goim
goim是一個(gè)即時(shí)通訊服務(wù)器,代碼全部使用golang完成赐写,功能包含好友之間一對一聊天鸟蜡,群組聊天,支持單用戶多設(shè)備同時(shí)在線挺邀,就像微信一樣揉忘,當(dāng)你同時(shí)使用兩個(gè)設(shè)備登錄賬號時(shí),兩個(gè)設(shè)備可以都可以接收到消息端铛,當(dāng)你用一個(gè)設(shè)備發(fā)送消息時(shí)泣矛,另一個(gè)設(shè)備也能收到你發(fā)送的消息。目前已經(jīng)更新到1.1.0版版本禾蚕,1.1.0版本主要實(shí)現(xiàn)了logic層和connect層的服務(wù)拆分您朽,雖然現(xiàn)在距離生產(chǎn)環(huán)境使用還有一定的差距,但是會不斷完善换淆,使其可以用于生產(chǎn)環(huán)境哗总。
測試api:https://documenter.getpostman.com/view/4164957/RzZ4q2hJ?version=latest#eeba83e9-e67c-44e2-8164-5d824dddd53eGo語言非官方開源telegram服務(wù)端
https://github.com/nebulaim/telegramdFishChatServer2 聊天
https://github.com/oikomi/FishChatServer2
node.js
-
Vchat
體驗(yàn)賬號:10001793 密碼:123456
https://github.com/wuyawei/Vchat
【從頭到腳】擼一個(gè)社交聊天系統(tǒng)(vue + node + mongodb)
c++
-
TeamTalk
TeamTalk是一款蘑菇街開源的企業(yè)內(nèi)部即時(shí)通訊軟件,目前支持pc倍试、安卓讯屈、IOS、Mac和web多個(gè)終端县习,這是各個(gè)版本的代碼和部署腳本涮母。
https://github.com/balloonwj/TeamTalk
監(jiān)控
開源監(jiān)控利器grafana
https://github.com/grafana/grafanaCAT 簡介
https://github.com/dianping/cat
CAT 是基于 Java 開發(fā)的實(shí)時(shí)應(yīng)用監(jiān)控平臺,為美團(tuán)點(diǎn)評提供了全面的實(shí)時(shí)監(jiān)控告警服務(wù)准颓。
CAT 作為服務(wù)端項(xiàng)目基礎(chǔ)組件哈蝇,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端,已經(jīng)在美團(tuán)點(diǎn)評的基礎(chǔ)架構(gòu)中間件框架(MVC框架攘已,RPC框架炮赦,數(shù)據(jù)庫框架,緩存框架等样勃,消息隊(duì)列吠勘,配置系統(tǒng)等)深度集成,為美團(tuán)點(diǎn)評各業(yè)務(wù)線提供系統(tǒng)豐富的性能指標(biāo)峡眶、健康狀況剧防、實(shí)時(shí)告警等。
CAT 很大的優(yōu)勢是它是一個(gè)實(shí)時(shí)系統(tǒng)辫樱,CAT 大部分系統(tǒng)是分鐘級統(tǒng)計(jì)峭拘,但是從數(shù)據(jù)生成到服務(wù)端處理結(jié)束是秒級別,秒級定義是48分鐘40秒,基本上看到48分鐘38秒數(shù)據(jù)鸡挠,整體報(bào)表的統(tǒng)計(jì)粒度是分鐘級辉饱;第二個(gè)優(yōu)勢,監(jiān)控?cái)?shù)據(jù)是全量統(tǒng)計(jì)拣展,客戶端預(yù)計(jì)算彭沼;鏈路數(shù)據(jù)是采樣計(jì)算。
網(wǎng)關(guān)
go
- Gateway
是一個(gè)基于HTTP協(xié)議的restful的API網(wǎng)關(guān)备埃⌒栈螅可以作為統(tǒng)一的API接入層。
https://github.com/fagongzi/gateway- 流量控制(Server或API級別)
- 熔斷(Server或API級別)
- 負(fù)載均衡
- 服務(wù)發(fā)現(xiàn)
- 插件機(jī)制
- 路由(分流按脚,復(fù)制流量)
- API 聚合
- 等等等等............
模塊組件
go
-
websocket
https://github.com/gorilla/websocket -
cellnet
cellnet是一個(gè)組件化于毙、高擴(kuò)展性、高性能的開源服務(wù)器網(wǎng)絡(luò)庫
https://github.com/davyxu/cellnet
C++
-
A C++ High Performance Web Server
https://github.com/linyacool/WebServer
工具
-
藍(lán)燈
訪問國外的軟件
https://github.com/getlantern/download