tests/ertmp_ffmpeg.rs (ignored unless an encoder is present) publishes from a local encoder through a proxy that holds Publish.Start until the subscriber is in place, and decodes each track's frames in a conformant decoder: AVC with B-frames and AAC, HEVC and AVC on the platform's media engine, HEVC with Opus, AV1 with FLAC, VP9 with Opus. The encoder sends a FLAC sequence start as STREAMINFO alone, and a coded-frames packet of no bytes at the end: both now read, the latter not carried. The corpus gains a session for each. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1495 lines
42 KiB
JSON
1495 lines
42 KiB
JSON
{
|
||
"about": "Enhanced RTMP v2 (v2-2026-01-31-r2) into room tracks (WAI extensions/live-ingest.md §12). Generated by joule-moq-ingest's tests/conformance_corpus.rs; verified independently by ertmp_verify.py.",
|
||
"sessions": [
|
||
{
|
||
"counts": {
|
||
"metadata": 1
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "02000d40736574446174614672616d6502000a6f6e4d65746144617461080000000300057769647468004074000000000000000668656967687400406680000000000000096672616d657261746500403e000000000000000009",
|
||
"ts": 0,
|
||
"type": 18
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "17000000000142c01effe100046742c01e01000268ce",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "af001210",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "17010000000000000d6501080f161d242b323940474e",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "af012d343b424950575e65",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "27010000000000000d4120272e353c434a51585f666d",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "af014c535a61686f767d84",
|
||
"ts": 21,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "27010000000000000d413f464d545b626970777e858c",
|
||
"ts": 66,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "af016b727980878e959ca3",
|
||
"ts": 42,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "17010000000000000d655e656c737a81888f969da4ab",
|
||
"ts": 99,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "af018a91989fa6adb4bbc2",
|
||
"ts": 63,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5133332,
|
||
"payload": "27010000000000000d417d848b9299a0a7aeb5bcc3ca",
|
||
"ts": 132,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5133332,
|
||
"payload": "af01a9b0b7bec5ccd3dae1",
|
||
"ts": 84,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5166665,
|
||
"payload": "27010000000000000d419ca3aab1b8bfc6cdd4dbe2e9",
|
||
"ts": 165,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5166665,
|
||
"payload": "af01c8cfd6dde4ebf2f905",
|
||
"ts": 105,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "legacy-avc-aac",
|
||
"note": "Annex B with the record's SPS and PPS before each IDR; one ADTS frame per raw AAC frame; audio windows of 200 ms",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "fff15080021ffc2d343b424950575e65",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "fff15080021ffc4c535a61686f767d84",
|
||
"rate": 1000000,
|
||
"rtp": 21000,
|
||
"t": 5021000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "fff15080021ffc6b727980878e959ca3",
|
||
"rate": 1000000,
|
||
"rtp": 42000,
|
||
"t": 5042000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 3,
|
||
"payload": "fff15080021ffc8a91989fa6adb4bbc2",
|
||
"rate": 1000000,
|
||
"rtp": 63000,
|
||
"t": 5063000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 4,
|
||
"payload": "fff15080021ffca9b0b7bec5ccd3dae1",
|
||
"rate": 1000000,
|
||
"rtp": 84000,
|
||
"t": 5084000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 5,
|
||
"payload": "fff15080021ffcc8cfd6dde4ebf2f905",
|
||
"rate": 1000000,
|
||
"rtp": 105000,
|
||
"t": 5105000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce000000016501080f161d242b323940474e",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "000000014120272e353c434a51585f666d",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "00000001413f464d545b626970777e858c",
|
||
"rate": 1000000,
|
||
"rtp": 66000,
|
||
"t": 5066000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000001,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce00000001655e656c737a81888f969da4ab",
|
||
"rate": 1000000,
|
||
"rtp": 99000,
|
||
"t": 5099000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000001,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "00000001417d848b9299a0a7aeb5bcc3ca",
|
||
"rate": 1000000,
|
||
"rtp": 132000,
|
||
"t": 5132000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000001,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "00000001419ca3aab1b8bfc6cdd4dbe2e9",
|
||
"rate": 1000000,
|
||
"rtp": 165000,
|
||
"t": 5165000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "90687663310101600000009000000000005af000fcfdf8f800000f03a00001000340010ca100010003420101a2000100034401c1",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "904f707573",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "91687663310000420000000c260101080f161d242b323940",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "914f707573fc01080f161d242b32",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "a3687663310000000c020120272e353c434a51585f",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "914f707573fc20272e353c434a51",
|
||
"ts": 20,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "a1687663310000420000000c02013f464d545b626970777e",
|
||
"ts": 66,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "914f707573fc3f464d545b626970",
|
||
"ts": 40,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "93687663310000000c26015e656c737a81888f969d",
|
||
"ts": 99,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "914f707573fc5e656c737a81888f",
|
||
"ts": 60,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5133332,
|
||
"payload": "a1687663310000420000000c02017d848b9299a0a7aeb5bc",
|
||
"ts": 132,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5133332,
|
||
"payload": "914f707573fc7d848b9299a0a7ae",
|
||
"ts": 80,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "enhanced-hevc-opus",
|
||
"note": "CodedFrames with a composition time offset of 66 ms (live.cto 66000) and CodedFramesX; VPS, SPS and PPS before each IRAP",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.opus.packet",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "fc01080f161d242b32",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.opus.packet",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "fc20272e353c434a51",
|
||
"rate": 1000000,
|
||
"rtp": 20000,
|
||
"t": 5020000
|
||
},
|
||
{
|
||
"capability": "wai.audio.opus.packet",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "fc3f464d545b626970",
|
||
"rate": 1000000,
|
||
"rtp": 40000,
|
||
"t": 5040000
|
||
},
|
||
{
|
||
"capability": "wai.audio.opus.packet",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 3,
|
||
"payload": "fc5e656c737a81888f",
|
||
"rate": 1000000,
|
||
"rtp": 60000,
|
||
"t": 5060000
|
||
},
|
||
{
|
||
"capability": "wai.audio.opus.packet",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 4,
|
||
"payload": "fc7d848b9299a0a7ae",
|
||
"rate": 1000000,
|
||
"rtp": 80000,
|
||
"t": 5080000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.hevc",
|
||
"cto": 66000,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "0000000140010c00000001420101000000014401c100000001260101080f161d242b323940",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.hevc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "00000001020120272e353c434a51585f",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.hevc",
|
||
"cto": 66000,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "0000000102013f464d545b626970777e",
|
||
"rate": 1000000,
|
||
"rtp": 66000,
|
||
"t": 5066000
|
||
},
|
||
{
|
||
"capability": "wai.video.hevc",
|
||
"cto": null,
|
||
"group": 5000001,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "0000000140010c00000001420101000000014401c10000000126015e656c737a81888f969d",
|
||
"rate": 1000000,
|
||
"rtp": 99000,
|
||
"t": 5099000
|
||
},
|
||
{
|
||
"capability": "wai.video.hevc",
|
||
"cto": 66000,
|
||
"group": 5000001,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "0000000102017d848b9299a0a7aeb5bc",
|
||
"rate": 1000000,
|
||
"rtp": 132000,
|
||
"t": 5132000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "906176303181080c000a0900000043fc04fc02cc",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "90664c6143664c614300000022100010000000000000000bb802f00000000000000000000000000000000000000000",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "91617630311200320601080f161d24",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "91664c6143fff8691801080f161d242b",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "a1617630311200320620272e353c43",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "91664c6143fff8691820272e353c434a",
|
||
"ts": 85,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "a702061a800161763031120032063f464d545b62",
|
||
"ts": 66,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "91664c6143fff869183f464d545b6269",
|
||
"ts": 170,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "a161763031120032065e656c737a81",
|
||
"ts": 99,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "91664c6143fff869185e656c737a8188",
|
||
"ts": 255,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "av1-flac-nano-offset",
|
||
"note": "the record's sequence header before the key temporal unit, the temporal delimiter restored by the framing; a ModEx TimestampOffsetNano of 400 000 ns on frame 2; a FLAC stream per object",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff8691801080f161d242b",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff8691820272e353c434a",
|
||
"rate": 1000000,
|
||
"rtp": 85000,
|
||
"t": 5085000
|
||
},
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff869183f464d545b6269",
|
||
"rate": 1000000,
|
||
"rtp": 170000,
|
||
"t": 5170000
|
||
},
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000001,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff869185e656c737a8188",
|
||
"rate": 1000000,
|
||
"rtp": 255000,
|
||
"t": 5255000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "01000000b400000040010000905f0100b80b00001500000012000a0900000043fc04fc02cc320601080f161d24",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "01000000b400000040010000905f01009a0b00000a0000001200320620272e353c43",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "01000000b400000040010000905f0100be0b00000a000000120032063f464d545b62",
|
||
"rate": 1000000,
|
||
"rtp": 66400,
|
||
"t": 5066400
|
||
},
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 3,
|
||
"payload": "01000000b400000040010000905f0100760b00000a000000120032065e656c737a81",
|
||
"rate": 1000000,
|
||
"rtp": 99000,
|
||
"t": 5099000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {
|
||
"packet_not_carried": 1
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": false,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "90664c6143100010000000000000000bb802f00000000000000000000000000000000000000000",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "91664c6143fff86918edf4fb070e15",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "91664c6143fff8691811181f262d34",
|
||
"ts": 85,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "91664c6143fff8691830373e454c53",
|
||
"ts": 170,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "91664c6143",
|
||
"ts": 255,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "flac-streaminfo-alone",
|
||
"note": "a FLAC sequence start of the 34 bytes of STREAMINFO alone, read as that block: each object's stream begins with fLaC and the block, marked last; then a coded-frames packet of no bytes, not carried",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff86918edf4fb070e15",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff8691811181f262d34",
|
||
"rate": 1000000,
|
||
"rtp": 85000,
|
||
"t": 5085000
|
||
},
|
||
{
|
||
"capability": "wai.audio.flac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "664c614380000022100010000000000000000bb802f00000000000000000000000000000000000000000fff8691830373e454c53",
|
||
"rate": 1000000,
|
||
"rtp": 170000,
|
||
"t": 5170000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "9076703039001f800101010000",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "906d7034611190",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "9176703039824983422013f00b3001080f161d242b323940474e555c636a71787f86",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "916d7034611d242b323940474e555c63",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "a1767030398c20272e353c434a51585f666d747b828990979ea5",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "916d7034613c434a51585f666d747b82",
|
||
"ts": 21,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "a1767030398c3f464d545b626970777e858c939aa1a8afb6bdc4",
|
||
"ts": 66,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "916d7034615b626970777e858c939aa1",
|
||
"ts": 42,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "a1767030398c5e656c737a81888f969da4abb2b9c0c7ced5dce3",
|
||
"ts": 99,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5099999,
|
||
"payload": "916d7034617a81888f969da4abb2b9c0",
|
||
"ts": 63,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "vp9-enhanced-aac",
|
||
"note": "one frame in IVF with the size from the uncompressed header; ADTS from the AudioSpecificConfig",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "fff14c80025ffc1d242b323940474e555c63",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "fff14c80025ffc3c434a51585f666d747b82",
|
||
"rate": 1000000,
|
||
"rtp": 21000,
|
||
"t": 5021000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "fff14c80025ffc5b626970777e858c939aa1",
|
||
"rate": 1000000,
|
||
"rtp": 42000,
|
||
"t": 5042000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 3,
|
||
"payload": "fff14c80025ffc7a81888f969da4abb2b9c0",
|
||
"rate": 1000000,
|
||
"rtp": 63000,
|
||
"t": 5063000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.vp9",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "444b494600002000565039304001b400905f01000100000001000000000000001d000000d0dd060000000000824983422013f00b3001080f161d242b323940474e555c636a71787f86",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.vp9",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "444b494600002000565039304001b400905f0100010000000100000000000000150000006ae90600000000008c20272e353c434a51585f666d747b828990979ea5",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.vp9",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "444b494600002000565039304001b400905f01000100000001000000000000001500000004f50600000000008c3f464d545b626970777e858c939aa1a8afb6bdc4",
|
||
"rate": 1000000,
|
||
"rtp": 66000,
|
||
"t": 5066000
|
||
},
|
||
{
|
||
"capability": "wai.video.vp9",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 3,
|
||
"payload": "444b494600002000565039304001b400905f0100010000000100000000000000150000009e000700000000008c5e656c737a81888f969da4abb2b9c0c7ced5dce3",
|
||
"rate": 1000000,
|
||
"rtp": 99000,
|
||
"t": 5099000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {
|
||
"audio_track_not_default": 4,
|
||
"codec_not_permitted": 4,
|
||
"metadata": 1
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": {
|
||
"families": [
|
||
"av01",
|
||
"avc1"
|
||
],
|
||
"layers": [
|
||
[
|
||
640,
|
||
360,
|
||
30
|
||
],
|
||
[
|
||
1280,
|
||
720,
|
||
30
|
||
]
|
||
],
|
||
"name": "camera-720"
|
||
}
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "02000d40736574446174614672616d6502000a6f6e4d65746144617461080000000400057769647468004094000000000000000668656967687400408680000000000000096672616d657261746500403df851eb851eb80013766964656f547261636b4964496e666f4d6170030001310300057769647468004084000000000000000668656967687400407680000000000000096672616d657261746500403e0000000000000000090001320300057769647468004074000000000000000668656967687400406680000000000000096672616d657261746500403e000000000000000009000009000009",
|
||
"ts": 0,
|
||
"type": 18
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "962061766331000000110142c01effe100046742c01e01000268ce617630310100000f81080c000a0900000043fc09fc059c687663310200002f0101600000009000000000005af000fcfdf8f800000f03a00001000340010ca100010003420101a2000100034401c1",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "95206d7034610000000211904f70757301000000",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "962161766331000000110000000000000a6501080f161d242b3239617630310100000732055e656c737a687663310200000a00000000000003260109",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "95216d7034610000000701080f161d242b4f70757301000003fc0102",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "a62161766331000000110000000000000a4120272e353c434a5158617630310100000732057d848b9299687663310200000a00000000000003260109",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033333,
|
||
"payload": "95216d7034610000000720272e353c434a4f70757301000003fc0102",
|
||
"ts": 21,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "a62161766331000000110000000000000a413f464d545b62697077617630310100000732059ca3aab1b8687663310200000a00000000000003260109",
|
||
"ts": 66,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066666,
|
||
"payload": "95216d703461000000073f464d545b62694f70757301000003fc0102",
|
||
"ts": 42,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "multitrack-profile-layers",
|
||
"note": "under camera-720 (layer 0 640×360, layer 1 1280×720, av01 and avc1): track 1 is layer 0, track 0 layer 1; track 2 is HEVC (not in the profile) and audio track 1 is not the default",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "audio",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 0,
|
||
"payload": "fff14c8001dffc01080f161d242b",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 1,
|
||
"payload": "fff14c8001dffc20272e353c434a",
|
||
"rate": 1000000,
|
||
"rtp": 21000,
|
||
"t": 5021000
|
||
},
|
||
{
|
||
"capability": "wai.audio.aac",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": null,
|
||
"object": 2,
|
||
"payload": "fff14c8001dffc3f464d545b6269",
|
||
"rate": 1000000,
|
||
"rtp": 42000,
|
||
"t": 5042000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "010000006801000080020000905f0100b80b00001400000012000a0900000043fc09fc059c32055e656c737a",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "010000006801000080020000905f01009a0b000009000000120032057d848b9299",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.av1",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "010000006801000080020000905f01009a0b000009000000120032059ca3aab1b8",
|
||
"rate": 1000000,
|
||
"rtp": 66000,
|
||
"t": 5066000
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"layer": 1,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce000000016501080f161d242b3239",
|
||
"rate": 1000000,
|
||
"rtp": 0,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "000000014120272e353c434a5158",
|
||
"rate": 1000000,
|
||
"rtp": 33000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "00000001413f464d545b62697077",
|
||
"rate": 1000000,
|
||
"rtp": 66000,
|
||
"t": 5066000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {},
|
||
"grant": {
|
||
"audio": false,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "17000000000142c01effe100046742c01e01000268ce",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "1701000000000000066501080f161d",
|
||
"ts": 4294967040,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033000,
|
||
"payload": "2701000000000000064120272e353c",
|
||
"ts": 4294967073,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5066000,
|
||
"payload": "270100000000000006413f464d545b",
|
||
"ts": 16,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5900000,
|
||
"payload": "270100000000000006415e656c737a",
|
||
"ts": 49,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5933000,
|
||
"payload": "270100000000000006417d848b9299",
|
||
"ts": 82,
|
||
"type": 9
|
||
}
|
||
],
|
||
"name": "wrap-and-reanchor",
|
||
"note": "a timestamp that wraps past 2^32 is extended; a frame 800 ms late re-anchors the mapping at its arrival (§7.1)",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce000000016501080f161d",
|
||
"rate": 1000000,
|
||
"rtp": 4294967040000,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "000000014120272e353c",
|
||
"rate": 1000000,
|
||
"rtp": 4294967073000,
|
||
"t": 5033000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 2,
|
||
"payload": "00000001413f464d545b",
|
||
"rate": 1000000,
|
||
"rtp": 4294967312000,
|
||
"t": 5272000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 3,
|
||
"payload": "00000001415e656c737a",
|
||
"rate": 1000000,
|
||
"rtp": 4294967345000,
|
||
"t": 5900000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 4,
|
||
"payload": "00000001417d848b9299",
|
||
"rate": 1000000,
|
||
"rtp": 4294967378000,
|
||
"t": 5933000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {
|
||
"codec_not_carried": 4
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "9076766331010203",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5033000,
|
||
"payload": "9176766331000000000000024001",
|
||
"ts": 33,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "2f0102",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5021000,
|
||
"payload": "2f0304",
|
||
"ts": 21,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "codecs-not-carried",
|
||
"note": "vvc1, mapped and not carried in this revision; legacy MP3 (sound format 2): every packet of each track counted",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": []
|
||
},
|
||
{
|
||
"counts": {
|
||
"dropped_before_keyframe": 1,
|
||
"frame_not_carried": 1,
|
||
"frame_unreadable": 1,
|
||
"no_sequence_start": 1
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "270100000000000003410102",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5010000,
|
||
"payload": "17000000000142c01effe100046742c01e01000268ce",
|
||
"ts": 10,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5020000,
|
||
"payload": "270100000000000003410707",
|
||
"ts": 20,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5030000,
|
||
"payload": "17010000000000000965",
|
||
"ts": 30,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5040000,
|
||
"payload": "170100000000000003650808",
|
||
"ts": 40,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "904f7075734f707573486561640106000080bb00000000010402000401020503",
|
||
"ts": 0,
|
||
"type": 8
|
||
},
|
||
{
|
||
"arrival_us": 5020000,
|
||
"payload": "914f707573fc01",
|
||
"ts": 20,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "frames-not-carried",
|
||
"note": "an AVC frame before its sequence start; an interframe before the first keyframe; a NAL unit length past the frame; then a keyframe, carried; an Opus body of four streams",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5040000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce00000001650808",
|
||
"rate": 1000000,
|
||
"rtp": 40000,
|
||
"t": 5040000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"counts": {
|
||
"codec_not_carried": 1,
|
||
"tag_modex": 1,
|
||
"tag_multitrack": 1,
|
||
"tag_packet_type": 1,
|
||
"tag_truncated": 1
|
||
},
|
||
"grant": {
|
||
"audio": true,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "8701000001",
|
||
"ts": 0,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "8616",
|
||
"ts": 10,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "9f61763031",
|
||
"ts": 20,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "1701",
|
||
"ts": 30,
|
||
"type": 9
|
||
},
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "9061632d3301",
|
||
"ts": 0,
|
||
"type": 8
|
||
}
|
||
],
|
||
"name": "bodies-refused",
|
||
"note": "a ModEx TimestampOffsetNano of two bytes; multitrack inside multitrack; a reserved packet type; a legacy AVC header that ends early; and ac-3, not carried",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": []
|
||
},
|
||
{
|
||
"counts": {},
|
||
"grant": {
|
||
"audio": false,
|
||
"video": true,
|
||
"video_profile": null
|
||
},
|
||
"messages": [
|
||
{
|
||
"arrival_us": 5000000,
|
||
"payload": "090000160003e80000000017000000000142c01effe100046742c01e01000268ce000000210900000c0003e800000000170100000000000003650303000000170900000c0004090000000027010000000000000341040400000017",
|
||
"ts": 5000,
|
||
"type": 22
|
||
}
|
||
],
|
||
"name": "aggregate",
|
||
"note": "FLV tags in one aggregate message, their timestamps offset to the message's (5000)",
|
||
"params": {
|
||
"audio_group_us": 200000,
|
||
"max_frame_bytes": 1048576,
|
||
"max_video_group_us": 2000000,
|
||
"skew_us": 250000
|
||
},
|
||
"tracks": [
|
||
{
|
||
"layer": 0,
|
||
"media": "video",
|
||
"objects": [
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": true,
|
||
"object": 0,
|
||
"payload": "000000016742c01e0000000168ce00000001650303",
|
||
"rate": 1000000,
|
||
"rtp": 5000000,
|
||
"t": 5000000
|
||
},
|
||
{
|
||
"capability": "wai.video.avc",
|
||
"cto": null,
|
||
"group": 5000000,
|
||
"key": false,
|
||
"object": 1,
|
||
"payload": "00000001410404",
|
||
"rate": 1000000,
|
||
"rtp": 5033000,
|
||
"t": 5033000
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"t0_us": 1790000000000000
|
||
}
|