Trimmed monorepo checkout (fluxer_desktop + packages/voice_engine_v2 + tools/ci) with a "Connect to a Different Server" menu item and popout that lets the desktop app switch to any self-hosted Fluxer instance, plus fixes for well-known discovery on single-domain self-hosted deployments and a false-positive ERR_ABORTED on same-origin client redirects during the switch. Defaults to chat.fluxr.chat and uses an isolated userData directory from the official build.
766 lines
18 KiB
JSON
766 lines
18 KiB
JSON
{
|
|
"status": "fail",
|
|
"startedAt": "2026-06-09T04:40:52.879Z",
|
|
"endedAt": "2026-06-09T04:41:02.390Z",
|
|
"platform": "darwin",
|
|
"arch": "arm64",
|
|
"config": {
|
|
"url": "ws://localhost:7880",
|
|
"serverApiUrl": "http://localhost:7880",
|
|
"apiKey": "devkey",
|
|
"room": "fluxer-webrtc-harness-76954-91cb528a-6d21-4940-ad58-aa5c5e746211",
|
|
"externalTokens": false,
|
|
"publisherIdentity": "fluxer-native-publisher-76954",
|
|
"secondaryPublisherIdentity": "fluxer-native-publisher-2-76954",
|
|
"subscriberIdentity": "fluxer-native-subscriber-76954",
|
|
"required": true,
|
|
"strict": true,
|
|
"timeoutMs": 30000,
|
|
"connectTimeoutMs": 30000,
|
|
"disconnectTimeoutMs": 10000,
|
|
"probeTimeoutMs": 1500,
|
|
"durationMs": 5000,
|
|
"width": 320,
|
|
"height": 180,
|
|
"expectedWidth": 320,
|
|
"expectedHeight": 180,
|
|
"fps": 15,
|
|
"minFpsRatio": 0.95,
|
|
"maxFrameGapMs": 250,
|
|
"maxAudioFrameGapMs": 250,
|
|
"maxAvDriftMs": 80,
|
|
"maxPacketLoss": null,
|
|
"requireStableResolution": true,
|
|
"videoPattern": "gradient",
|
|
"videoInput": "bgra",
|
|
"subscriberVideoQuality": null,
|
|
"screenCodecs": ["vp8"],
|
|
"expectedScreenCodecs": ["vp8"],
|
|
"codec": "vp8",
|
|
"expectedScreenCodec": "video/VP8",
|
|
"secondaryPublisher": true,
|
|
"secondaryPublisherCodec": "vp8",
|
|
"secondaryPublisherCodecExplicit": true,
|
|
"expectedSecondaryPublisherCodec": "video/VP8",
|
|
"expectedSecondaryPublisherCodecExplicit": true,
|
|
"screenSimulcast": true,
|
|
"secondaryPublisherScreenSimulcast": true,
|
|
"adaptiveSend": true,
|
|
"minVideoFps": 15,
|
|
"minResolutionScale": 0.5,
|
|
"maxAudioBufferMs": 750,
|
|
"secondaryPublisherMicrophone": true,
|
|
"secondaryPublisherScreenAudio": true,
|
|
"maxBitrateBps": 400000,
|
|
"sampleRate": 48000,
|
|
"channels": 1,
|
|
"audioChunkMs": 20,
|
|
"microphone": true,
|
|
"screenAudio": true,
|
|
"dataPacket": true,
|
|
"subscriptionCycle": true,
|
|
"validateServerPublishing": true,
|
|
"camera": true,
|
|
"cameraDeviceId": null,
|
|
"expectedCameraCodec": null,
|
|
"expectedHardwareEncoder": null,
|
|
"reportPath": "/Users/hampus/Development/fluxer/fluxer_desktop/native-media-reports/2026-06-09T-codex-macos-livekit-strict5-rerun.json",
|
|
"verbose": false,
|
|
"scenarioName": "codec-vp8-with-vp8",
|
|
"apiSecret": "<redacted>",
|
|
"e2eeKey": null,
|
|
"publisherToken": null,
|
|
"secondaryPublisherToken": null,
|
|
"subscriberToken": null
|
|
},
|
|
"checks": [
|
|
{
|
|
"name": "publisher connected",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber connected",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher local screenshare publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote screenshare subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound video frames >= 9",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber video frame callback",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher outbound screenshare stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound video stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound video stats count >= 3",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber video resolution 320x180",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber aggregate inbound audio frames >= 12",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound audio stats count >= 4",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher local microphone publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote microphone subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound audio frames >= 12",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher outbound microphone stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound audio stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher local screen-share audio publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote screen-share audio subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher outbound screen-share audio stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher local camera publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote camera subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher outbound camera stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher connected",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher local screenshare publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote secondary screenshare subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher outbound screenshare stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher outbound screenshare codec video/VP8",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound secondary codec video/VP8",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher local microphone publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote secondary microphone subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher outbound microphone stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher local screen-share audio publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber remote secondary screen-share audio subscription",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "secondary publisher outbound screen-share audio stats",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber data packet received",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber secondary data packet received",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "publisher outbound screenshare codec video/VP8",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "subscriber inbound video codec video/VP8",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server publishing API participants listed",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees publisher screenshare publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees publisher microphone publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees publisher screen-share audio publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees publisher camera publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees secondary publisher screenshare publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees secondary publisher microphone publication",
|
|
"pass": true
|
|
},
|
|
{
|
|
"name": "server sees secondary publisher screen-share audio publication",
|
|
"pass": true
|
|
}
|
|
],
|
|
"skippedReason": null,
|
|
"error": "received FPS 10.01 below 14.25",
|
|
"hardwareEncoder": {
|
|
"available": true,
|
|
"backend": "videotoolbox",
|
|
"compiled": true,
|
|
"runtime": true,
|
|
"codecs": ["h264", "h265"],
|
|
"zeroCopy": false,
|
|
"nativeInputs": [],
|
|
"detail": "VideoToolbox can create hardware-accelerated compression sessions for h264, h265; supported hardware-codec probe set: h264, h265"
|
|
},
|
|
"metrics": {
|
|
"inboundAudioFrames": 3416,
|
|
"inboundVideoFrames": 319,
|
|
"strictAudioFrames": 50,
|
|
"strictVideoFrames": 50,
|
|
"videoCallbacks": 319,
|
|
"videoBytes": 55728000,
|
|
"receivedFps": 10.01,
|
|
"requiredFps": 14.25,
|
|
"maxVideoFrameGapMs": 104,
|
|
"maxAudioFrameGapMs": 102,
|
|
"maxVideoFrameGapOverallMs": 83,
|
|
"maxAudioFrameGapOverallMs": 102,
|
|
"avDriftMs": 36,
|
|
"maxObservedPacketLoss": 76,
|
|
"maxObservedPacketLossDelta": 43,
|
|
"videoResolutionCounts": {
|
|
"320x180": 50
|
|
},
|
|
"videoResolutionMismatchCount": 0,
|
|
"droppedVideoFrameCallbacks": 0,
|
|
"publisherVideoPump": {
|
|
"input": "bgra",
|
|
"pattern": "gradient",
|
|
"targetFps": 15,
|
|
"startedAtMs": 1780980053827,
|
|
"stoppedAtMs": null,
|
|
"framesPushed": 0,
|
|
"framesRejected": 0,
|
|
"errors": 0,
|
|
"maxPushGapMs": 0,
|
|
"lastPushAtMs": null,
|
|
"elapsedMs": 8570,
|
|
"producedFps": 0
|
|
},
|
|
"secondaryPublisherVideoPump": {
|
|
"input": "bgra",
|
|
"pattern": "gradient",
|
|
"targetFps": 15,
|
|
"startedAtMs": 1780980053827,
|
|
"stoppedAtMs": null,
|
|
"framesPushed": 0,
|
|
"framesRejected": 0,
|
|
"errors": 0,
|
|
"maxPushGapMs": 0,
|
|
"lastPushAtMs": null,
|
|
"elapsedMs": 8570,
|
|
"producedFps": 0
|
|
},
|
|
"serverPublishing": {
|
|
"fetchedAtMs": 1780980057383,
|
|
"error": null,
|
|
"participants": [
|
|
{
|
|
"identity": "fluxer-native-publisher-2-76954",
|
|
"trackCount": 3,
|
|
"tracks": [
|
|
{
|
|
"sid": "TR_VSwHXmU7ctxa87",
|
|
"name": "screen",
|
|
"kind": "video",
|
|
"source": "screen_share",
|
|
"mimeType": "video/VP8",
|
|
"muted": false
|
|
},
|
|
{
|
|
"sid": "TR_AMnWff3NPczSoR",
|
|
"name": "mic",
|
|
"kind": "audio",
|
|
"source": "microphone",
|
|
"mimeType": "audio/red",
|
|
"muted": false
|
|
},
|
|
{
|
|
"sid": "TR_AsTFRWHNvJ7MgE",
|
|
"name": "screen-audio",
|
|
"kind": "audio",
|
|
"source": "screen_share_audio",
|
|
"mimeType": "audio/red",
|
|
"muted": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"identity": "fluxer-native-publisher-76954",
|
|
"trackCount": 4,
|
|
"tracks": [
|
|
{
|
|
"sid": "TR_VSp9aehQCmDiq4",
|
|
"name": "screen",
|
|
"kind": "video",
|
|
"source": "screen_share",
|
|
"mimeType": "video/VP8",
|
|
"muted": false
|
|
},
|
|
{
|
|
"sid": "TR_AM8ZuGaDACq9FB",
|
|
"name": "mic",
|
|
"kind": "audio",
|
|
"source": "microphone",
|
|
"mimeType": "audio/red",
|
|
"muted": false
|
|
},
|
|
{
|
|
"sid": "TR_AsD2wGcUaXveFj",
|
|
"name": "screen-audio",
|
|
"kind": "audio",
|
|
"source": "screen_share_audio",
|
|
"mimeType": "audio/red",
|
|
"muted": false
|
|
},
|
|
{
|
|
"sid": "TR_VC7GWwmaJQZJio",
|
|
"name": "camera",
|
|
"kind": "video",
|
|
"source": "camera",
|
|
"mimeType": "video/VP8",
|
|
"muted": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"identity": "fluxer-native-subscriber-76954",
|
|
"trackCount": 0,
|
|
"tracks": []
|
|
}
|
|
]
|
|
},
|
|
"lastVideoMeta": {
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_VC7GWwmaJQZJio",
|
|
"trackName": "camera",
|
|
"source": "camera",
|
|
"width": 480,
|
|
"height": 360,
|
|
"timestampUs": 526246627000,
|
|
"identity": "fluxer-native-publisher-76954",
|
|
"kind": "video"
|
|
},
|
|
"lastStrictVideoMeta": {
|
|
"atMs": 1780980062302,
|
|
"identity": "fluxer-native-publisher-76954",
|
|
"kind": "video",
|
|
"source": "screen_share",
|
|
"trackName": "screen",
|
|
"trackSid": "TR_VSp9aehQCmDiq4",
|
|
"width": 320,
|
|
"height": 180
|
|
},
|
|
"publisherStats": {
|
|
"rttMs": 1,
|
|
"outbound": [
|
|
{
|
|
"trackSid": "TR_VC7GWwmaJQZJio",
|
|
"source": "camera",
|
|
"kind": "video",
|
|
"bitrateKbps": 158.8,
|
|
"packetsLost": 0,
|
|
"fps": 25,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"trackSid": "TR_VC7GWwmaJQZJio",
|
|
"source": "camera",
|
|
"kind": "video",
|
|
"bitrateKbps": 112.8,
|
|
"packetsLost": 0,
|
|
"fps": 20,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"trackSid": "TR_AsD2wGcUaXveFj",
|
|
"source": "screen_share_audio",
|
|
"kind": "audio",
|
|
"bitrateKbps": 260.8,
|
|
"packetsLost": 0,
|
|
"audioLevel": 0.305,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"trackSid": "TR_AM8ZuGaDACq9FB",
|
|
"source": "microphone",
|
|
"kind": "audio",
|
|
"bitrateKbps": 98.8,
|
|
"packetsLost": 0,
|
|
"audioLevel": 0.305,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"trackSid": "TR_VSp9aehQCmDiq4",
|
|
"source": "screen_share",
|
|
"kind": "video",
|
|
"bitrateKbps": 7.2,
|
|
"packetsLost": 0,
|
|
"fps": 9,
|
|
"width": 320,
|
|
"height": 180,
|
|
"sourceWidth": 320,
|
|
"sourceHeight": 180,
|
|
"targetBitrateKbps": 400,
|
|
"configuredFps": 15,
|
|
"targetFps": 15,
|
|
"effectiveFps": 0,
|
|
"framesProduced": 0,
|
|
"framesAccepted": 0,
|
|
"framesDropped": 0,
|
|
"framesCoalesced": 0,
|
|
"framesCaptured": 0,
|
|
"captureFailures": 0,
|
|
"maxQueueAgeMs": 0,
|
|
"maxPushLatencyMs": 0,
|
|
"adaptiveSendTier": "full",
|
|
"adaptiveSendReason": "stable",
|
|
"codec": "video/VP8"
|
|
}
|
|
],
|
|
"inbound": [
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_AMnWff3NPczSoR",
|
|
"kind": "audio",
|
|
"bitrateKbps": 94.8,
|
|
"packetsLost": 32,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.307,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_AsTFRWHNvJ7MgE",
|
|
"kind": "audio",
|
|
"bitrateKbps": 236,
|
|
"packetsLost": 28,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.336,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_VSwHXmU7ctxa87",
|
|
"kind": "video",
|
|
"bitrateKbps": 7.1,
|
|
"packetsLost": 5,
|
|
"jitterMs": 1,
|
|
"codec": "video/VP8"
|
|
}
|
|
],
|
|
"send": {
|
|
"outgoingVideoQueueDepth": 0,
|
|
"outgoingVideoQueueCapacity": 8,
|
|
"outgoingVideoMaxQueueDepth": 0,
|
|
"outgoingVideoFramesProduced": 0,
|
|
"outgoingVideoFramesAccepted": 0,
|
|
"outgoingVideoFramesDropped": 0,
|
|
"outgoingVideoFramesCoalesced": 0,
|
|
"outgoingVideoFramesCaptured": 0,
|
|
"outgoingVideoCaptureFailures": 0,
|
|
"outgoingVideoEffectiveFps": 0,
|
|
"outgoingVideoTargetFps": 15,
|
|
"outgoingVideoPacingTargetFps": 15,
|
|
"outgoingVideoMaxQueueAgeMs": 0,
|
|
"outgoingVideoMaxPushLatencyMs": 0,
|
|
"outgoingVideoPacingMode": "source",
|
|
"outgoingVideoBusActive": false,
|
|
"outgoingAudioBufferTargetMs": 200,
|
|
"outgoingAudioBufferMaxMs": 750,
|
|
"outgoingAudioUnderruns": 0,
|
|
"outgoingAudioRebuffers": 0,
|
|
"outgoingAudioMaxFrameGapMs": 55,
|
|
"adaptiveSendTier": "full",
|
|
"adaptiveSendReason": "stable"
|
|
}
|
|
},
|
|
"secondaryPublisherStats": {
|
|
"rttMs": 1,
|
|
"outbound": [
|
|
{
|
|
"trackSid": "TR_AMnWff3NPczSoR",
|
|
"source": "microphone",
|
|
"kind": "audio",
|
|
"bitrateKbps": 99.2,
|
|
"packetsLost": 0,
|
|
"audioLevel": 0.305,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"trackSid": "TR_VSwHXmU7ctxa87",
|
|
"source": "screen_share",
|
|
"kind": "video",
|
|
"bitrateKbps": 10.6,
|
|
"packetsLost": 0,
|
|
"fps": 9,
|
|
"width": 320,
|
|
"height": 180,
|
|
"sourceWidth": 320,
|
|
"sourceHeight": 180,
|
|
"targetBitrateKbps": 400,
|
|
"configuredFps": 15,
|
|
"targetFps": 15,
|
|
"effectiveFps": 0,
|
|
"framesProduced": 0,
|
|
"framesAccepted": 0,
|
|
"framesDropped": 0,
|
|
"framesCoalesced": 0,
|
|
"framesCaptured": 0,
|
|
"captureFailures": 0,
|
|
"maxQueueAgeMs": 0,
|
|
"maxPushLatencyMs": 0,
|
|
"adaptiveSendTier": "full",
|
|
"adaptiveSendReason": "stable",
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"trackSid": "TR_AsTFRWHNvJ7MgE",
|
|
"source": "screen_share_audio",
|
|
"kind": "audio",
|
|
"bitrateKbps": 261.1,
|
|
"packetsLost": 0,
|
|
"audioLevel": 0.305,
|
|
"codec": "audio/opus"
|
|
}
|
|
],
|
|
"inbound": [
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_AM8ZuGaDACq9FB",
|
|
"kind": "audio",
|
|
"bitrateKbps": 88.9,
|
|
"packetsLost": 25,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.331,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_AsD2wGcUaXveFj",
|
|
"kind": "audio",
|
|
"bitrateKbps": 250.9,
|
|
"packetsLost": 30,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.307,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_VC7GWwmaJQZJio",
|
|
"kind": "video",
|
|
"bitrateKbps": 113.7,
|
|
"packetsLost": 7,
|
|
"jitterMs": 0,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_VSp9aehQCmDiq4",
|
|
"kind": "video",
|
|
"bitrateKbps": 9.3,
|
|
"packetsLost": 14,
|
|
"jitterMs": 1,
|
|
"codec": "video/VP8"
|
|
}
|
|
],
|
|
"send": {
|
|
"outgoingVideoQueueDepth": 0,
|
|
"outgoingVideoQueueCapacity": 8,
|
|
"outgoingVideoMaxQueueDepth": 0,
|
|
"outgoingVideoFramesProduced": 0,
|
|
"outgoingVideoFramesAccepted": 0,
|
|
"outgoingVideoFramesDropped": 0,
|
|
"outgoingVideoFramesCoalesced": 0,
|
|
"outgoingVideoFramesCaptured": 0,
|
|
"outgoingVideoCaptureFailures": 0,
|
|
"outgoingVideoEffectiveFps": 0,
|
|
"outgoingVideoTargetFps": 15,
|
|
"outgoingVideoPacingTargetFps": 15,
|
|
"outgoingVideoMaxQueueAgeMs": 0,
|
|
"outgoingVideoMaxPushLatencyMs": 0,
|
|
"outgoingVideoPacingMode": "source",
|
|
"outgoingVideoBusActive": false,
|
|
"outgoingAudioBufferTargetMs": 200,
|
|
"outgoingAudioBufferMaxMs": 750,
|
|
"outgoingAudioUnderruns": 0,
|
|
"outgoingAudioRebuffers": 0,
|
|
"outgoingAudioMaxFrameGapMs": 56,
|
|
"adaptiveSendTier": "full",
|
|
"adaptiveSendReason": "stable"
|
|
}
|
|
},
|
|
"subscriberStats": {
|
|
"rttMs": 1,
|
|
"outbound": [],
|
|
"inbound": [
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_AsD2wGcUaXveFj",
|
|
"kind": "audio",
|
|
"bitrateKbps": 260.5,
|
|
"packetsLost": 5,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.318,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_VC7GWwmaJQZJio",
|
|
"kind": "video",
|
|
"bitrateKbps": 112.7,
|
|
"packetsLost": 1,
|
|
"jitterMs": 0,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_AM8ZuGaDACq9FB",
|
|
"kind": "audio",
|
|
"bitrateKbps": 98.7,
|
|
"packetsLost": 1,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.313,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_szoL7dTduPBR",
|
|
"trackSid": "TR_VSp9aehQCmDiq4",
|
|
"kind": "video",
|
|
"bitrateKbps": 7.2,
|
|
"packetsLost": 10,
|
|
"jitterMs": 0,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_VSwHXmU7ctxa87",
|
|
"kind": "video",
|
|
"bitrateKbps": 7.7,
|
|
"packetsLost": 3,
|
|
"jitterMs": 1,
|
|
"codec": "video/VP8"
|
|
},
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_AMnWff3NPczSoR",
|
|
"kind": "audio",
|
|
"bitrateKbps": 98.7,
|
|
"packetsLost": 3,
|
|
"jitterMs": 0,
|
|
"audioLevel": 0.323,
|
|
"codec": "audio/opus"
|
|
},
|
|
{
|
|
"participantSid": "PA_RnrcQgHxNGSb",
|
|
"trackSid": "TR_AsTFRWHNvJ7MgE",
|
|
"kind": "audio",
|
|
"bitrateKbps": 267.5,
|
|
"packetsLost": 1,
|
|
"jitterMs": 1,
|
|
"audioLevel": 0.307,
|
|
"codec": "audio/opus"
|
|
}
|
|
],
|
|
"send": {
|
|
"outgoingVideoQueueDepth": 0,
|
|
"outgoingVideoQueueCapacity": 0,
|
|
"outgoingVideoMaxQueueDepth": 0,
|
|
"outgoingVideoFramesProduced": 0,
|
|
"outgoingVideoFramesAccepted": 0,
|
|
"outgoingVideoFramesDropped": 0,
|
|
"outgoingVideoFramesCoalesced": 0,
|
|
"outgoingVideoFramesCaptured": 0,
|
|
"outgoingVideoCaptureFailures": 0,
|
|
"outgoingVideoEffectiveFps": 0,
|
|
"outgoingVideoTargetFps": 0,
|
|
"outgoingVideoPacingTargetFps": 0,
|
|
"outgoingVideoMaxQueueAgeMs": 0,
|
|
"outgoingVideoMaxPushLatencyMs": 0,
|
|
"outgoingVideoPacingMode": "idle",
|
|
"outgoingVideoBusActive": false,
|
|
"outgoingAudioBufferTargetMs": 200,
|
|
"outgoingAudioBufferMaxMs": 750,
|
|
"outgoingAudioUnderruns": 0,
|
|
"outgoingAudioRebuffers": 0,
|
|
"outgoingAudioMaxFrameGapMs": 0,
|
|
"adaptiveSendTier": "idle",
|
|
"adaptiveSendReason": "notPublishing"
|
|
}
|
|
}
|
|
}
|
|
}
|