WebRTC M66~M88關(guān)鍵更新

原文:https://blog.csdn.net/sonysuqin/article/details/112235095
注:
走馬觀花渐夸,只列出一些自認(rèn)為比較關(guān)鍵的更新嗤锉,可能有所遺漏;
修復(fù)的bug沒有列出墓塌;
基本上下列所有版本的更新記錄中AEC3都有一些提交瘟忱,說明近年AEC3一直是WebRTC的重點(diǎn)內(nèi)容,這里也沒有列出苫幢。
M66
2018-03-21

修正Opus編碼使用DTX出現(xiàn)的長(zhǎng)延時(shí)访诱,影響音視頻同步;
DTMF從RTCPeerConnection轉(zhuǎn)移到RTCRtpSender韩肝;
增加MediaStreamTrack.getCapabilities()方法獲取MediaStreamTrack的能力
增加RelayPortFactoryInterface用于自定義relay(turn)端口触菜;
RtpSender可以發(fā)送app指定的數(shù)據(jù);
RTCP的發(fā)送間隔可以配置哀峻;
為聯(lián)播的每個(gè)子流增加RTCRtpEncodingParamers.active字段玫氢;
CreateAnswer驗(yàn)證信令狀態(tài),必須是"have-remote-offer"或者"have-local-pranswer"谜诫,否則拒絕漾峡;
新增一些丟幀相關(guān)的度量信息;
fec控制器插件化喻旷,PeerConnectionFactory可以使用外部fec控制器生逸;
VoE API重構(gòu);
STUN binding消息發(fā)送間隔可以配置且预,并收集狀態(tài)槽袄。
M67
2018-05-22

Chrome自動(dòng)播放策略影響本地和遠(yuǎn)端媒體流的播放;
Android MIPS架構(gòu)將被移除锋谐;
默認(rèn)SRTP認(rèn)證tag長(zhǎng)度從32位改為80位遍尺。
getStats新API可以根據(jù)selector分別獲取sender、receiver的stats涮拗;
更新Android乾戏、iOS端PeerConnection API迂苛,可以使用Unified Plan和RtpTransceivers;
NetEQ中為expand rate(丟包隱藏比例)增加UMA直方圖鼓择;
減小fec表的尺寸三幻,降低為fec控制器計(jì)算packet loss mask的復(fù)雜性;
默認(rèn)使能round-robin包發(fā)送隊(duì)列呐能;
TurnPort類可以調(diào)用新增接口發(fā)送自定義stun消息念搬;
支持一個(gè)sender/receiver中包含多個(gè)stream;
媒體流名從label變?yōu)榈絠d摆出,以支持多流朗徊;
getStats新增googHugeFramesSent,發(fā)送的巨型幀數(shù)偎漫;
允許清除VideoFormat爷恳,允許攝像頭、抓屏之間的編碼參數(shù)切換骑丸。
M68
2018-06-29

iOS默認(rèn)去掉軟編;
抓屏聯(lián)播妒貌,需要SFU通危、MCU自行區(qū)別子流,不能僅僅依賴分辨率灌曙,不同子流可能分辨率一樣菊碟,但是碼率和幀率不一樣;
MacOS和Windows支持實(shí)驗(yàn)性質(zhì)的系統(tǒng)級(jí)回聲消除在刺;
ICE中支持VPN接口類型逆害。
M69
2018-08-27

開始推進(jìn)Unified Plan,RtpTransceivers蚣驼;
數(shù)據(jù)通道的closing步驟修改魄幕,不向下兼容;
聯(lián)播每層可以單獨(dú)設(shè)置最大碼率颖杏,通過調(diào)用RTCSender.setParameters()纯陨。
M70
2018-10-10

Android SDK默認(rèn)不包含視頻編解碼器,需要的時(shí)候需要傳遞DefaultVideoEnoderFactory給createPeerConnectionFactory留储;
允許使用PlanB創(chuàng)建聯(lián)播的offer翼抠、answer;
實(shí)現(xiàn)并評(píng)估PCC擁塞控制算法获讳。
M71
2018-10-30

Unified Plan還處于試驗(yàn)階段阴颖,預(yù)計(jì)M72升級(jí)為正式版,firefox已經(jīng)使用Unified Plan丐膝;
增加MacOS framework量愧;
集成測(cè)試BBR(后面版本被移除)钾菊;
允許配置開關(guān)FrameDropper;
PacedSender中實(shí)現(xiàn)round-robin發(fā)送隊(duì)列侠畔;
增加"number of video freezes per minute" metrics结缚,也就是每分鐘卡頓幀數(shù)。
M72
2018-12-22

Unified plan默認(rèn)啟用软棺;
JS方法getDisplayMedia默認(rèn)啟用红竭,用于獲取屏幕,不用再安裝擴(kuò)展喘落;
JS的resizeMode constrainable屬性可以用于控制是否自動(dòng)修改分辨率茵宪;
內(nèi)網(wǎng)環(huán)境下可以使用mDNS建立P2P連接,隱藏私有內(nèi)網(wǎng)地址瘦棋;
抓屏模式下稀火,可以設(shè)置較大的播放延遲,用于平滑突發(fā)較大的視頻流赌朋;
未確認(rèn)但是已經(jīng)發(fā)送的流量凰狞,也加入帶寬估計(jì);
自適應(yīng)的丟包-退避閾值沛慢,LossBasedBandwidthEstimation類實(shí)現(xiàn)赡若,默認(rèn)不打開;
RtpSender增加FrameEncryptorInterface团甲,用戶可以自定義加密算法逾冬;
正確支持VPN接口類型;
可以分別設(shè)置音躺苦、視頻流的RTCP包發(fā)送間隔身腻;
聯(lián)播可以單獨(dú)設(shè)置每個(gè)空間層的幀間隔;
收到亂序包后匹厘,延遲一段時(shí)間再發(fā)送NACK嘀趟,期望空洞盡量被填充;
支持2字節(jié)RTP頭擴(kuò)展愈诚;
支持配置音頻JitterBuffer最小延遲去件。
M73
2019-02-26

支持mDNS作為local candidate;
JS的一些WebRTC1.0的API扰路;
JS在tab頁(yè)共享的時(shí)候尤溜,會(huì)話可以不用停止;
SDP支持RID汗唱。
M74
2019-03-27

ICEConnectionState connected狀態(tài)上報(bào)時(shí)機(jī)修改成打洞成功宫莱,而不等待dtls握手成功;
移除RTP擴(kuò)展頭IDs哩罪;
桌面平臺(tái)移除AEC2授霸,AEC3作為默認(rèn)的回聲消除引擎巡验;
Host candidate混淆;
基于RID碘耳、MID的聯(lián)播显设;
聯(lián)播空間層分辨率降低系數(shù)scale_resolution_down_by。
M75
2019-05-16

開放RTCIceTransport和RTCDtlsTransport接口辛辨,用于訪問底層ICE捕捂、DTLS信息;
chrome://webrtc-internal使用標(biāo)準(zhǔn)getStats斗搞;
聯(lián)播中每個(gè)FIR對(duì)所有空間層只發(fā)送一個(gè)關(guān)鍵幀指攒。
M76
2019-07-01

更多標(biāo)準(zhǔn)getStats度量信息;
實(shí)現(xiàn)RTCRtpTrasceiver.setCodecPreferences僻焚,可以設(shè)置用于協(xié)商的默認(rèn)編碼參數(shù)允悦,也可以用于禁用RTX、RED虑啤、FEC等隙弛;
實(shí)現(xiàn)RTCSctpTransport,允許檢查數(shù)據(jù)通道的傳輸狀態(tài)狞山;
實(shí)現(xiàn)RTCRtpSender.setStreams全闷,允許將媒體流設(shè)置到Sender的Track中。
M77
2019-09-02

收到對(duì)應(yīng)RTP流的反饋包后铣墨,MID室埋、RSID擴(kuò)展頭不再繼續(xù)在每個(gè)RTP包中攜帶办绝,降低帶寬伊约;
改進(jìn)瀏覽器Tab Capture UI;
新增RTCPeerConnection.restartIce可以在下次交換sdp重協(xié)商的時(shí)候重啟Ice孕蝉,可以不用管offer屡律、answer的信令交換狀態(tài),隨時(shí)安全調(diào)用降淮;
新增RTCPeerConnection.oniceandidateerror超埋,可以報(bào)告收集ICE candidate失敗佳鳖;
啟用RTCRtpSender.setStreams霍殴,允許將媒體流設(shè)置到sender的track中;
音頻支持輸入輸出16kHz采樣率系吩,之前都是48K来庭;
網(wǎng)絡(luò)擁塞控制插件化,可以自定義擁塞控制模塊穿挨。
M78
2019-10-09

增加一些Stats月弛;
編碼器最小目標(biāo)碼率可以配置肴盏;
如果app未設(shè)置,自動(dòng)設(shè)置最大碼率上限帽衙。
M79
2019-11-15

Stats信息中的RTCSentRtpStreamStats->bytesSent和RTCInboundRtpStreamStats->byteReceived不再統(tǒng)計(jì)RTP頭菜皂,只統(tǒng)計(jì)RTP負(fù)載的數(shù)據(jù);
Chrome新增一個(gè)名為"WebRtcLocalIpsAllowedUrls"的企業(yè)策略厉萝,這個(gè)策略定義一個(gè)白名單恍飘,如果白名單上的URL匹配,Ice Candidate中會(huì)使用本地地址冀泻,否則會(huì)被mDNS地址隱藏常侣;
聯(lián)播時(shí)間層啟用重傳。
M80
2020-01-15

從該版本開始弹渔,代碼中的分支名稱從M80改成了分支號(hào)(80是Chromium版本, 分支號(hào)是一個(gè)單調(diào)遞增的Chromium分支號(hào)碼胳施,例如M80對(duì)應(yīng)3987);
setLocalDescription和setRemoteDescription可以被回滾肢专,以實(shí)現(xiàn)"完美協(xié)商"舞肆;
setLocalDescription可以不帶參數(shù),該調(diào)用會(huì)自動(dòng)調(diào)用CreateOffer博杖、CreateAnswer椿胯,防止異步回調(diào)過程中產(chǎn)生的失步競(jìng)爭(zhēng),以實(shí)現(xiàn)"完美協(xié)商"剃根;
增加AV1打包哩盲。
M81
2020-02-28

Chrome在沒有獲得權(quán)限的時(shí)候enumerateDevices不再暴露用戶設(shè)備ID。
M82
該版本被取消狈醉。

M83
2020-04-23

增加標(biāo)記測(cè)試DTLS1.0的移除廉油;
ice-ufrag和ice-pwd語法增加一些限制,符合ice語法標(biāo)準(zhǔn)苗傅;
可插入流試驗(yàn)抒线,用戶可以自定義數(shù)據(jù)流的處理,用于端到端加密等應(yīng)用渣慕;
JS:RTCPeerConnection.canTrickleIceCandidates用于設(shè)置服務(wù)端是否支持trickling ice candidate嘶炭;
JS:RTCRtpSendParameters.degradationPreference用于設(shè)置質(zhì)量調(diào)整策略,可以設(shè)置為"maintain-framerate", “maintain-resolution”, “balance”;
Opus升級(jí)到1.3逊桦;
MID眨猎、RID擴(kuò)展頭是否在每個(gè)RTP包中攜帶可以配置。
M84
2020-06-03

getStats接口獲得聯(lián)播下每個(gè)子流的信息强经,用SSRC區(qū)分睡陪;
VoIP純語音引擎API,只包含音頻編解碼夕凝、NetEQ宝穗、RTP/RTCP處理户秤,網(wǎng)絡(luò)IO交給APP。
M85
2020-07-17

默認(rèn)視頻質(zhì)量分析接口逮矛,允許增加多個(gè)peer鸡号;
增加HEVC編碼名"H265X"到media/base/media_constants.h。
M86
2020-09-16

修復(fù)堆棧溢出攻擊漏洞CVE-2020-6514须鼎,允許攻擊者通過一個(gè)SCTP流從網(wǎng)絡(luò)中以特權(quán)進(jìn)行堆棧溢出攻擊鲸伴;
增加H264的sdp參數(shù),fmtp=sps-pps-idr-in-keyframe晋控,設(shè)置是否每個(gè)關(guān)鍵幀攜帶sps汞窗、pps。
M87
2020-11-06

提前警告赡译,RTP數(shù)據(jù)通道即將被移除仲吏,基于SCTP的數(shù)據(jù)通道作為默認(rèn)數(shù)據(jù)通道;
支持SDP完美協(xié)商蝌焚;
Transceiver增加新方法stop裹唆。
M88
2020-12-16

VPX支持NV12,無需轉(zhuǎn)換成I420;
RTP數(shù)據(jù)通道被移除只洒,基于SCTP的數(shù)據(jù)通道作為默認(rèn)數(shù)據(jù)通道许帐。
————————————————
版權(quán)聲明:本文為CSDN博主「一朵喇叭花壓海棠」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議毕谴,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明成畦。
原文鏈接:https://blog.csdn.net/sonysuqin/article/details/112235095

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涝开,隨后出現(xiàn)的幾起案子循帐,更是在濱河造成了極大的恐慌,老刑警劉巖忠寻,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惧浴,死亡現(xiàn)場(chǎng)離奇詭異存和,居然都是意外死亡奕剃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門氯夷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來较店,“玉大人膳汪,你說我怎么就攤上這事〔偃恚” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵宪祥,是天一觀的道長(zhǎng)聂薪。 經(jīng)常有香客問我家乘,道長(zhǎng),這世上最難降的妖魔是什么藏澳? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任仁锯,我火速辦了婚禮,結(jié)果婚禮上翔悠,老公的妹妹穿的比我還像新娘业崖。我一直安慰自己,他們只是感情好蓄愁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布双炕。 她就那樣靜靜地躺著,像睡著了一般撮抓。 火紅的嫁衣襯著肌膚如雪妇斤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天丹拯,我揣著相機(jī)與錄音趟济,去河邊找鬼。 笑死咽笼,一個(gè)胖子當(dāng)著我的面吹牛顷编,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剑刑,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼媳纬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了施掏?” 一聲冷哼從身側(cè)響起钮惠,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎七芭,沒想到半個(gè)月后素挽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狸驳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年预明,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耙箍。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撰糠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辩昆,到底是詐尸還是另有隱情阅酪,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站术辐,受9級(jí)特大地震影響砚尽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辉词,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一尉辑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧较屿,春花似錦隧魄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至嘱么,卻和暖如春狮含,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背曼振。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工几迄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冰评。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓映胁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親甲雅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子解孙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354