原文: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