RTCInboundRtpStreamStats

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

* 此特性的某些部分可能存在不同級別的支援。

WebRTC API 的 RTCInboundRtpStreamStats 字典用於報告與本地 RTCPeerConnection 上 RTP 流接收端相關的統計資訊。

可以透過迭代 RTCPeerConnection.getStats()RTCRtpReceiver.getStats() 返回的 RTCStatsReport 來獲取統計資訊,直到找到一個 typeinbound-rtp 的報告。

例項屬性

audioLevel

一個數字,表示接收到的軌道的音訊級別。對於影片流未定義。

bytesReceived

一個正整數,表示此媒體源迄今已接收到的總位元組數。

concealedSamples

一個正整數,表示由於資料包丟失或到達太晚而無法播放而必須隱藏的樣本數。對於影片流未定義。

concealmentEvents

一個正整數,表示隱藏事件的數量,其中單個事件計入非隱藏樣本之後的所有連續隱藏樣本。對於影片流未定義。

estimatedPlayoutTimestamp 實驗性

一個 DOMHighResTimeStamp,表示此接收器軌道的估計播放時間。

fecPacketsDiscarded

一個正整數值,表示已為此源接收到的 RTP 前向糾錯 (FEC) 資料包數量,其中糾錯負載已被丟棄。

fecPacketsReceived

一個正整數值,表示為此源接收到的前向糾錯 (FEC) 資料包總數。

frameHeight

一個正整數,表示最後解碼幀的高度,以畫素為單位。對於音訊流和第一個幀解碼之前未定義。

framesAssembledFromMultiplePackets 實驗性

一個正整數,表示此 RTP 流中由多個 RTP 資料包組成的正確解碼幀的總數。對於音訊流未定義。

framesDecoded

一個長整數值,表示此媒體源迄今已正確解碼的影片幀總數。這是如果沒有任何幀被丟棄,則將渲染的幀數。對於音訊流未定義。

framesPerSecond

一個正整數,表示最後一秒解碼的幀數。對於音訊流未定義。

framesReceived

一個正整數,表示此 RTP 流接收到的完整幀總數。對於音訊流未定義。

frameWidth

一個正整數,表示最後解碼幀的寬度,以畫素為單位。對於音訊流和第一個幀解碼之前未定義。

freezeCount 實驗性

一個正整數,表示此接收器經歷的影片凍結總數。對於音訊流未定義。

headerBytesReceived

一個正整數,表示為此 SSRC 接收到的 RTP 頭部和填充位元組總數,包括重傳。

insertedSamplesForDeceleration

一個正整數,表示為減慢抖動緩衝區播放而插入的樣本數。對於影片流未定義。

jitterBufferDelay

一個數字,表示所有音訊樣本和完整影片幀在抖動緩衝區中花費的總累計時間,以秒為單位。

jitterBufferEmittedCount

一個正整數,表示從抖動緩衝區輸出的音訊樣本和/或影片幀的總數。

jitterBufferMinimumDelay

一個數字,表示僅考慮抖動和丟包等網路特性可能實現的最小延遲。

jitterBufferTargetDelay

一個數字,表示累計目標抖動緩衝區延遲。

keyFramesDecoded

一個正整數,表示為此 RTP 媒體流成功解碼的關鍵幀總數。對於音訊流未定義。

lastPacketReceivedTimestamp

一個 DOMHighResTimeStamp,表示此源接收到最後一個數據包的時間。另一方面,timestamp 屬性表示統計物件生成的時間。

一個字串,唯一標識收發器流的源和目標對。這是相應的 RTCRtpTransceiver.mid 的值,除非該值為 null,在這種情況下統計屬性不存在。

packetsDiscarded

一個正整數,表示由於延遲或提前到達而被抖動緩衝區丟棄的 RTP 資料包總數。

pauseCount 實驗性

一個正整數,表示此接收器經歷的影片暫停次數。對於音訊流未定義。

playoutId 實驗性

一個字串,標識音訊流對應的 RTCAudioPlayoutStats對於影片流未定義。

remoteId

一個字串,標識為同一 SSRC 的遠端對等體提供統計資訊的 RTCRemoteOutboundRtpStreamStats 物件。此 ID 在多次呼叫 getStats() 期間保持穩定。

removedSamplesForAcceleration

一個正整數,表示為加速抖動緩衝區播放而刪除的樣本數。對於影片流未定義。

silentConcealedSamples

一個正整數,表示靜默隱藏樣本的數量。對於影片流未定義。

totalAssemblyTime 實驗性

一個數字,表示組裝成功解碼的影片幀(透過多個 RTP 資料包傳輸)所花費的總時間,以秒為單位。對於音訊流未定義。

totalAudioEnergy

一個數字,表示在統計物件生命週期內接收到的軌道的總音訊能量。對於影片流未定義。

totalDecodeTime

一個數字,表示解碼此流中幀所花費的總時間,以秒為單位。對於音訊流未定義。

totalFreezesDuration 實驗性

一個正數,表示流凍結的總時間,以秒為單位。對於音訊流未定義。

totalInterFrameDelay

一個正數,表示連續渲染幀之間花費的總時間,在幀渲染後立即記錄。對於音訊流未定義。

totalPausesDuration 實驗性

一個正數,表示流暫停影片的總時間,以秒為單位。對於音訊流未定義。

totalProcessingDelay

一個正數,表示處理音訊或影片樣本所花費的總時間,以秒為單位。

totalSamplesDuration

一個正數,表示已接收到的所有樣本的總持續時間,以秒為單位。對於影片流未定義。

totalSamplesReceived

一個正整數,表示此流接收到的樣本總數。對於影片流未定義。

totalSquaredInterFrameDelay

一個正數,表示連續渲染幀之間幀間延遲的平方和,在幀渲染後立即記錄。對於音訊流未定義。

trackIdentifier

一個字串,提供與入站流關聯的 MediaStreamTrackid 值。

僅限本地的測量

這些屬性在本地計算,僅可用於接收媒體流的裝置。它們的主要目的是檢查連線的錯誤彈性,因為它們提供有關丟失資料包、丟失幀以及資料壓縮程度的資訊。

nackCount

一個數字,表示接收器透過向傳送器傳送否定確認 (NACK,也稱為“通用 NACK”) 資料包來通知傳送器一個或多個 RTP 資料包已丟失的次數。此值僅對接收器可用。

qpSum

一個正整數,提供此 RTP 接收器迄今為止在此統計物件描述的影片軌道上解碼的每個幀的 QP 值之和。僅對影片流有效。

在 RTP 流接收器處測量的統計資訊

這些統計資訊在 RTP 流的接收端測量,無論它是本地的還是遠端的。

packetsReceived

同步源 (SSRC) 接收到的 RTP 資料包總數,包括重傳。

packetsLost

同步源 (SSRC) 丟失的 RTP 資料包總數。請注意,這可以是負數,因為接收到的資料包可能多於接收器預期的數量。

jitter

同步源 (SSRC) 的資料包抖動,以秒為單位。

常見 RTP 流統計資訊

codecId

一個字串,唯一標識被檢查以生成與此 RTP 流關聯的 RTCCodecStats 物件的物件。

kind

一個字串,指示與流關聯的 MediaStreamTrack 是音訊軌道還是影片軌道。

ssrc

一個 32 位整數,標識此物件提供的 RTP 資料包的來源。此值根據 RFC 3550 規範生成。

transportId

一個字串,唯一標識被檢查以生成與此 RTP 流關聯的 RTCTransportStats 物件的物件。

常見例項屬性

以下屬性是所有 WebRTC 統計資訊物件共有的。

id

一個字串,唯一標識正在監控以生成這組統計資訊的物件。

時間戳

一個 DOMHighResTimeStamp 物件,表示為此統計物件取樣的時間。

type

一個值為 "inbound-rtp" 的字串,表示物件包含的統計型別。

規範

規範
WebRTC 統計 API 的識別符號
# dom-rtcstatstype-inbound-rtp

瀏覽器相容性

另見