Verify production web H264 playback and final stream cleanup

This commit is contained in:
2026-10-13 00:18:04 +02:00
parent e942cbccc5
commit 70e0456ddd
5 changed files with 1058 additions and 0 deletions
+960
View File
@@ -0,0 +1,960 @@
{
"started_utc": "2026-10-12T22:13:31.094Z",
"channel": "TVP 1 HD",
"relay_id": "bd9828873b2f4a1cbbb9853beb9630e5",
"isolated_bridge_override": false,
"schedule_seconds": {
"duration": 90,
"join": 30,
"leave": 60
},
"checks": [
{
"name": "viewer 1 one-click decoded start",
"status": "PASS",
"evidence": {
"seconds": 15.04
}
},
{
"name": "viewer 2 one-click decoded start",
"status": "PASS",
"evidence": {
"seconds": 14
}
},
{
"name": "viewer 2 exit to Channels",
"status": "PASS",
"evidence": {
"elapsed": 64.5
}
},
{
"name": "viewer 1 exit to Channels",
"status": "PASS",
"evidence": {
"elapsed": 95.31
}
},
{
"name": "scheduled duration completed",
"status": "PASS",
"evidence": {
"seconds": 92.9,
"interrupted": false
}
},
{
"name": "second viewer phase completed",
"status": "PASS",
"evidence": {
"joinAt": 30,
"leaveAt": 60
}
},
{
"name": "own relay consumers released after last viewer",
"status": "PASS",
"evidence": {
"relay_id": "bd9828873b2f4a1cbbb9853beb9630e5",
"active": false,
"consumers": 0,
"baseline_active": false,
"baseline_consumers": 0
}
},
{
"name": "viewer 1 continuous decoded progress",
"status": "PASS",
"evidence": {
"samples": 13,
"progressing_intervals": 12,
"stalled_intervals": 0,
"audio_progress_intervals": 12
}
},
{
"name": "viewer 1 browser and HLS responses",
"status": "PASS",
"evidence": {
"browser_errors": [],
"hls": {
"manifests": 36,
"segments": 0,
"failed": [],
"request_failed": []
}
}
},
{
"name": "viewer 1 audio decoding progresses",
"status": "PASS",
"evidence": {
"progressing_intervals": 12
}
},
{
"name": "viewer 2 continuous decoded progress",
"status": "PASS",
"evidence": {
"samples": 3,
"progressing_intervals": 2,
"stalled_intervals": 0,
"audio_progress_intervals": 2
}
},
{
"name": "viewer 2 browser and HLS responses",
"status": "PASS",
"evidence": {
"browser_errors": [],
"hls": {
"manifests": 11,
"segments": 0,
"failed": [],
"request_failed": []
}
}
},
{
"name": "viewer 2 audio decoding progresses",
"status": "PASS",
"evidence": {
"progressing_intervals": 2
}
},
{
"name": "sharing uses one physical receiver stream",
"status": "PASS",
"evidence": {
"before_opened": 1,
"during": [
{
"elapsed": 45.97,
"opened": 1,
"physical_rows": 1,
"consumers": 2
},
{
"elapsed": 47.41,
"opened": 1,
"physical_rows": 1,
"consumers": 2
}
]
}
},
{
"name": "global receiver upstream counter stable during sharing",
"status": "PASS",
"evidence": {
"before": 1,
"during": [
1,
1
],
"scope": "Global plugin counter; correlate a failure with other users and channel snapshots."
}
}
],
"events": [],
"snapshots": [
{
"utc": "2026-10-12T22:13:47.808Z",
"type": "server",
"label": "before",
"elapsed": null,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 0,
"ActiveSources": 0,
"Consumers": 0,
"LastErrors": [],
"Channels": []
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-d06a6455",
"channel": null,
"transcoding": {
"VideoCodec": null,
"AudioCodec": null,
"IsVideoDirect": null,
"IsAudioDirect": null,
"Framerate": null,
"TranscodeReasons": null
}
},
{
"user": "decoder-reception-9aaca800",
"channel": null,
"transcoding": {
"VideoCodec": null,
"AudioCodec": null,
"IsVideoDirect": null,
"IsAudioDirect": null,
"Framerate": null,
"TranscodeReasons": null
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 0,
"rows": [],
"channel_matches": 0
}
},
{
"utc": "2026-10-12T22:14:04.561Z",
"type": "server",
"label": "primary-started",
"elapsed": 1.71,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 1,
"Consumers": 1,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": true,
"Consumers": 1
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-9aaca800",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 65,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
},
{
"user": "decoder-reception-d06a6455",
"channel": null,
"transcoding": {
"VideoCodec": null,
"AudioCodec": null,
"IsVideoDirect": null,
"IsAudioDirect": null,
"Framerate": null,
"TranscodeReasons": null
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 1,
"rows": [
{
"ip": "192.168.100.191",
"name": "TVP 1 HD",
"ref": "1:0:1:3ABD:514:13E:820000:0:0:0:"
}
],
"channel_matches": 1
}
},
{
"utc": "2026-10-12T22:14:48.818Z",
"type": "server",
"label": "secondary-joined",
"elapsed": 45.97,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 1,
"Consumers": 2,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": true,
"Consumers": 2
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-d06a6455",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 58,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
},
{
"user": "decoder-reception-9aaca800",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 52,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 1,
"rows": [
{
"ip": "192.168.100.191",
"name": "TVP 1 HD",
"ref": "1:0:1:3ABD:514:13E:820000:0:0:0:"
}
],
"channel_matches": 1
}
},
{
"utc": "2026-10-12T22:14:50.258Z",
"type": "server",
"label": "periodic",
"elapsed": 47.41,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 1,
"Consumers": 2,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": true,
"Consumers": 2
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-d06a6455",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 57,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
},
{
"user": "decoder-reception-9aaca800",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 52,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 1,
"rows": [
{
"ip": "192.168.100.191",
"name": "TVP 1 HD",
"ref": "1:0:1:3ABD:514:13E:820000:0:0:0:"
}
],
"channel_matches": 1
}
},
{
"utc": "2026-10-12T22:15:08.968Z",
"type": "server",
"label": "secondary-left",
"elapsed": 66.12,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 1,
"Consumers": 1,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": true,
"Consumers": 1
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-9aaca800",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 51,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 1,
"rows": [
{
"ip": "192.168.100.191",
"name": "TVP 1 HD",
"ref": "1:0:1:3ABD:514:13E:820000:0:0:0:"
}
],
"channel_matches": 1
}
},
{
"utc": "2026-10-12T22:15:25.724Z",
"type": "server",
"label": "periodic",
"elapsed": 82.88,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 1,
"Consumers": 1,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": true,
"Consumers": 1
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-9aaca800",
"channel": "TVP 1 HD",
"transcoding": {
"VideoCodec": "h264",
"AudioCodec": "aac",
"IsVideoDirect": false,
"IsAudioDirect": false,
"Framerate": 51,
"TranscodeReasons": [
"ContainerNotSupported",
"AudioCodecNotSupported",
"InterlacedVideoNotSupported"
]
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 1,
"rows": [
{
"ip": "192.168.100.191",
"name": "TVP 1 HD",
"ref": "1:0:1:3ABD:514:13E:820000:0:0:0:"
}
],
"channel_matches": 1
}
},
{
"utc": "2026-10-12T22:15:59.915Z",
"type": "server",
"label": "after-cleanup",
"elapsed": 117.07,
"plugin": "7.0.7.0",
"streams": {
"UpstreamConnectionsOpened": 1,
"ActiveSources": 0,
"Consumers": 0,
"LastErrors": [],
"Channels": [
{
"Id": "bd9828873b2f4a1cbbb9853beb9630e5",
"ServiceReference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"Active": false,
"Consumers": 0
}
]
},
"probe_error": null,
"sessions": [
{
"user": "decoder-reception-9aaca800",
"channel": null,
"transcoding": {
"VideoCodec": null,
"AudioCodec": null,
"IsVideoDirect": null,
"IsAudioDirect": null,
"Framerate": null,
"TranscodeReasons": null
}
}
],
"receiver": {
"status": 200,
"jellyfin_channel_rows": 0,
"rows": [],
"channel_matches": 0
}
}
],
"audio_scope": "Decoded byte counter when available; no human audible verification.",
"first_video_utc": "2026-10-12T22:14:02.849Z",
"service_reference": "/1:0:1:3ABD:514:13E:820000:0:0:0:",
"frame_artifact": "enigma-diagnostics/jellyfin-decoder-plugin/frame-7.0.7-20261013.png",
"secondary_request_seconds": 30.16,
"secondary_video_seconds": 44.16,
"secondary_stop_seconds": 62.44,
"playback_elapsed_seconds": 92.9,
"primary_stop_seconds": 92.9,
"finished_utc": "2026-10-12T22:16:02.627Z",
"pass": 15,
"fail": 0,
"unverified": 0,
"viewers": [
{
"viewer": 1,
"startup_seconds": 15.04,
"samples": [
{
"utc": "2026-10-12T22:14:07.955Z",
"type": "video",
"viewer": 1,
"elapsed": 5.11,
"video": {
"time": 5.120881,
"frames": 206,
"dropped": 0,
"audio_bytes": 175353,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 4.980078
},
"events": [
{
"type": "waiting",
"at": 1791843236668,
"time": 0,
"error": null
},
{
"type": "playing",
"at": 1791843242753,
"time": 0,
"error": null
}
],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:12.960Z",
"type": "video",
"viewer": 1,
"elapsed": 10.11,
"video": {
"time": 10.129345,
"frames": 456,
"dropped": 0,
"audio_bytes": 337352,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 2.971613999999999
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:17.975Z",
"type": "video",
"viewer": 1,
"elapsed": 15.13,
"video": {
"time": 15.144421,
"frames": 706,
"dropped": 0,
"audio_bytes": 498183,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 3.956538
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:22.992Z",
"type": "video",
"viewer": 1,
"elapsed": 20.14,
"video": {
"time": 20.160787,
"frames": 958,
"dropped": 0,
"audio_bytes": 661575,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 4.9401720000000005
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:28.006Z",
"type": "video",
"viewer": 1,
"elapsed": 25.16,
"video": {
"time": 25.174385,
"frames": 1209,
"dropped": 0,
"audio_bytes": 823605,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 5.926573999999999
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:48.822Z",
"type": "video",
"viewer": 1,
"elapsed": 45.97,
"video": {
"time": 45.991756,
"frames": 2249,
"dropped": 7,
"audio_bytes": 1496686,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 3.109203000000001
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:55.264Z",
"type": "video",
"viewer": 1,
"elapsed": 52.42,
"video": {
"time": 52.432635,
"frames": 2571,
"dropped": 8,
"audio_bytes": 1703659,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 5.6683240000000055
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:00.275Z",
"type": "video",
"viewer": 1,
"elapsed": 57.43,
"video": {
"time": 57.445776,
"frames": 2822,
"dropped": 8,
"audio_bytes": 1865694,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 3.655183000000001
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:08.973Z",
"type": "video",
"viewer": 1,
"elapsed": 66.12,
"video": {
"time": 66.142985,
"frames": 3257,
"dropped": 9,
"audio_bytes": 2147099,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 3.957974000000007
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:13.982Z",
"type": "video",
"viewer": 1,
"elapsed": 71.13,
"video": {
"time": 71.151762,
"frames": 3508,
"dropped": 9,
"audio_bytes": 2309882,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 4.949196999999998
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:19.000Z",
"type": "video",
"viewer": 1,
"elapsed": 76.15,
"video": {
"time": 76.168919,
"frames": 3759,
"dropped": 9,
"audio_bytes": 2471981,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 5.932040000000001
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:24.008Z",
"type": "video",
"viewer": 1,
"elapsed": 81.16,
"video": {
"time": 81.17878,
"frames": 4009,
"dropped": 9,
"audio_bytes": 2633952,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 3.922179
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:30.742Z",
"type": "video",
"viewer": 1,
"elapsed": 87.89,
"video": {
"time": 87.911523,
"frames": 4345,
"dropped": 9,
"audio_bytes": 2851535,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 6.189436000000001
},
"events": [],
"route": "#/video"
}
],
"errors": [],
"hls": {
"manifests": 36,
"segments": 0,
"failed": [],
"request_failed": []
}
},
{
"viewer": 2,
"startup_seconds": 14,
"samples": [
{
"utc": "2026-10-12T22:14:48.826Z",
"type": "video",
"viewer": 2,
"elapsed": 45.98,
"video": {
"time": 1.945995,
"frames": 28,
"dropped": 0,
"audio_bytes": 72577,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 5.530964
},
"events": [
{
"type": "waiting",
"at": 1791843278929,
"time": 0,
"error": null
},
{
"type": "playing",
"at": 1791843286817,
"time": 0,
"error": null
}
],
"route": "#/video"
},
{
"utc": "2026-10-12T22:14:55.269Z",
"type": "video",
"viewer": 2,
"elapsed": 52.42,
"video": {
"time": 8.388411,
"frames": 350,
"dropped": 0,
"audio_bytes": 280189,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 5.088548000000001
},
"events": [],
"route": "#/video"
},
{
"utc": "2026-10-12T22:15:00.278Z",
"type": "video",
"viewer": 2,
"elapsed": 57.43,
"video": {
"time": 13.398709,
"frames": 600,
"dropped": 0,
"audio_bytes": 441582,
"width": 1920,
"height": 1080,
"ready": 4,
"paused": false,
"ended": false,
"error": null,
"buffered_ahead": 6.078250000000001
},
"events": [],
"route": "#/video"
}
],
"errors": [],
"hls": {
"manifests": 11,
"segments": 0,
"failed": [],
"request_failed": []
}
}
]
}