webrtc 源碼結構


api
WebRTC 接口層。包括 DataChannel, MediaStream, SDP相關的接口。各瀏覽器都是通過該接口層調用的 WebRTC。
call
存放的是 WebRTC “呼叫(Call)” 相關邏輯層的代碼。
audio
存放音頻網絡邏輯層相關的代碼。音頻數據邏輯上的發送,接收等代碼。
video
存放視頻邏輯層及視頻引擎層的相關的代碼。視頻數據邏輯上的發送,接收等代碼。
視頻引擎層就是指如何控制視頻采集,處理和編解碼操作的邏輯。
sdk
存放了 Android 和 IOS 層代碼。如視頻的采集,渲染代碼都在這里。
pc
存放一些業務邏輯層的代碼。如 channel, session等。
common_audio
存放一些音頻的基本算法。包括環形隊列,博利葉算法,濾波器等。
common_video
存放了視頻算法相關的常用工具,如libyuv, sps/pps分析器,I420緩沖器等。
modules
這個目錄是 WebRTC 代碼中最重要的一個目錄。里面包括了音視頻的采集,處理,編解碼器,混音等。
modules 目錄下還包括以下幾個子目錄:
audio_coding : 音頻編解碼相關代碼。
audio_conference_mixer : 會議混音 相關代碼。
audio_device : 音頻 采集與音頻播放 相關代碼。
audio_mixer : 混音 相關代碼,這部分是后加的。
audio_processing : 音頻前后處理的相關代碼。
bitrate_controller : 碼率控制 相關代碼。
congestion_controller : 流控相關的代碼。
desktop_capture : 桌面采集相關的代碼。
media_file : 播放媒體文件相關的代碼。
pacing : 碼率探測 相關的代碼。
remote_bitrate_estimator : 遠端碼率估算相關的代碼。
rtp_rtcp : rtp/rtcp協議相關代碼。
video_capture : 視頻采集相關的代碼。
video_coding : 視頻編解碼相關的代碼。
video_processing : 視頻前后處理相關的代碼。
media
存放媒體相關的代碼。
p2p
p2p相關的代碼。
rtc_base
存放了一些基礎代碼。如線程,事件,socket等相關的代碼。
rtc_tools
存放了一些工具代碼。如視頻幀比較,I420轉RGB,視頻幀分析。
stats
存放各種數據統計相關的類。
libjingle
網絡庫。
system_wrapper
與操作系統相關的代碼,如 CPU特性,原子操作,讀寫鎖,時鍾等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM