WebRTC 那些常用的缩略词以及部分知识杂谈
WebRTC 那些常用的縮略詞以及部分知識(shí)雜談
一、 縮略語
RTC?????????????????????????????????Real-Time Communication
SDP?????????????????????????????????Session Description Protocol 會(huì)話描述協(xié)議
ICE??????????????????????????????????Interactive Connectivity Establishment?交互式連接建立
JSEP???????????????????????????????JavaScript Session Establishment Protocol
BWE????????????????????????????????Bandwidth Estimation
SLI???????????????????????????????????Slice Loss Indictor .
????????????????????????????????????????The SLI FB messageis identified by PT=PSFB and FMT=2. Slice Loss Indication,為幀內(nèi)部分塊損
????????????????????????????????????????壞后發(fā)送
PLI???????????????????????????????????Picture Loss Indictor?關(guān)鍵幀丟包重傳,參考rfc4585
????????????????????????????????????????The PLI FB messageis identified by PT=PSFB and FMT=1. Picture Loss Indication,為整個(gè)圖像幀丟
?????????????????????????????????????????失后發(fā)送
FIR???????????????????????????????????Full intra frame request???關(guān)鍵幀重傳請(qǐng)求(IDR幀,無需參考幀可解碼)
?????????????????????????????????????????這里面Intra的含義可能很多人不知道。Intra的含義是圖像內(nèi)編碼,不需要其他圖像信息即可解碼
?????????????????????????????????????????Inter指圖像間編碼,解碼需要參考幀。故Intra Frame其實(shí)就是指I幀,Inter Frame指P幀或B幀。
REMB??????????????????????????????Receiver Estimated Maximum Bitrate
WMS????????????????????????????????WebRTC Media Stream
msid?????????????????????????????????Media Stream ID
ccm??????????????????????????????????Codec Control Using RTCP Feedback Message 是支持使用rtcp反饋機(jī)制來實(shí)現(xiàn)編碼控制
transport-cc??????????????????????編碼支持使用rtcp來控制擁塞
NACK???????????????????????????????Negative ACKnowledgement 丟包重傳
REX??????????????????????????????????Retransmission 重傳
RTT??????????????????????????????????Round-Trip Time 網(wǎng)絡(luò)往返時(shí)間
FEC??????????????????????????????????Forward?Error/Erasure?Correction?前向糾錯(cuò)
ARQ?????????????????????????????????Automatic Repeat reQuest?丟包重傳
ABC??????????????????????????????????Adaptive Bit-rate Control?碼率自適應(yīng)
PLC??????????????????????????????????Packet Lost Concealment?錯(cuò)誤隱藏
rtcp-fb???????????????????????????????RTCP Feedback
PSFB????????????????????????????????Payload-Specific FB 消息被定義為載荷類型為PSFB的RTCP消息
ALR??????????????????????????????????Application limited region??發(fā)送碼率占最大預(yù)算碼率值比例低于某個(gè)值的話Alr 會(huì)被觸發(fā)了,恢復(fù)到某
?????????????????????????????????????????個(gè)值以上,Alr會(huì)停止。
SVC?????????????????????????????????Scalable Video Coding??通過改變一個(gè)GOP內(nèi)幀的線性參考關(guān)系。防止網(wǎng)絡(luò)丟包對(duì)視頻傳輸造成的影響
AVP?????????????????????????????????audio video profile?????
AVPF???????????????????????????????audio video profile feedback
SAVPF?????????????????????????????safe audio video profile feedback
SCTP??????????????????????????????Stream Control Transmission Protocol:流控制傳輸協(xié)議。而對(duì)于自定義應(yīng)用數(shù)據(jù)的傳輸,WebRTC中使用了SCTP協(xié)議
TX???????????????????????????????????Transmission 發(fā)送
RX???????????????????????????????????Reception 接收
???????????????????????????????????????其中的 X 代表什么?這是個(gè)在美國人中間也是云里霧里找不著北的問題,從未見過有什么“正確”答案。最能讓人接受一個(gè)解釋是,那個(gè) x 指代 crossing(跨越)。電訊傳播當(dāng)然要“跨越”。
???????????????????????????????????????這種解釋在美國城市街道、馬路上可以得到印證。人行橫道用的就是 Xing,這個(gè)Xing要讀成 crossing,用 X 來表示不僅音似,而且形似。但在 crossing 這個(gè)詞中并沒有 x 這個(gè)字母。
???????????????????????????????????????也有一種說法就是為了方便,例如Christmas可縮寫為X'mas , X 就是個(gè)讓它們好讀好寫好(接)受一點(diǎn)的添頭。落衫姬國際機(jī)場(chǎng)使用代碼 LAX,在劇院,「燈……等燈等燈」也叫 LX
?????????????????????????????????????(例:PVC 電工膠帶也叫 LX 膠帶)吉蛤比特以太網(wǎng)的單膜光纖,使用 1000Base-LX 標(biāo)準(zhǔn)(此處 L 代表「長(zhǎng)距」)
RTX????????????????????????????????Re-Transmission
?
?
二、FEC
FEC是發(fā)送端在發(fā)送報(bào)文的時(shí)候,將之前的舊包也打包到新包里面,若接收端有丟包,就用新包里面冗余的舊包恢復(fù)數(shù)據(jù)。
webrtc實(shí)現(xiàn)該冗余功能,有三種方式:
1、RED就是RFC2198冗余。將前面的報(bào)文直接打入到新包里面,在接收端解析主包和冗余包。
2、ULPFEC,目前webrtc僅將SVC編碼的Level
0視頻幀打包成FEC。其余層有丟包,就逐步將幀率,保證視頻相對(duì)流暢。用到的協(xié)議是:RFC5109。
3、FLEXFEC根據(jù)接收端反饋回來的丟包信息,總結(jié)一些規(guī)律,把預(yù)判丟失概率比較大的包,冗余打包出去
?
三、 NACK
NACK也是一種通知技術(shù),只是觸發(fā)通知的條件剛好的ACK相反,在未收到消息時(shí),通知發(fā)送方“我未收到消息”,即通知未達(dá)。
在rfc4585協(xié)議中定義可重傳未到達(dá)數(shù)據(jù)的類型有二種:
1)RTPFB:rtp報(bào)文丟失重傳。
2)PSFB:指定凈荷重傳,指定凈荷重傳里面又分如下三種:
1、PLI????(Picture Loss Indication) 視頻幀丟失重傳。
2、SLI????(Slice Loss Indication)????slice丟失重轉(zhuǎn)。
3、RPSI (Reference Picture Selection Indication)參考幀丟失重傳。
?
四、SETUP
a=setup 主要是表示dtls的協(xié)商過程中角色的問題,誰是客戶端,誰是服務(wù)器
a=setup:actpass 既可以是客戶端,也可以是服務(wù)器
a=setup:active 客戶端
a=setup:passive 服務(wù)器
a=sendrecv 主要表示流的傳輸方向
a=sendrecv 發(fā)送和接收
a=sendonly 只能發(fā)送
a=recvonly??只能接收
a=inactive 未激活
?
五、重傳機(jī)制解釋
I 、關(guān)鍵幀請(qǐng)求
主要包括SLI/PLI/FIR,集中報(bào)文手段,目的是在關(guān)鍵幀丟失無法解碼時(shí),請(qǐng)求發(fā)送方重新生成并發(fā)送一個(gè)關(guān)鍵幀。本質(zhì)是一種重傳,但是跟傳輸層的重傳的區(qū)別是,它重傳是最新生成的幀。
PLI 是Picture LossIndication,SLI 是Slice Loss Indication。發(fā)送方接收到接收方反饋的PLI或SLI需要重新讓編碼器生成關(guān)鍵幀并發(fā)送給接收端。
FIR 是Full Intra Request,這里面Intra的含義可能很多人不知道。Intra的含義是圖像內(nèi)編碼,不需要其他圖像信息即可解碼;Inter指圖像間編碼,解碼需要參考幀。故Intra Frame其實(shí)就是指I幀,Inter Frame指P幀或B幀。
那么為什么在PLI和SLI之外還需要一個(gè)FIR呢?原因是使用場(chǎng)景不同,FIR更多是在一個(gè)中心化的Video Conference中,新的參與者加入,就需要發(fā)送一個(gè)FIR,其他的參與者給他發(fā)送一個(gè)關(guān)鍵幀這樣才能解碼,而PLI和SLI的含義更多是在發(fā)生丟包或解碼錯(cuò)誤時(shí)使用。
?
II 、重傳請(qǐng)求
主要包括RTX/NACK/RPSI
這個(gè)重傳跟關(guān)鍵幀請(qǐng)求的區(qū)別是它可以要求任意幀進(jìn)行重傳
?
III、碼率控制
主要包括REMB/TMMBR/TMMBN
TMMBR是Temporal Max MediaBitrate Request,表示臨時(shí)最大碼率請(qǐng)求。表明接收端當(dāng)前帶寬受限,告訴發(fā)送端控制碼率。
REMB是ReceiverEstimatedMax Bitrate,接收端估計(jì)的最大碼率。
————————————————
版權(quán)聲明:本文為CSDN博主「freeabc」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/freeabc/article/details/106711632
總結(jié)
以上是生活随笔為你收集整理的WebRTC 那些常用的缩略词以及部分知识杂谈的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Clion 远程同步设置
- 下一篇: docker 实践