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