[Webkit-unassigned] [Bug 212668] New: Missing WebRTC Metrics in iOS Safari
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jun 2 16:31:18 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=212668
Bug ID: 212668
Summary: Missing WebRTC Metrics in iOS Safari
Product: WebKit
Version: Safari 13
Hardware: iPhone / iPad
OS: iOS 13
Status: NEW
Severity: Major
Priority: P2
Component: WebRTC
Assignee: webkit-unassigned at lists.webkit.org
Reporter: charob at amazon.com
CC: youennf at gmail.com
WebRTC getStats API is missing critical metric values in iOS Safari
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats
Comparing WebRTC metrics from Chrome and iOS Safari there are many missing metrics that are not available in Safari.
There is a sample that prints all stats for example available here: https://webrtc.github.io/samples/src/content/peerconnection/constraints/
For the video "inbound-rtp" type with id RTCInboundRTPVideoStream_..., it is missing the following critical metrics:
"kind"
"keyFramesDecoded"
"totalDecodeTime"
"totalInterFrameDelay"
"totalSquaredInterFrameDelay"
Also missing but not as critical to have:
"lastPacketReceivedTimestamp"
"headerBytesReceived"
"decoderImplementation"
"estimatedPlayoutTimestamp"
For the audio "inbound-rtp" type with id RTCInboundRTPAudioStream_..., it is missing the following critical metrics:
"kind"
Also missing but not as critical to have:
"estimatedPlayoutTimestamp"
"fecPacketsDiscarded"
"fecPacketsReceived"
"headerBytesReceived"
"lastPacketReceivedTimestamp"
For the audio "track" type with id RTCMediaStreamTrack_..., it is missing the following critical metrics:
"kind"
"jitterBufferDelay"
"jitterBufferEmittedCount"
Also missing but not as critical to have:
"concealedSamples"
"concealmentEvents"
"insertedSamplesForDeceleration"
"removedSamplesForAcceleration"
"silentConcealedSamples"
"totalAudioEnergy"
"totalSamplesDuration"
"totalSamplesReceived"
For the video "track" type with id RTCMediaStreamTrack_..., it is missing the following critical metrics:
"kind"
"jitterBufferDelay"
"jitterBufferEmittedCount"
For the transport type with id RTCTransport_0_1, it is missing the following metrics:
"dtlsCipher"
"dtlsState"
"selectedCandidatePairChanges"
"srtpCipher"
"tlsVersion"
Below is an example of metrics returned from Chrome:
[
{
"bytesReceived": 54184,
"bytesSent": 14599,
"datachannelid": 1,
"id": "RTCDataChannel_1",
"label": "messageChannel",
"messagesReceived": 22,
"messagesSent": 888,
"protocol": "",
"state": "open",
"timestamp": 1589957352309.487,
"type": "data-channel"
},
{
"availableOutgoingBitrate": 300000,
"bytesReceived": 1652430303,
"bytesSent": 2128818,
"consentRequestsSent": 321,
"currentRoundTripTime": 0.035,
"id": "RTCIceCandidatePair_pNUroWhv_ZdfFPSAc",
"localCandidateId": "RTCIceCandidate_pNUroWhv",
"nominated": true,
"priority": 7926369428982087000,
"remoteCandidateId": "RTCIceCandidate_ZdfFPSAc",
"requestsReceived": 309,
"requestsSent": 1,
"responsesReceived": 311,
"responsesSent": 309,
"state": "succeeded",
"timestamp": 1589957352309.487,
"totalRoundTripTime": 30.956,
"transportId": "RTCTransport_0_1",
"type": "candidate-pair",
"writable": true
},
{
"bytesReceived": 9177296,
"codecId": "RTCCodec_0_Inbound_111",
"estimatedPlayoutTimestamp": 3798946151845,
"fecPacketsDiscarded": 0,
"fecPacketsReceived": 0,
"headerBytesReceived": 761600,
"id": "RTCInboundRTPAudioStream_2203124396",
"jitter": 0.003,
"kind": "audio",
"lastPacketReceivedTimestamp": 128419.069,
"packetsLost": 810,
"packetsReceived": 38080,
"ssrc": 2203124396,
"timestamp": 1589957352309.487,
"trackId": "RTCMediaStreamTrack_receiver_1",
"transportId": "RTCTransport_0_1",
"type": "inbound-rtp"
},
{
"bytesReceived": 1576355386,
"codecId": "RTCCodec_1_Inbound_125",
"decoderImplementation": "ExternalDecoder",
"estimatedPlayoutTimestamp": 3798940646910,
"firCount": 0,
"framesDecoded": 42358,
"headerBytesReceived": 28137124,
"id": "RTCInboundRTPVideoStream_953546951",
"keyFramesDecoded": 69,
"kind": "video",
"lastPacketReceivedTimestamp": 128419.083,
"nackCount": 1197,
"packetsLost": 14015,
"packetsReceived": 1371017,
"pliCount": 132,
"ssrc": 953546951,
"timestamp": 1589957352309.487,
"totalDecodeTime": 196.967,
"totalInterFrameDelay": 776.6529999999717,
"totalSquaredInterFrameDelay": 166.27712900002587,
"trackId": "RTCMediaStreamTrack_receiver_2",
"transportId": "RTCTransport_0_1",
"type": "inbound-rtp"
},
{
"audioLevel": 0.10235908078249459,
"concealedSamples": 1202746,
"concealmentEvents": 236,
"detached": false,
"ended": false,
"id": "RTCMediaStreamTrack_receiver_1",
"insertedSamplesForDeceleration": 38876,
"jitterBufferDelay": 13059292.8,
"jitterBufferEmittedCount": 36538560,
"kind": "audio",
"remoteSource": true,
"removedSamplesForAcceleration": 439913,
"silentConcealedSamples": 508944,
"timestamp": 1589957352309.487,
"totalAudioEnergy": 17.751000586229022,
"totalSamplesDuration": 778.1299999994374,
"totalSamplesReceived": 37339680,
"trackIdentifier": "544e5453-fa2d-4914-afd2-16080d6240ca",
"type": "track"
},
{
"detached": false,
"ended": false,
"frameHeight": 1080,
"frameWidth": 1920,
"framesDecoded": 42358,
"framesDropped": 1200,
"framesReceived": 43887,
"id": "RTCMediaStreamTrack_receiver_2",
"jitterBufferDelay": 1428.346,
"jitterBufferEmittedCount": 42947,
"kind": "video",
"remoteSource": true,
"timestamp": 1589957352309.487,
"trackIdentifier": "fefe92b8-d7e5-4577-bf16-136be909f486",
"type": "track"
},
{
"bytesReceived": 1652430303,
"bytesSent": 2128818,
"dtlsCipher": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"dtlsState": "connected",
"id": "RTCTransport_0_1",
"selectedCandidatePairChanges": 1,
"srtpCipher": "AES_CM_128_HMAC_SHA1_80",
"timestamp": 1589957352309.487,
"tlsVersion": "FEFD",
"type": "transport"
}
]
Below is the metrics returned from Safari:
[
{
"bytesReceived": 0,
"bytesSent": 0,
"datachannelid": 1,
"id": "RTCDataChannel_1",
"label": "messageChannel",
"messagesReceived": 0,
"messagesSent": 0,
"protocol": "",
"state": "open",
"timestamp": 1589993832656.0002,
"type": "data-channel"
},
{
"availableOutgoingBitrate": 300000,
"bytesReceived": 44177732,
"bytesSent": 58331,
"currentRoundTripTime": 0.037,
"id": "RTCIceCandidatePair_HBXVYpSl_DPb1XCeX",
"localCandidateId": "RTCIceCandidate_HBXVYpSl",
"nominated": true,
"priority": 7926369428982087000,
"remoteCandidateId": "RTCIceCandidate_DPb1XCeX",
"requestsReceived": 12,
"requestsSent": 1,
"responsesReceived": 12,
"responsesSent": 12,
"state": "succeeded",
"timestamp": 1589993832656.0002,
"totalRoundTripTime": 0.533,
"transportId": "RTCTransport_0_1",
"type": "candidate-pair",
"writable": true
},
{
"bytesReceived": 279170,
"codecId": "RTCCodec_1_Inbound_111",
"id": "RTCInboundRTPAudioStream_2925745122",
"jitter": 0.008,
"packetsLost": 1,
"packetsReceived": 1069,
"qpSum": 0,
"ssrc": 2925745122,
"timestamp": 1589993832656.0002,
"trackId": "RTCMediaStreamTrack_receiver_2",
"transportId": "RTCTransport_0_1",
"type": "inbound-rtp"
},
{
"bytesReceived": 42806229,
"codecId": "RTCCodec_0_Inbound_98",
"firCount": 0,
"framesDecoded": 1205,
"id": "RTCInboundRTPVideoStream_622671342",
"nackCount": 49,
"packetsLost": 15,
"packetsReceived": 36620,
"pliCount": 0,
"qpSum": 0,
"ssrc": 622671342,
"timestamp": 1589993832656.0002,
"trackId": "RTCMediaStreamTrack_receiver_1",
"transportId": "RTCTransport_0_1",
"type": "inbound-rtp"
},
{
"detached": false,
"ended": false,
"frameHeight": 1080,
"frameWidth": 1920,
"framesDecoded": 1205,
"framesDropped": 0,
"framesReceived": 1206,
"id": "RTCMediaStreamTrack_receiver_1",
"remoteSource": true,
"timestamp": 1589993832656.0002,
"trackIdentifier": "270fa8d0-a679-442a-a2c0-90172ff7bc33",
"type": "track"
},
{
"audioLevel": 0.020386364329966124,
"detached": false,
"ended": false,
"id": "RTCMediaStreamTrack_receiver_2",
"remoteSource": true,
"timestamp": 1589993832656.0002,
"trackIdentifier": "0c66a784-d5d1-4557-bd39-9b66a1c9c49e",
"type": "track"
},
{
"bytesReceived": 44177732,
"bytesSent": 58331,
"id": "RTCTransport_0_1",
"timestamp": 1589993832656.0002,
"type": "transport"
}
]
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200602/ae5ea0fc/attachment-0001.htm>
More information about the webkit-unassigned
mailing list