在本節中將介紹WebRTC的目錄結構以及各個目錄的做用 經過閱讀本節將會在將來須要修改源代碼時爲你提供幫助
1.api
接口層,外部經過調用本層來使用WebRTC的核心功能web
2.call
管理層,經過本層能夠對數據流進行管理算法
3.video
視頻相關的邏輯,包括處理、編解碼等api
4.audio
音頻相關的邏輯網絡
5.common_audio
音頻相關的算法目錄app
6.common_video
視頻相關的算法目錄tcp
7.media
多媒體相關的邏輯,包括編碼、解碼的邏輯處理ide
8.logging
日誌目錄工具
9.module
模塊目錄,包含衆多模塊,具備可擴展性,在後文中具體介紹測試
10.pc
鏈接層,Peer Connection,包含鏈接相關的邏輯和軌的邏輯
經過本層能夠拿到視頻、音頻信息等編碼
11.p2p
包含端對端的相關邏輯
12.rtc_base
基礎代碼,包含線程、鎖等相關的統一接口代碼
能夠統一處理多端、多平臺的差別等
13.rtc_tool
工具目錄,包含音頻、視頻等分析工具
14.tool_webrtc
WebRTC相關測試工具目錄,如網絡測試、音視頻測試等
15.system_wrappers
與操做系統、環境相關的邏輯代碼,如cpu、系統差別等
16.stats
統計數據目錄,包含丟包率、網絡抖動等統計數據
17.sdk
存放Android和IOS層代碼,包含音視頻採集和渲染等
1.audio_coding
音頻編解碼器
2.audio_device
音頻採集、播放模塊
3.audio.mixer
混音模塊,如多人互動音頻傳輸
4,audio_processing
音頻前處理和後處理模塊,如迴音消除、降噪、增益等
5.bitrate_controller
碼率控制模塊
6.congestion_controller
流控制模塊,如在網絡流量高時的具體處理
7.desktop_capture
桌面採集模塊
8.pacing
碼率探測器及平滑處理模塊,
9.remote_bitrate_estimator
遠端碼率探測器
10.rtp_rtcp
rtp/rtcp協議相關模塊
11.video_capture
視頻採集模塊
12.video_coding
視頻編解碼模塊,如h264等
13.video_processing視頻前處理和後處理模塊