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/70160326
Dale工作學(xué)習(xí)筆記? linux服務(wù)器開發(fā)
流媒體: FFmpeg專項(xiàng)
https://blog.csdn.net/fireroll/article/category/565707
Qt界面開發(fā)(各種控件以及圖表)
https://blog.csdn.net/ZhangXiaoyu_sy/article/details/78925221
FFMPEG命令行處理視頻進(jìn)階——高階必讀
https://blog.csdn.net/zhangamxqun/article/details/80295833
FFMpeg 濾鏡中英文對(duì)照
http://www.it610.com/article/3656074.htm
多路解碼
https://github.com/ithewei/hplayer/tree/master/src
基于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ā)
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妥色、mpeg
video
用ffmpeg封裝demuxer,muxer遏片,decoder嘹害,encoder
https://github.com/qflow/video
mp4-sip-rtsp-rtmp
支持的協(xié)議非常多撮竿,具體目錄:mp4-sip-rtsp-rtmp/tree/master/app/src/main/cpp/libstreamProtocol-android
https://github.com/qingfuliao/mp4-sip-rtsp-rtmp
myRtspClient
myRTSPClient是一個(gè)輕量級(jí)的RTSP客戶端C++函數(shù)庫。
支持多平臺(tái)笔呀,支持H264幢踏,H265,MPA等音視頻傳輸凿可。
https://github.com/Ansersion/myRtspClient
flvpusher
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
v4l2rtspserver
RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9
https://github.com/mpromonet/v4l2rtspserver
livego
Go寫的rtmp授账、http枯跑、hls流媒體服務(wù)器
https://github.com/gwuhaolin/livego
ZLMediaKit
https://github.com/xiongziliang/ZLMediaKit
基于C++11開發(fā),避免使用裸指針白热,代碼穩(wěn)定可靠敛助;同時(shí)跨平臺(tái)移植簡(jiǎn)單方? 便,代碼清晰簡(jiǎn)潔屋确。
打包多種流媒體協(xié)議(RTSP/RTMP/HLS)纳击,支持協(xié)議間的互相轉(zhuǎn)換,提供一站式的服務(wù)攻臀。
使用epoll+線程池+異步網(wǎng)絡(luò)IO模式開發(fā)焕数,并發(fā)性能優(yōu)越。
已實(shí)現(xiàn)主流的的H264/H265+AAC流媒體方案刨啸,代碼精簡(jiǎn),脈絡(luò)清晰堡赔,適合學(xué)習(xí)。
編碼格式與框架代碼解耦设联,方便自由簡(jiǎn)潔的添加支持其他編碼格式
代碼經(jīng)過大量的穩(wěn)定性善已、性能測(cè)試,可滿足商用服務(wù)器項(xiàng)目离例。
支持linux换团、macos、ios宫蛆、android艘包、windows平臺(tái)
支持畫面秒開(GOP緩存)、極低延時(shí)(1秒內(nèi))
webrtc
AppRTC
WebRTC官方demo
https://github.com/webrtc/apprtc
WebRTC-Experiment
各種WebRTC相關(guān)的范例
https://github.com/muaz-khan/WebRTC-Experiment
webrtc編譯
https://github.com/shiguredo/sora-webrtc-build
webrtc_android
sky p2p metting是基于webrtc開發(fā)的一套可以進(jìn)行單路或者多路語音耀盗、視頻的系統(tǒng)想虎。高仿微信九宮格顯示,最多可支持 9 路視頻袍冷。
https://github.com/ddssingsong/webrtc_android
EasyRTC
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 SVClayer selection
Simulcast with temporal layer selection
RTP transport wide congestion control
Sender side BitRate estimation
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/getStats
laravel-video-chat
沒實(shí)際使用淌友,不清楚效果怎么樣
Laravel Video Chat using Socket.IO and WebRTC
RTCMultiConnection
多人通話范例
https://github.com/muaz-khan/RTCMultiConnection
IOS 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
輕量級(jí)
高性能
純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,加群請(qǐng)附加說明信息婿崭。
支持點(diǎn)對(duì)點(diǎn)消息, 群組消息, 聊天室消息
支持集群部署
單機(jī)支持50w用戶在線
單機(jī)處理消息5000條/s
支持超大群組(3000人)
im
較為適合入門的IM程序
https://github.com/Terry-Ye/im
goim
有框架設(shè)計(jì)圖
https://github.com/alberliu/goim
goim是一個(gè)即時(shí)通訊服務(wù)器拨拓,代碼全部使用golang完成,功能包含好友之間一對(duì)一聊天氓栈,群組聊天渣磷,支持單用戶多設(shè)備同時(shí)在線,就像微信一樣授瘦,當(dāng)你同時(shí)使用兩個(gè)設(shè)備登錄賬號(hào)時(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)境使用還有一定的差距逐样,但是會(huì)不斷完善,使其可以用于生產(chǎn)環(huán)境帚称。
Go語言非官方開源telegram服務(wù)端
https://github.com/nebulaim/telegramd
FishChatServer2 聊天
https://github.com/oikomi/FishChatServer2
node.js
Vchat
體驗(yàn)賬號(hào):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/grafana
CAT 簡(jiǎn)介
https://github.com/dianping/cat
CAT 是基于 Java 開發(fā)的實(shí)時(shí)應(yīng)用監(jiān)控平臺(tái)始花,為美團(tuán)點(diǎn)評(píng)提供了全面的實(shí)時(shí)監(jiān)控告警服務(wù)。
CAT 作為服務(wù)端項(xiàng)目基礎(chǔ)組件孩锡,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端酷宵,已經(jīng)在美團(tuán)點(diǎn)評(píng)的基礎(chǔ)架構(gòu)中間件框架(MVC框架,RPC框架躬窜,數(shù)據(jù)庫框架浇垦,緩存框架等,消息隊(duì)列荣挨,配置系統(tǒng)等)深度集成男韧,為美團(tuán)點(diǎn)評(píng)各業(yè)務(wù)線提供系統(tǒng)豐富的性能指標(biāo)朴摊、健康狀況、實(shí)時(shí)告警等此虑。
CAT 很大的優(yōu)勢(shì)是它是一個(gè)實(shí)時(shí)系統(tǒng)甚纲,CAT 大部分系統(tǒng)是分鐘級(jí)統(tǒng)計(jì),但是從數(shù)據(jù)生成到服務(wù)端處理結(jié)束是秒級(jí)別朦前,秒級(jí)定義是48分鐘40秒介杆,基本上看到48分鐘38秒數(shù)據(jù),整體報(bào)表的統(tǒng)計(jì)粒度是分鐘級(jí)韭寸;第二個(gè)優(yōu)勢(shì)春哨,監(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級(jí)別)
熔斷(Server或API級(jí)別)
負(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)燈
訪問國外的軟件