日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最新 WebRTC 源码目录结构分析

發(fā)布時間:2024/2/28 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最新 WebRTC 源码目录结构分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

最近一直在研究 WebRTC源碼,發(fā)現(xiàn)目前網(wǎng)上分析WebRTC源碼的資料非常少。隨著Google不斷推進(jìn)WebRTC標(biāo)準(zhǔn),WebRTC 代碼的變化非常大,很多以前的分析文章目前都與最新的代碼無法對應(yīng)上了。

所以,我想在分析WebRTC代碼的過程中,將自己的一些分析心得寫下來分享給大家,這樣即是對自己的一種鞭策,同時也可以幫助那些想入門的同學(xué)。

當(dāng)然,我寫的分析文章不見得十分正確,如有不對的地方還請大家多多指正。

目錄結(jié)構(gòu)分析

api

WebRTC 接口層。包括 DataChannel, MediaStream, SDP相關(guān)的接口。各瀏覽器都是通過該接口層調(diào)用的 WebRTC。

call

存放的是 WebRTC “呼叫(Call)” 相關(guān)邏輯層的代碼。

audio

存放音頻網(wǎng)絡(luò)邏輯層相關(guān)的代碼。音頻數(shù)據(jù)邏輯上的發(fā)送,接收等代碼。

video

存放視頻邏輯層及視頻引擎層的相關(guān)的代碼。視頻數(shù)據(jù)邏輯上的發(fā)送,接收等代碼。

視頻引擎層就是指如何控制視頻采集,處理和編解碼操作的邏輯。

voice_engine

存放音頻引擎代碼。主要是控制音頻的采集,處理,編解碼的操作。

這個目錄后面可能也會被拿掉。

sdk

存放了 Android 和 IOS 層代碼。如視頻的采集,渲染代碼都在這里。

pc

存放一些業(yè)務(wù)邏輯層的代碼。如 channel, session等。

common_audio

存放一些音頻的基本算法。包括環(huán)形隊(duì)列,博利葉算法,濾波器等。

common_video

存放了視頻算法相關(guān)的常用工具,如libyuv, sps/pps分析器,I420緩沖器等。

modules

這個目錄是 WebRTC 代碼中最重要的一個目錄。里面包括了音視頻的采集,處理,編解碼器,混音等。

視頻的渲染部分已經(jīng)從這里刪除了。因?yàn)闆]有瀏覽器需要用到這里的渲染代碼。如果使用Native API 做二次開發(fā),需要自己寫視頻渲染相關(guān)的代碼。

modules 目錄下還包括以下幾個子目錄:

audio_coding :?音頻編解碼相關(guān)代碼。

audio_conference_mixer :?會議混音相關(guān)代碼。

audio_device :?音頻采集與音頻播放相關(guān)代碼。

audio_mixer :?混音相關(guān)代碼,這部分是后加的。

audio_processing :?音頻前后處理的相關(guān)代碼。

bitrate_controller :?碼率控制相關(guān)代碼。

congestion_controller :?流控相關(guān)的代碼。

desktop_capture :?桌面采集相關(guān)的代碼。

media_file :?播放媒體文件相關(guān)的代碼。

pacing :?碼率探測相關(guān)的代碼。

remote_bitrate_estimator :?遠(yuǎn)端碼率估算相關(guān)的代碼。

rtp_rtcp :?rtp/rtcp協(xié)議相關(guān)代碼。

video_capture :?視頻采集相關(guān)的代碼。

video_coding :?視頻編解碼相關(guān)的代碼。

video_processing :?視頻前后處理相關(guān)的代碼。

media

存放媒體相關(guān)的代碼。

p2p

p2p相關(guān)的代碼。

rtc_base

存放了一些基礎(chǔ)代碼。如線程,事件,socket等相關(guān)的代碼。

rtc_tools

存放了一些工具代碼。如視頻幀比較,I420轉(zhuǎn)RGB,視頻幀分析。

stats

存放各種數(shù)據(jù)統(tǒng)計(jì)相關(guān)的類。

libjingle

網(wǎng)絡(luò)庫。

system_wrapper

與操作系統(tǒng)相關(guān)的代碼,如 CPU特性,原子操作,讀寫鎖,時鐘等。

總結(jié)

以上是生活随笔為你收集整理的最新 WebRTC 源码目录结构分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。