Files
Piik/docs/research/data/webrtc-encoder-pool.json
AAA cfc323adce feat(media): integrate embedded media services and shared native encoding
Embed STUN and SFU in the shared Go process, reuse native encoding pipelines with independent adaptation, and complete Client lifecycle, settings, diagnostics and packaging fixes. Retain standard Browser senders after measured encoded-reuse limitations.
2026-09-09 06:09:06 +08:00

862 lines
21 KiB
JSON

{
"date": "2026-09-08",
"webrtcCommit": "6f37672d358475cd17544121a12494da454d85fb",
"sdk": "shiguredo m152.7977.0.2 windows x64",
"sdkSha256": "3250ee091eb745b9885482d92db352e6bcd5426940021ff90a095747d84d2137",
"scope": "Synthetic VP8 L1T1; two real VSEs; supplied encoder budgets, no transport or hardware; maintain-framerate; real WebRTC decode plus raw libvpx dependency hashes",
"sourceSha256": {
"harness.cpp": "acc6c02927da48412608074c7da0a44d33ae50fdb29455ca226df76a5cf94705",
"pool.h": "06ef768d8afc3e6f874d1b83cfd962604335dd53c8029b4478844b3f685d5a8a",
"CMakeLists.txt": "aaa438cc9e52ddeef0d15678a32a660b700202da82b29a1ab14dad018992681d"
},
"runs": {
"final-stock": [
{
"phase": "healthy",
"seconds": 6.00079,
"encodes": 360,
"hits": 0,
"a": {
"encoded": 180,
"decoded": 180,
"fps": 29.9961,
"kbps": 1791.92,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 8.2744,
"firstReducedMs": -1
},
"b": {
"encoded": 180,
"decoded": 180,
"fps": 29.9961,
"kbps": 1789.26,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 16.2003,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 3,
"aEncodeUsage": 37,
"bEncodeUsage": 36
},
{
"phase": "weak",
"seconds": 15.0013,
"encodes": 900,
"hits": 0,
"a": {
"encoded": 450,
"decoded": 450,
"fps": 29.9974,
"kbps": 1891.56,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 5.5833,
"firstReducedMs": -1
},
"b": {
"encoded": 154,
"decoded": 154,
"fps": 10.2658,
"kbps": 85.2843,
"errors": 0,
"keyframes": 2,
"width": 320,
"height": 180,
"minWidth": 320,
"minHeight": 180,
"firstFullMs": 10.0645,
"firstReducedMs": 4043.01
},
"aEncodeMs": 4,
"bEncodeMs": 1,
"aEncodeUsage": 13,
"bEncodeUsage": 64
},
{
"phase": "released",
"seconds": 25.0011,
"encodes": 1500,
"hits": 0,
"a": {
"encoded": 750,
"decoded": 750,
"fps": 29.9987,
"kbps": 1889.05,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.7557,
"firstReducedMs": -1
},
"b": {
"encoded": 744,
"decoded": 744,
"fps": 29.7587,
"kbps": 1839.76,
"errors": 0,
"keyframes": 2,
"width": 640,
"height": 360,
"minWidth": 320,
"minHeight": 180,
"firstFullMs": 24044.9,
"firstReducedMs": 7.0881
},
"aEncodeMs": 3,
"bEncodeMs": 3,
"aEncodeUsage": 11,
"bEncodeUsage": 64
},
{
"phase": "skipped-input",
"seconds": 3.00151,
"encodes": 179,
"hits": 0,
"a": {
"encoded": 90,
"decoded": 90,
"fps": 29.9849,
"kbps": 1894.58,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.7284,
"firstReducedMs": -1
},
"b": {
"encoded": 89,
"decoded": 89,
"fps": 29.6517,
"kbps": 1863.16,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 8.6938,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 3,
"aEncodeUsage": 11,
"bEncodeUsage": 64
},
{
"phase": "retired-b",
"seconds": 2.00084,
"encodes": 60,
"hits": 0,
"a": {
"encoded": 60,
"decoded": 60,
"fps": 29.9874,
"kbps": 1898.34,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.0861,
"firstReducedMs": -1
},
"b": {
"encoded": 0,
"decoded": 0,
"fps": 0,
"kbps": 0,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": -1,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 3,
"aEncodeUsage": 11,
"bEncodeUsage": 64
},
{
"integrity": "pass",
"pooled": false,
"adjuster": true,
"groupAdjuster": false,
"unsafeSkip": false,
"encodes": 2999,
"hits": 0,
"splits": 0,
"rateSplits": 0,
"dependencySplits": 0,
"created": 6,
"joins": 0,
"live": 0,
"maxLive": 2,
"callbacks": 2697,
"samePayloadCompared": 12,
"decodedHashMismatches": 0,
"aWantsUpdates": 3,
"bWantsUpdates": 11,
"aMinPixels": 230400,
"bMinPixels": 77760
}
],
"final-cache-only": [
{
"phase": "healthy",
"seconds": 6.00043,
"encodes": 337,
"hits": 23,
"a": {
"encoded": 180,
"decoded": 180,
"fps": 29.9978,
"kbps": 1726.01,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 8.445,
"firstReducedMs": -1
},
"b": {
"encoded": 180,
"decoded": 180,
"fps": 29.9978,
"kbps": 1755.78,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 14.006,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 3,
"aEncodeUsage": 37,
"bEncodeUsage": 36
},
{
"phase": "skipped-input",
"seconds": 3.00103,
"encodes": 179,
"hits": 0,
"a": {
"encoded": 90,
"decoded": 90,
"fps": 29.9897,
"kbps": 1881.13,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.7504,
"firstReducedMs": -1
},
"b": {
"encoded": 89,
"decoded": 89,
"fps": 29.6565,
"kbps": 1889.11,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 7.9936,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 4,
"aEncodeUsage": 27,
"bEncodeUsage": 27
},
{
"phase": "retired-b",
"seconds": 2.0012,
"encodes": 60,
"hits": 0,
"a": {
"encoded": 60,
"decoded": 60,
"fps": 29.982,
"kbps": 1902.96,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.2367,
"firstReducedMs": -1
},
"b": {
"encoded": 0,
"decoded": 0,
"fps": 0,
"kbps": 0,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": -1,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 4,
"aEncodeUsage": 23,
"bEncodeUsage": 27
},
{
"integrity": "pass",
"pooled": true,
"adjuster": true,
"groupAdjuster": false,
"unsafeSkip": false,
"encodes": 576,
"hits": 23,
"splits": 4,
"rateSplits": 2,
"dependencySplits": 2,
"created": 6,
"joins": 2,
"live": 0,
"maxLive": 2,
"callbacks": 599,
"samePayloadCompared": 23,
"decodedHashMismatches": 0,
"aWantsUpdates": 3,
"bWantsUpdates": 3,
"aMinPixels": 230400,
"bMinPixels": 230400
}
],
"final-group": [
{
"phase": "healthy",
"seconds": 6.00104,
"encodes": 187,
"hits": 173,
"a": {
"encoded": 180,
"decoded": 180,
"fps": 29.9948,
"kbps": 1778.06,
"errors": 0,
"keyframes": 2,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 7.561,
"firstReducedMs": -1
},
"b": {
"encoded": 180,
"decoded": 180,
"fps": 29.9948,
"kbps": 1781.56,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 12.779,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 2,
"aEncodeUsage": 36,
"bEncodeUsage": 34
},
{
"phase": "weak",
"seconds": 15.0012,
"encodes": 900,
"hits": 0,
"a": {
"encoded": 450,
"decoded": 450,
"fps": 29.9977,
"kbps": 1894.91,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.6906,
"firstReducedMs": -1
},
"b": {
"encoded": 142,
"decoded": 142,
"fps": 9.46593,
"kbps": 95.1078,
"errors": 0,
"keyframes": 3,
"width": 320,
"height": 180,
"minWidth": 320,
"minHeight": 180,
"firstFullMs": 13.8117,
"firstReducedMs": 4043.56
},
"aEncodeMs": 3,
"bEncodeMs": 1,
"aEncodeUsage": 13,
"bEncodeUsage": 64
},
{
"phase": "released",
"seconds": 25.0008,
"encodes": 1472,
"hits": 28,
"a": {
"encoded": 750,
"decoded": 750,
"fps": 29.999,
"kbps": 1890.79,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.6351,
"firstReducedMs": -1
},
"b": {
"encoded": 744,
"decoded": 744,
"fps": 29.759,
"kbps": 1861.66,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 320,
"minHeight": 180,
"firstFullMs": 24046.7,
"firstReducedMs": 6.7391
},
"aEncodeMs": 4,
"bEncodeMs": 3,
"aEncodeUsage": 10,
"bEncodeUsage": 64
},
{
"phase": "skipped-input",
"seconds": 3.00126,
"encodes": 92,
"hits": 87,
"a": {
"encoded": 90,
"decoded": 90,
"fps": 29.9874,
"kbps": 1872.53,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.759,
"firstReducedMs": -1
},
"b": {
"encoded": 89,
"decoded": 89,
"fps": 29.6543,
"kbps": 1916.06,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 5.3314,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 1,
"aEncodeUsage": 11,
"bEncodeUsage": 64
},
{
"phase": "retired-b",
"seconds": 2.0009,
"encodes": 60,
"hits": 0,
"a": {
"encoded": 60,
"decoded": 60,
"fps": 29.9865,
"kbps": 1891.39,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.7108,
"firstReducedMs": -1
},
"b": {
"encoded": 0,
"decoded": 0,
"fps": 0,
"kbps": 0,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": -1,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 1,
"aEncodeUsage": 11,
"bEncodeUsage": 64
},
{
"integrity": "pass",
"pooled": true,
"adjuster": false,
"groupAdjuster": true,
"unsafeSkip": false,
"encodes": 2711,
"hits": 288,
"splits": 7,
"rateSplits": 2,
"dependencySplits": 3,
"created": 11,
"joins": 4,
"live": 0,
"maxLive": 2,
"callbacks": 2685,
"samePayloadCompared": 288,
"decodedHashMismatches": 0,
"aWantsUpdates": 3,
"bWantsUpdates": 11,
"aMinPixels": 230400,
"bMinPixels": 77760
}
],
"raw-safe": [
{
"phase": "healthy",
"seconds": 6.00048,
"encodes": 187,
"hits": 173,
"a": {
"encoded": 180,
"decoded": 180,
"fps": 29.9976,
"kbps": 1778.36,
"errors": 0,
"keyframes": 2,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 8.3785,
"firstReducedMs": -1
},
"b": {
"encoded": 180,
"decoded": 180,
"fps": 29.9976,
"kbps": 1781.86,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 13.8511,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 1,
"aEncodeUsage": 37,
"bEncodeUsage": 34
},
{
"phase": "skipped-input",
"seconds": 3.00072,
"encodes": 92,
"hits": 87,
"a": {
"encoded": 90,
"decoded": 90,
"fps": 29.9928,
"kbps": 1861.75,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.6064,
"firstReducedMs": -1
},
"b": {
"encoded": 89,
"decoded": 89,
"fps": 29.6596,
"kbps": 1887.75,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 6.7218,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 2,
"aEncodeUsage": 27,
"bEncodeUsage": 24
},
{
"phase": "retired-b",
"seconds": 2.001,
"encodes": 60,
"hits": 0,
"a": {
"encoded": 60,
"decoded": 60,
"fps": 29.9851,
"kbps": 1934.19,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.8464,
"firstReducedMs": -1
},
"b": {
"encoded": 0,
"decoded": 0,
"fps": 0,
"kbps": 0,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": -1,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 2,
"aEncodeUsage": 23,
"bEncodeUsage": 24
},
{
"integrity": "pass",
"pooled": true,
"adjuster": false,
"groupAdjuster": true,
"unsafeSkip": false,
"encodes": 339,
"hits": 260,
"splits": 5,
"rateSplits": 1,
"dependencySplits": 2,
"created": 5,
"joins": 3,
"live": 0,
"maxLive": 2,
"callbacks": 599,
"samePayloadCompared": 260,
"decodedHashMismatches": 0,
"aWantsUpdates": 3,
"bWantsUpdates": 3,
"aMinPixels": 230400,
"bMinPixels": 230400
}
],
"raw-unsafe": [
{
"phase": "healthy",
"seconds": 6.00021,
"encodes": 187,
"hits": 173,
"a": {
"encoded": 180,
"decoded": 180,
"fps": 29.999,
"kbps": 1778.23,
"errors": 0,
"keyframes": 2,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 7.4999,
"firstReducedMs": -1
},
"b": {
"encoded": 180,
"decoded": 180,
"fps": 29.999,
"kbps": 1781.73,
"errors": 0,
"keyframes": 3,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 12.4981,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 2,
"aEncodeUsage": 37,
"bEncodeUsage": 34
},
{
"phase": "skipped-input",
"seconds": 3.00024,
"encodes": 96,
"hits": 83,
"a": {
"encoded": 90,
"decoded": 90,
"fps": 29.9976,
"kbps": 1877.57,
"errors": 0,
"keyframes": 1,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.1385,
"firstReducedMs": -1
},
"b": {
"encoded": 89,
"decoded": 89,
"fps": 29.6643,
"kbps": 1832.6,
"errors": 0,
"keyframes": 2,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 4.7292,
"firstReducedMs": -1
},
"aEncodeMs": 4,
"bEncodeMs": 1,
"aEncodeUsage": 27,
"bEncodeUsage": 24
},
{
"phase": "retired-b",
"seconds": 2.00145,
"encodes": 60,
"hits": 0,
"a": {
"encoded": 60,
"decoded": 60,
"fps": 29.9783,
"kbps": 1893.96,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": 3.9411,
"firstReducedMs": -1
},
"b": {
"encoded": 0,
"decoded": 0,
"fps": 0,
"kbps": 0,
"errors": 0,
"keyframes": 0,
"width": 640,
"height": 360,
"minWidth": 640,
"minHeight": 360,
"firstFullMs": -1,
"firstReducedMs": -1
},
"aEncodeMs": 3,
"bEncodeMs": 1,
"aEncodeUsage": 23,
"bEncodeUsage": 24
},
{
"integrity": "fail",
"pooled": true,
"adjuster": false,
"groupAdjuster": true,
"unsafeSkip": true,
"encodes": 343,
"hits": 256,
"splits": 5,
"rateSplits": 2,
"dependencySplits": 0,
"created": 4,
"joins": 3,
"live": 0,
"maxLive": 2,
"callbacks": 599,
"samePayloadCompared": 256,
"decodedHashMismatches": 29,
"aWantsUpdates": 3,
"bWantsUpdates": 3,
"aMinPixels": 230400,
"bMinPixels": 230400
}
]
}
}