Record coordinated reception results and prepare scoped web H264 option

This commit is contained in:
2026-10-12 23:57:10 +02:00
parent 5c10d8b9b8
commit a7e44efdf7
15 changed files with 12390 additions and 17 deletions
@@ -29,6 +29,7 @@ namespace Jellyfin.Plugin.Enigma2.Configuration
public bool EnableDebugLogging { get; set; }
public bool EnableVuRecordings { get; set; } = false;
public bool PreferH264ForWebLiveTv { get; set; } = true;
public PluginConfiguration()
@@ -148,6 +148,11 @@
<span>Obsługuj nagrania z Vu+ (Enigma2 Recordings)</span>
</label>
<div class="fieldDescription">Włącza bibliotekę nagrań dekodera. Zmiana wymaga ponownego uruchomienia Jellyfina. Wyłączenie nie usuwa plików nagrań.</div>
<label class="checkboxContainer">
<input is="emby-checkbox" type="checkbox" id="chkPreferH264ForWebLiveTv" />
<span>Preferuj H264 przy transkodowaniu telewizji w przeglądarce</span>
</label>
<div class="fieldDescription">Ogranicza transkodowanie kanałów Enigma2 w aplikacji webowej do H264. Ułatwia odtwarzanie na urządzeniach bez wydajnego dekodowania AV1. Zmiana dotyczy kolejnego uruchomienia kanału.</div>
<label class="checkboxContainer">
<input is="emby-checkbox" type="checkbox" id="chkDebugLogging" />
<span>Enable Enigma2 debug logging</span>
@@ -188,6 +193,7 @@
document.getElementById('txtTranscodingPort').value = config.TranscodingPort || "";
document.getElementById('chkDebugLogging').checked = config.EnableDebugLogging || false;
document.getElementById('chkEnableVuRecordings').checked = config.EnableVuRecordings || false;
document.getElementById('chkPreferH264ForWebLiveTv').checked = config.PreferH264ForWebLiveTv !== false;
Dashboard.hideLoadingMsg();
});
@@ -215,6 +221,7 @@
config.TranscodingPort = document.getElementById('txtTranscodingPort').value;
config.EnableDebugLogging = document.getElementById('chkDebugLogging').checked;
config.EnableVuRecordings = document.getElementById('chkEnableVuRecordings').checked;
config.PreferH264ForWebLiveTv = document.getElementById('chkPreferH264ForWebLiveTv').checked;
ApiClient.updatePluginConfiguration(Enigma2ConfigurationPage.pluginUniqueId, config).then(Dashboard.processPluginConfigurationUpdateResult);
});
@@ -2,8 +2,8 @@
<PropertyGroup>
<TargetFrameworks>net10.0</TargetFrameworks>
<AssemblyVersion>7.0.6.0</AssemblyVersion>
<FileVersion>7.0.6.0</FileVersion>
<AssemblyVersion>7.0.7.0</AssemblyVersion>
<FileVersion>7.0.7.0</FileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'">
@@ -5,11 +5,26 @@ using System.Linq;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data;
using Jellyfin.Database.Implementations.Enums;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Jellyfin.Plugin.Enigma2;
public sealed class WebPlaybackPolicy
{
public bool IsEnigmaChannel { get; set; }
public bool PreferH264 { get; set; }
public static WebPlaybackPolicy For(BaseItem item, bool enabled)
{
var owned = item is LiveTvChannel && string.Equals(item.ServiceName, "Enigma2", StringComparison.OrdinalIgnoreCase);
return new() { IsEnigmaChannel = owned, PreferH264 = owned && enabled };
}
}
public sealed class ChannelPreferences
{
public string[] FavoriteIds { get; set; } = Array.Empty<string>();
@@ -52,7 +67,9 @@ public sealed class PreferencesController : ControllerBase
private readonly InternetEpg epg;
private readonly LiveStreamRelay relay;
private readonly LiveStreamProbe probe;
public PreferencesController(PreferencesStore store,InternetEpg epg,LiveStreamRelay relay,LiveStreamProbe probe) { this.store=store; this.epg=epg; this.relay=relay; this.probe=probe; }
private readonly ILibraryManager library;
private readonly IUserManager users;
public PreferencesController(PreferencesStore store,InternetEpg epg,LiveStreamRelay relay,LiveStreamProbe probe,ILibraryManager library,IUserManager users) { this.store=store; this.epg=epg; this.relay=relay; this.probe=probe; this.library=library; this.users=users; }
private Guid UserId => Guid.TryParse(User.FindFirst("Jellyfin-UserId")?.Value,out var id) ? id : Guid.Empty;
[HttpGet("Channels")]
[AllowAnonymous]
@@ -66,6 +83,19 @@ public sealed class PreferencesController : ControllerBase
[HttpPut("Preferences")]
public async Task<IActionResult> Put(ChannelPreferences value,CancellationToken token)
{ if (UserId == Guid.Empty) return Unauthorized(); await store.Save(UserId,value,token); return NoContent(); }
[HttpGet("WebPlaybackPolicy")]
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]
public ActionResult<WebPlaybackPolicy> GetWebPlaybackPolicy([FromQuery] Guid channelId)
{
// Resolve the authenticated user explicitly: the native library lookup with a
// null user would skip visibility checks. Never accept a userId from the query.
if (UserId == Guid.Empty) return Unauthorized();
var user = users.GetUserById(UserId);
if (user == null) return Unauthorized();
if (!user.HasPermission(PermissionKind.EnableLiveTvAccess)) return Forbid();
var item = channelId == Guid.Empty ? null : library.GetItemById<BaseItem>(channelId, user);
return WebPlaybackPolicy.For(item, Plugin.Instance?.Configuration?.PreferH264ForWebLiveTv ?? false);
}
[HttpGet("Status")]
[Authorize(Policy="RequiresElevation")]
public IActionResult Status() => Ok(new { epg.LastSuccess,epg.MatchedImages,epg.LastError, Source="https://epg.polishteam.one/guide.xml", Streams=relay.Status(), ProbeError=probe.LastError });
+14
View File
@@ -107,3 +107,17 @@ Brak obrazu na TVP1/TVP2/TVN nadal ma odrębne dowody: produkcyjne logi końcowe
Co 5 s zapisuje postęp klatek i zegara, bufor, stan odtwarzacza, zdarzenia przerw i dostępny licznik zdekodowanego audio. Co około 30 s odczytuje administracyjny status wtyczki i listę istniejących klientów OpenWebif. Nie otwiera dodatkowej transmisji diagnostycznej. Wyniki JSON/JSONL rozróżniają jednoczesną liczbę fizycznych połączeń od globalnego licznika otwarć. `Consumers` nie jest utożsamiany z liczbą przeglądarek, ponieważ Jellyfin może współdzielić również własny pipeline. Brak licznika audio jest oznaczony UNVERIFIED; same metadane nie potwierdzają słyszalnego dźwięku.
Próba używa dwóch własnych kont, zamyka ich sesje i usuwa konta oraz preferencje w cleanup; po zakończeniu czeka 20 s na zwolnienie relay. Nie wymaga globalnego zera źródeł, jeżeli inni użytkownicy oglądają TV. Nie przełącza kanałów, nie zapisuje konfiguracji, nie tworzy nagrań i nie restartuje usług. Przy pierwszym nieudanym starcie kończy się z FAIL bez samodzielnego ponawiania odbioru.
Przebieg 12.10.2026, 21:31:43–21:47:13 UTC (23:31–23:47 CEST): TVP1 uruchomił się po 13,31 s. Główny klient działał przez uzgodnione 900 s, drugi w fazie 300–600 s; oba 1920×1080 i rosnące liczniki audio. **15/15 kontroli transportu, współdzielenia, wyjścia i zwolnienia źródła PASS**. W obu fazach dokładnie jeden fizyczny klient Jellyfina na odbiorniku, globalny licznik otwarć pozostał 18; relay Consumers 1→2→1→0. Pozostałe trzy źródła natywne należały do równoległego zadania dekodera i nie były zamykane przez test. Wtyczka produkcyjna 7.0.6.0, brak zmian konfiguracji lub restartów w tej próbie.
Ten przebieg **nie zaliczył płynności klienta Web**. Wyjście było AV1/AAC 1080p50; FFmpeg pracował około 0,997×, HLS bez błędów HTTP. Główny headless Edge: 894,873 s pomiaru, 713,581 s postępu filmu, 53,5% dropped, 188 oczekiwań po starcie / 181,144 s łącznie, bufor minimum 2,624 s. Drugi: 56% dropped i 65,198 s oczekiwań. Sam przyrost klatek nie jest kryterium płynności. Raport `reception-trial-20261012.json` zachowuje wyniki transportu, a `reception-summary-20261012.json` rozdziela je od jakości klienta. `analyze-reception-trial.cjs` liczy proporcję czasu, dropped oraz waiting→playing; progi dotyczą tego stanowiska testowego, nie wszystkich aplikacji.
`--bridge-file=<lokalny JS>` pozwala w świeżych izolowanych kontekstach podstawić wyłącznie skrypt wtyczki i odpowiedź polityki H264 dla dokładnego ID testowanego kanału. Nie zmienia plików ani konfiguracji serwera. Taka próba porównawcza potwierdza efekt negocjacji kodeka; rzeczywiste uprawnienia i kontrakt endpointu należy osobno sprawdzić po wdrożeniu DLL. Każde kolejne okno odbioru wymaga uzgodnienia z zadaniem dekodera.
## Przygotowana opcja H264 — 7.0.7.0
Kod zawiera opcję „Preferuj H264 przy transkodowaniu telewizji w przeglądarce”, domyślnie włączoną również po wczytaniu starszego XML. Endpoint `GET /DecoderIntegration/WebPlaybackPolicy?channelId=<guid>` wymaga dostępu LiveTV, rozpoznaje rzeczywistego użytkownika z claim oraz stosuje natywną widoczność kanału. Zwraca tylko `IsEnigmaChannel` i `PreferH264`; własność wymaga `LiveTvChannel.ServiceName == Enigma2`. Brak/obcy/niewidoczny item zwraca false/false, wyłączona opcja dla Enigma true/false. Odpowiedź nie jest buforowana. Nie przyjmuje userId jako źródła uprawnień.
Moduł window zawęża klon profilu transkodowania w `appHost.getDeviceProfile(item, options)` do H264 wyłącznie dla potwierdzonego kanału Enigma w zwykłym Web. Zachowuje audio, napisy, ograniczenia profilu i DirectPlay. Filmy, inne źródła TV, inny serwer, NativeShell i zdalny odtwarzacz pozostają bez zmiany. Brak H264 w oryginalnym profilu lub niedostępna polityka zachowuje natywną negocjację. Oczekiwanie na politykę jest ograniczone do 2 s; ten odczyt HTTP nie otwiera TV. JS i endpoint muszą być wdrożone razem; nie należy nadpisywać globalnych preferencji Jellyfina.
Wspólny build .NET10/ABI12.2 i testy backendu przeszły, w tym autoryzacja, własność i konfiguracja false. `test-web-bridge.cjs` potwierdził zakres H264, brak mutacji wspólnego profilu, zachowanie audio/warunków, fallback, retry i ochronę przed ponownym instalowaniem wrappera. **Na etapie zapisu tego punktu produkcja nadal używa 7.0.6.0; 7.0.7.0 nie wdrożono.** Próba A/B i kontrola rzeczywistego endpointu pozostają do wykonania po kolejnym sygnale zadania odbiornika. Wynik AV1 nie dowodzi problemu każdego klienta Web ani awarii anteny.
+41
View File
@@ -6,9 +6,17 @@ using System.Security.Claims;
using System.Text.Json.Nodes;
using System.Threading;
using System.Linq;
using Jellyfin.Data;
using Jellyfin.Database.Implementations.Entities;
using Jellyfin.Database.Implementations.Enums;
using Jellyfin.Plugin.Enigma2.Configuration;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
var time=DateTime.UtcNow;
void Check(bool ok,string name){if(!ok)throw new Exception(name);Console.WriteLine("PASS "+name);}
@@ -23,6 +31,24 @@ Check(!InternetEpg.AllowedImage("https://ptv-prod.wphcdn.cloud.evil.example/a"),
Check(InternetEpg.AllowedImage(entry.Image),"real provider image");
var prefs=new ChannelPreferences{FavoriteIds=new[]{Guid.NewGuid().ToString(),"../other-user"},DefaultView="invalid"};prefs.Validate();
Check(prefs.FavoriteIds.Length==1 && prefs.DefaultView=="all","preference input validation");
var legacyConfiguration=(PluginConfiguration)new System.Xml.Serialization.XmlSerializer(typeof(PluginConfiguration)).Deserialize(new StringReader("<PluginConfiguration><HostName>receiver</HostName></PluginConfiguration>"));
Check(legacyConfiguration.PreferH264ForWebLiveTv,"legacy configuration defaults to web H264 preference");
var ownedChannel=new LiveTvChannel{Id=Guid.NewGuid(),ServiceName="Enigma2"};
var policy=WebPlaybackPolicy.For(ownedChannel,true);
Check(policy.IsEnigmaChannel&&policy.PreferH264,"web codec policy recognizes native Enigma service");
policy=WebPlaybackPolicy.For(ownedChannel,false);
Check(policy.IsEnigmaChannel&&!policy.PreferH264,"disabled web codec policy preserves native negotiation");
Check(!WebPlaybackPolicy.For(new LiveTvChannel{ServiceName="OtherProvider"},true).PreferH264&&!WebPlaybackPolicy.For(new Video{ServiceName="Enigma2"},true).PreferH264&&!WebPlaybackPolicy.For(null,true).PreferH264,"web codec policy excludes other providers, movies and missing items");
var policyUser=new User("policy-test","test-auth","test-reset");policyUser.SetPermission(PermissionKind.EnableLiveTvAccess,true);
var userManager=DispatchProxy.Create<IUserManager,PolicyUserProxy>();((PolicyUserProxy)(object)userManager).Current=policyUser;
var libraryManager=DispatchProxy.Create<ILibraryManager,PolicyLibraryProxy>();var libraryProxy=(PolicyLibraryProxy)(object)libraryManager;libraryProxy.Current=policyUser;libraryProxy.Item=ownedChannel;
var policyContext=new DefaultHttpContext();policyContext.User=new ClaimsPrincipal(new ClaimsIdentity(new[]{new Claim("Jellyfin-UserId",policyUser.Id.ToString())},"test"));policyContext.Request.QueryString=new QueryString("?userId="+Guid.NewGuid());
var policyController=new PreferencesController(null,null,null,null,libraryManager,userManager){ControllerContext=new ControllerContext{HttpContext=policyContext}};
Check(policyController.GetWebPlaybackPolicy(ownedChannel.Id).Value.IsEnigmaChannel&&libraryProxy.Calls==1,"web policy uses native user-filtered lookup for authenticated owner");
libraryProxy.Item=null;policy=policyController.GetWebPlaybackPolicy(ownedChannel.Id).Value;Check(!policy.IsEnigmaChannel&&!policy.PreferH264,"native visibility denial leaves web profile unchanged");
policyUser.SetPermission(PermissionKind.EnableLiveTvAccess,false);Check(policyController.GetWebPlaybackPolicy(ownedChannel.Id).Result is ForbidResult&&libraryProxy.Calls==2,"web policy denies user without live TV permission before item lookup");
((PolicyUserProxy)(object)userManager).Current=null;Check(policyController.GetWebPlaybackPolicy(ownedChannel.Id).Result is UnauthorizedResult&&libraryProxy.Calls==2,"web policy rejects deleted user without unrestricted native lookup");
policyContext.User=new ClaimsPrincipal();Check(policyController.GetWebPlaybackPolicy(ownedChannel.Id).Result is UnauthorizedResult,"web policy requires authenticated user claim");
var folder=Path.Combine(Path.GetTempPath(),"decoder-tests-"+Guid.NewGuid().ToString("N"));
var paths=DispatchProxy.Create<IApplicationPaths,PathsProxy>();((PathsProxy)(object)paths).Folder=folder;
try
@@ -101,6 +127,21 @@ public class PathsProxy : DispatchProxy
protected override object Invoke(MethodInfo method,object[] args)=>(method.Name=="get_DataPath" || method.Name=="get_PluginConfigurationsPath")?Folder:null;
}
public class PolicyUserProxy : DispatchProxy
{
public User Current;
protected override object Invoke(MethodInfo method,object[] args) => method.Name=="GetUserById"&&Current!=null&&(Guid)args[0]==Current.Id?Current:null;
}
public class PolicyLibraryProxy : DispatchProxy
{
public User Current;public BaseItem Item;public int Calls;
protected override object Invoke(MethodInfo method,object[] args)
{
if(method.Name!="GetItemById"||args.Length!=2||!ReferenceEquals(args[1],Current))throw new Exception("Expected native item lookup using authenticated User");
Calls++;return Item;
}
}
public class RelayHandler : System.Net.Http.HttpMessageHandler
{
public int Calls;
+28
View File
@@ -0,0 +1,28 @@
// Summarize measured client smoothness separately from upstream/transport checks.
const fs = require('node:fs');
const input = process.argv[2];
if (!input) throw Error('Usage: node analyze-reception-trial.cjs report.json [summary.json]');
const report = JSON.parse(fs.readFileSync(input, 'utf8'));
const round = x => Number(x.toFixed(3));
const viewers = report.viewers.map(viewer => {
const rows = viewer.samples.filter(row => row.video);
if (rows.length < 2) return { viewer: viewer.viewer, status: 'INSUFFICIENT_DATA' };
const first = rows[0], last = rows.at(-1);
const seconds = (Date.parse(last.utc) - Date.parse(first.utc)) / 1000;
const media = last.video.time - first.video.time;
const frames = last.video.frames - first.video.frames, dropped = last.video.dropped - first.video.dropped;
let waiting, waitingSeconds = [], unmatched = 0;
for (const row of viewer.samples) for (const event of row.events || []) {
if (event.at < Date.parse(first.utc) || event.at > Date.parse(last.utc)) continue;
if (event.type === 'waiting' && waiting === undefined) waiting = event.at;
if (event.type === 'playing' && waiting !== undefined) { waitingSeconds.push((event.at - waiting) / 1000); waiting = undefined; }
}
if (waiting !== undefined) unmatched++;
waitingSeconds.sort((a,b) => a-b);
const totalWait = waitingSeconds.reduce((a,b) => a+b,0);
const realtime = media / seconds, dropFraction = frames > 0 ? dropped / frames : null;
return { viewer: viewer.viewer, sampled_seconds: round(seconds), media_progress_seconds: round(media), realtime_ratio: round(realtime), total_frame_delta: frames, dropped_frame_delta: dropped, dropped_fraction: dropFraction === null ? null : round(dropFraction), approximate_presented_fps: round((frames-dropped)/seconds), waiting_events: waitingSeconds.length, waiting_seconds: round(totalWait), waiting_median_seconds: waitingSeconds.length ? round(waitingSeconds[Math.floor(waitingSeconds.length/2)]) : null, waiting_max_seconds: waitingSeconds.length ? round(waitingSeconds.at(-1)) : null, waiting_unmatched: unmatched, minimum_buffer_seconds: round(Math.min(...rows.map(row=>row.video.buffered_ahead))), audio_decoded_byte_delta: first.video.audio_bytes === null || last.video.audio_bytes === null ? null : last.video.audio_bytes-first.video.audio_bytes, status: realtime >= 0.98 && totalWait/seconds <= 0.02 && dropFraction !== null && dropFraction <= 0.05 ? 'SMOOTH_TEST_CLIENT' : 'CLIENT_NOT_SMOOTH', scope: 'Headless test client only. Frame presentation is approximated; audible sound and other devices are not verified.' };
});
const summary = { input, plugin: report.snapshots.find(s=>s.plugin)?.plugin, isolated_bridge_override: report.isolated_bridge_override || false, channel: report.channel, first_video_utc: report.first_video_utc, finished_utc: report.finished_utc, transport_checks: { pass: report.pass, fail: report.fail, unverified: report.unverified || 0 }, viewers };
if (process.argv[3]) fs.writeFileSync(process.argv[3], JSON.stringify(summary,null,2)+'\n');
console.log(JSON.stringify(summary,null,2));
+4 -4
View File
@@ -27,9 +27,9 @@ plugins = pathlib.Path('/var/lib/jellyfin/plugins')
old = [p for p in plugins.glob('Enigma2_*') if p.is_dir()]
backup = pathlib.Path('/var/lib/jellyfin/decoder-plugin-backups') / ('plugin-only-' + datetime.datetime.now(datetime.timezone.utc).strftime('%Y%m%dT%H%M%SZ'))
backup.mkdir(mode=0o700)
new = plugins / 'Enigma2_7.0.6.0'
new = plugins / 'Enigma2_7.0.7.0'
metadata = json.loads((old[0] / 'meta.json').read_text())
metadata.update(version='7.0.6.0', status='Active', targetAbi='12.2.0.0')
metadata.update(version='7.0.7.0', status='Active', targetAbi='12.2.0.0')
subprocess.run(['systemctl', 'stop', 'jellyfin'], check=True)
try:
for p in old:
@@ -52,11 +52,11 @@ deadline = time.monotonic() + 45
while True:
try:
installed = json.load(urllib.request.urlopen(urllib.request.Request('http://127.0.0.1:8096/Plugins', headers=headers), timeout=3))
if any(p['Name'] == 'Enigma2' and p['Version'] == '7.0.6.0' and p['Status'] == 'Active' for p in installed):
if any(p['Name'] == 'Enigma2' and p['Version'] == '7.0.7.0' and p['Status'] == 'Active' for p in installed):
break
except (urllib.error.URLError, TimeoutError):
pass
if time.monotonic() >= deadline:
raise RuntimeError('Jellyfin did not load the deployed plugin within 45 seconds; backup: ' + str(backup))
time.sleep(1)
print(json.dumps({'plugin': '7.0.6.0', 'backup': str(backup), 'ready': True, 'server_configuration_and_wrappers_unchanged': True}))
print(json.dumps({'plugin': '7.0.7.0', 'backup': str(backup), 'ready': True, 'server_configuration_and_wrappers_unchanged': True}))
+53
View File
@@ -0,0 +1,53 @@
{
"input": "enigma-diagnostics/jellyfin-decoder-plugin/reception-trial-20261012.json",
"plugin": "7.0.6.0",
"isolated_bridge_override": false,
"channel": "TVP 1 HD",
"first_video_utc": "2026-10-12T21:31:43.759Z",
"finished_utc": "2026-10-12T21:47:13.009Z",
"transport_checks": {
"pass": 15,
"fail": 0,
"unverified": 0
},
"viewers": [
{
"viewer": 1,
"sampled_seconds": 894.873,
"media_progress_seconds": 713.581,
"realtime_ratio": 0.797,
"total_frame_delta": 35672,
"dropped_frame_delta": 19069,
"dropped_fraction": 0.535,
"approximate_presented_fps": 18.553,
"waiting_events": 188,
"waiting_seconds": 181.144,
"waiting_median_seconds": 0.957,
"waiting_max_seconds": 1.784,
"waiting_unmatched": 0,
"minimum_buffer_seconds": 2.624,
"audio_decoded_byte_delta": 23068427,
"status": "CLIENT_NOT_SMOOTH",
"scope": "Headless test client only. Frame presentation is approximated; audible sound and other devices are not verified."
},
{
"viewer": 2,
"sampled_seconds": 281.009,
"media_progress_seconds": 215.712,
"realtime_ratio": 0.768,
"total_frame_delta": 10762,
"dropped_frame_delta": 6022,
"dropped_fraction": 0.56,
"approximate_presented_fps": 16.868,
"waiting_events": 59,
"waiting_seconds": 65.198,
"waiting_median_seconds": 1.177,
"waiting_max_seconds": 1.757,
"waiting_unmatched": 0,
"minimum_buffer_seconds": 4.71,
"audio_decoded_byte_delta": 6973189,
"status": "CLIENT_NOT_SMOOTH",
"scope": "Headless test client only. Frame presentation is approximated; audible sound and other devices are not verified."
}
]
}
File diff suppressed because it is too large Load Diff
+269
View File
@@ -0,0 +1,269 @@
{"utc":"2026-10-12T21:31:30.448Z","type":"server","label":"before","elapsed":null,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":17,"ActiveSources":0,"Consumers":0,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":null,"transcoding":{"VideoCodec":null,"AudioCodec":null,"IsVideoDirect":null,"IsAudioDirect":null,"Framerate":null,"TranscodeReasons":null}},{"user":"decoder-reception-0703d0b0","channel":null,"transcoding":{"VideoCodec":null,"AudioCodec":null,"IsVideoDirect":null,"IsAudioDirect":null,"Framerate":null,"TranscodeReasons":null}}],"receiver":{"status":200,"jellyfin_channel_rows":0,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"}],"channel_matches":1}}
{"utc":"2026-10-12T21:31:43.758Z","type":"check","name":"viewer 1 one-click decoded start","status":"PASS","evidence":{"seconds":13.31}}
{"utc":"2026-10-12T21:31:45.664Z","type":"server","label":"primary-started","elapsed":1.91,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":66,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:31:45.670Z","type":"video","viewer":1,"elapsed":1.91,"video":{"time":1.948837,"frames":5,"dropped":0,"audio_bytes":73460,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.000122},"events":[{"type":"waiting","at":1791840698378,"time":0,"error":null},{"type":"playing","at":1791840703648,"time":0,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:31:50.675Z","type":"video","viewer":1,"elapsed":6.92,"video":{"time":5.954098,"frames":199,"dropped":105,"audio_bytes":202151,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.994861},"events":[{"type":"waiting","at":1791840709122,"time":5.4,"error":null},{"type":"playing","at":1791840710053,"time":5.4,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:31:55.692Z","type":"video","viewer":1,"elapsed":11.93,"video":{"time":10.128179,"frames":397,"dropped":213,"audio_bytes":337326,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.820779999999999},"events":[{"type":"waiting","at":1791840713637,"time":8.916161,"error":null},{"type":"playing","at":1791840714481,"time":8.980248,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:00.695Z","type":"video","viewer":1,"elapsed":16.94,"video":{"time":14.154475,"frames":609,"dropped":311,"audio_bytes":467113,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.794483999999999},"events":[{"type":"waiting","at":1791840717954,"time":12.392476,"error":null},{"type":"playing","at":1791840718935,"time":12.46,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:05.710Z","type":"video","viewer":1,"elapsed":21.95,"video":{"time":19.048178,"frames":864,"dropped":396,"audio_bytes":625825,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.9007809999999985},"events":[{"type":"waiting","at":1791840723856,"time":17.315117,"error":null},{"type":"playing","at":1791840723971,"time":17.38,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:10.714Z","type":"video","viewer":1,"elapsed":26.96,"video":{"time":23.912905,"frames":1107,"dropped":480,"audio_bytes":782936,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.036054},"events":[{"type":"waiting","at":1791840730337,"time":23.676054,"error":null},{"type":"playing","at":1791840730477,"time":23.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:15.722Z","type":"video","viewer":1,"elapsed":31.96,"video":{"time":28.720021,"frames":1321,"dropped":555,"audio_bytes":938165,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.228938000000003},"events":[{"type":"waiting","at":1791840735521,"time":28.720021,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:17.487Z","type":"server","label":"periodic","elapsed":33.73,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":52,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:32:22.506Z","type":"video","viewer":1,"elapsed":38.75,"video":{"time":34.244548,"frames":1611,"dropped":697,"audio_bytes":1117453,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.704411},"events":[{"type":"playing","at":1791840736100,"time":28.78,"error":null},{"type":"waiting","at":1791840740553,"time":33.151318,"error":null},{"type":"playing","at":1791840741413,"time":33.22,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:27.509Z","type":"video","viewer":1,"elapsed":43.75,"video":{"time":38.689258,"frames":1846,"dropped":780,"audio_bytes":1260866,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.259701},"events":[{"type":"waiting","at":1791840745136,"time":36.875998,"error":null},{"type":"playing","at":1791840745696,"time":36.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:32.519Z","type":"video","viewer":1,"elapsed":48.76,"video":{"time":43.481305,"frames":2047,"dropped":845,"audio_bytes":1416252,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.467654000000003},"events":[{"type":"waiting","at":1791840752302,"time":43.481305,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:37.523Z","type":"video","viewer":1,"elapsed":53.76,"video":{"time":46.959019,"frames":2233,"dropped":958,"audio_bytes":1527708,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.989940000000004},"events":[{"type":"playing","at":1791840753444,"time":43.56,"error":null},{"type":"waiting","at":1791840756919,"time":46.959019,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:42.531Z","type":"video","viewer":1,"elapsed":58.77,"video":{"time":50.433053,"frames":2419,"dropped":1069,"audio_bytes":1640382,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.515906000000001},"events":[{"type":"playing","at":1791840758164,"time":47.02,"error":null},{"type":"waiting","at":1791840761653,"time":50.433053,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:47.544Z","type":"video","viewer":1,"elapsed":63.79,"video":{"time":54.044753,"frames":2607,"dropped":1180,"audio_bytes":1757427,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.904206000000002},"events":[{"type":"playing","at":1791840762808,"time":50.5,"error":null},{"type":"waiting","at":1791840766390,"time":54,"error":null},{"type":"playing","at":1791840767423,"time":54,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:49.378Z","type":"server","label":"periodic","elapsed":65.62,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:32:54.426Z","type":"video","viewer":1,"elapsed":70.67,"video":{"time":59.904208,"frames":2875,"dropped":1317,"audio_bytes":1946422,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.044751000000005},"events":[{"type":"waiting","at":1791840771268,"time":57.767087,"error":null},{"type":"playing","at":1791840772243,"time":57.84,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:32:59.443Z","type":"video","viewer":1,"elapsed":75.68,"video":{"time":63.902455,"frames":3079,"dropped":1435,"audio_bytes":2075897,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.046503999999999},"events":[{"type":"waiting","at":1791840775719,"time":61.237264,"error":null},{"type":"playing","at":1791840776761,"time":61.3,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:04.447Z","type":"video","viewer":1,"elapsed":80.69,"video":{"time":68.193163,"frames":3285,"dropped":1550,"audio_bytes":2214578,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.755796000000004},"events":[{"type":"waiting","at":1791840780384,"time":64.844091,"error":null},{"type":"playing","at":1791840781086,"time":64.92,"error":null},{"type":"waiting","at":1791840784433,"time":68.193163,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:09.461Z","type":"video","viewer":1,"elapsed":85.7,"video":{"time":72,"frames":3487,"dropped":1669,"audio_bytes":2335352,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.948959000000002},"events":[{"type":"playing","at":1791840785204,"time":68.26,"error":null},{"type":"waiting","at":1791840789027,"time":72,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:14.469Z","type":"video","viewer":1,"elapsed":90.71,"video":{"time":75.588439,"frames":3685,"dropped":1787,"audio_bytes":2453364,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.360520000000008},"events":[{"type":"playing","at":1791840789855,"time":72,"error":null},{"type":"waiting","at":1791840793316,"time":75.396042,"error":null},{"type":"playing","at":1791840794276,"time":75.46,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:19.474Z","type":"video","viewer":1,"elapsed":95.72,"video":{"time":79.73421,"frames":3889,"dropped":1889,"audio_bytes":2587425,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.214748999999998},"events":[{"type":"waiting","at":1791840797750,"time":78.869218,"error":null},{"type":"playing","at":1791840798608,"time":78.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:21.202Z","type":"server","label":"periodic","elapsed":97.44,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:33:26.218Z","type":"video","viewer":1,"elapsed":102.46,"video":{"time":85.818468,"frames":4185,"dropped":2040,"audio_bytes":2783727,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.130491000000006},"events":[{"type":"waiting","at":1791840802585,"time":82.844938,"error":null},{"type":"playing","at":1791840803245,"time":82.92,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:31.223Z","type":"video","viewer":1,"elapsed":107.47,"video":{"time":89.843655,"frames":4371,"dropped":2148,"audio_bytes":2914820,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.105304000000004},"events":[{"type":"waiting","at":1791840808166,"time":87.766127,"error":null},{"type":"playing","at":1791840809155,"time":87.84,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:36.228Z","type":"video","viewer":1,"elapsed":112.47,"video":{"time":93.727554,"frames":4569,"dropped":2259,"audio_bytes":3040386,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.221405000000004},"events":[{"type":"waiting","at":1791840812499,"time":91.120038,"error":null},{"type":"playing","at":1791840813616,"time":91.18,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:41.234Z","type":"video","viewer":1,"elapsed":117.48,"video":{"time":97.81394,"frames":4759,"dropped":2366,"audio_bytes":3172012,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.135019},"events":[{"type":"waiting","at":1791840817216,"time":94.715985,"error":null},{"type":"playing","at":1791840818124,"time":94.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:46.239Z","type":"video","viewer":1,"elapsed":122.48,"video":{"time":101.56998,"frames":4951,"dropped":2483,"audio_bytes":3293420,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.378979000000001},"events":[{"type":"waiting","at":1791840821482,"time":98.062081,"error":null},{"type":"playing","at":1791840822660,"time":98.140419,"error":null},{"type":"waiting","at":1791840826149,"time":101.56998,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:51.256Z","type":"video","viewer":1,"elapsed":127.5,"video":{"time":105.165133,"frames":5161,"dropped":2614,"audio_bytes":3409835,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.783826000000005},"events":[{"type":"playing","at":1791840827073,"time":101.64,"error":null},{"type":"waiting","at":1791840830664,"time":105.165133,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:33:52.923Z","type":"server","label":"periodic","elapsed":129.17,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:33:57.946Z","type":"video","viewer":1,"elapsed":134.19,"video":{"time":111.105629,"frames":5445,"dropped":2749,"audio_bytes":3601558,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.843330000000009},"events":[{"type":"playing","at":1791840831343,"time":105.24,"error":null},{"type":"waiting","at":1791840835664,"time":109.485019,"error":null},{"type":"playing","at":1791840836331,"time":109.56,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:02.964Z","type":"video","viewer":1,"elapsed":139.21,"video":{"time":115.143543,"frames":5647,"dropped":2865,"audio_bytes":3732573,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.805416000000008},"events":[{"type":"waiting","at":1791840839798,"time":112.958272,"error":null},{"type":"playing","at":1791840840765,"time":113.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:07.967Z","type":"video","viewer":1,"elapsed":144.21,"video":{"time":119.387752,"frames":5850,"dropped":2979,"audio_bytes":3869879,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.561206999999996},"events":[{"type":"waiting","at":1791840844264,"time":116.445081,"error":null},{"type":"playing","at":1791840845035,"time":116.52,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:12.982Z","type":"video","viewer":1,"elapsed":149.22,"video":{"time":123.047209,"frames":6049,"dropped":3106,"audio_bytes":3987801,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.901750000000007},"events":[{"type":"waiting","at":1791840848382,"time":119.802075,"error":null},{"type":"playing","at":1791840849122,"time":119.88,"error":null},{"type":"waiting","at":1791840852367,"time":123.047209,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:17.988Z","type":"video","viewer":1,"elapsed":154.23,"video":{"time":127.227558,"frames":6265,"dropped":3217,"audio_bytes":4123082,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.721401},"events":[{"type":"playing","at":1791840853205,"time":123.12,"error":null},{"type":"waiting","at":1791840857164,"time":127.004027,"error":null},{"type":"playing","at":1791840857777,"time":127.08,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:22.993Z","type":"video","viewer":1,"elapsed":159.24,"video":{"time":131.454148,"frames":6465,"dropped":3325,"audio_bytes":4259499,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.494810999999999},"events":[{"type":"waiting","at":1791840861246,"time":130.486014,"error":null},{"type":"playing","at":1791840862022,"time":130.56,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:24.655Z","type":"server","label":"periodic","elapsed":160.9,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:34:29.670Z","type":"video","viewer":1,"elapsed":165.91,"video":{"time":137.010389,"frames":6721,"dropped":3467,"audio_bytes":4439000,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.938569999999999},"events":[{"type":"waiting","at":1791840865479,"time":133.940242,"error":null},{"type":"playing","at":1791840866590,"time":134,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:34.678Z","type":"video","viewer":1,"elapsed":170.92,"video":{"time":140.796995,"frames":6909,"dropped":3579,"audio_bytes":4561609,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.151963999999992},"events":[{"type":"waiting","at":1791840870096,"time":137.437229,"error":null},{"type":"playing","at":1791840871238,"time":137.5,"error":null},{"type":"waiting","at":1791840874597,"time":140.796995,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:39.685Z","type":"video","viewer":1,"elapsed":175.93,"video":{"time":144.286273,"frames":7105,"dropped":3698,"audio_bytes":4674891,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.662686000000008},"events":[{"type":"playing","at":1791840875643,"time":140.86,"error":null},{"type":"waiting","at":1791840879146,"time":144.286273,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:44.694Z","type":"video","viewer":1,"elapsed":180.94,"video":{"time":147.995561,"frames":7303,"dropped":3815,"audio_bytes":4794014,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.953397999999993},"events":[{"type":"playing","at":1791840880053,"time":144.36,"error":null},{"type":"waiting","at":1791840883513,"time":147.754021,"error":null},{"type":"playing","at":1791840884452,"time":147.82,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:49.701Z","type":"video","viewer":1,"elapsed":185.94,"video":{"time":152.080896,"frames":7501,"dropped":3919,"audio_bytes":4926436,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.8680630000000065},"events":[{"type":"waiting","at":1791840888179,"time":151.48107,"error":null},{"type":"playing","at":1791840889107,"time":151.56,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:54.710Z","type":"video","viewer":1,"elapsed":190.95,"video":{"time":156.070451,"frames":7693,"dropped":4032,"audio_bytes":5055433,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.878508000000011},"events":[{"type":"waiting","at":1791840892462,"time":154.843028,"error":null},{"type":"playing","at":1791840893492,"time":154.92,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:34:56.392Z","type":"server","label":"periodic","elapsed":192.64,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:35:01.396Z","type":"video","viewer":1,"elapsed":197.64,"video":{"time":161.735151,"frames":7979,"dropped":4182,"audio_bytes":5238289,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.213808},"events":[{"type":"waiting","at":1791840896845,"time":158.205111,"error":null},{"type":"playing","at":1791840897873,"time":158.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:06.411Z","type":"video","viewer":1,"elapsed":202.65,"video":{"time":166.490844,"frames":8236,"dropped":4238,"audio_bytes":5391925,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.458114999999992},"events":[{"type":"waiting","at":1791840901693,"time":161.98,"error":null},{"type":"playing","at":1791840901838,"time":161.98,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:11.419Z","type":"video","viewer":1,"elapsed":207.66,"video":{"time":171.500123,"frames":8481,"dropped":4238,"audio_bytes":5554136,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.448836},"events":[],"route":"#/video"}
{"utc":"2026-10-12T21:35:16.426Z","type":"video","viewer":1,"elapsed":212.67,"video":{"time":176.508075,"frames":8721,"dropped":4267,"audio_bytes":5716067,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.440884000000011},"events":[],"route":"#/video"}
{"utc":"2026-10-12T21:35:21.439Z","type":"video","viewer":1,"elapsed":217.68,"video":{"time":181.119771,"frames":8955,"dropped":4345,"audio_bytes":5864999,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.829188000000016},"events":[{"type":"waiting","at":1791840918528,"time":178.609578,"error":null},{"type":"playing","at":1791840919049,"time":178.731161,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:26.442Z","type":"video","viewer":1,"elapsed":222.69,"video":{"time":185.344288,"frames":9163,"dropped":4456,"audio_bytes":6001654,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.604670999999996},"events":[{"type":"waiting","at":1791840924193,"time":183.875246,"error":null},{"type":"playing","at":1791840924972,"time":183.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:28.261Z","type":"server","label":"periodic","elapsed":224.5,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:35:33.270Z","type":"video","viewer":1,"elapsed":229.51,"video":{"time":191.445165,"frames":9465,"dropped":4621,"audio_bytes":6198854,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.503793999999999},"events":[{"type":"waiting","at":1791840928578,"time":187.478955,"error":null},{"type":"playing","at":1791840929064,"time":187.54,"error":null},{"type":"waiting","at":1791840933043,"time":191.445165,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:38.277Z","type":"video","viewer":1,"elapsed":234.52,"video":{"time":196.179026,"frames":9703,"dropped":4706,"audio_bytes":6351892,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":3.769933000000009},"events":[{"type":"playing","at":1791840933544,"time":191.52,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:43.284Z","type":"video","viewer":1,"elapsed":239.53,"video":{"time":199.925734,"frames":9891,"dropped":4815,"audio_bytes":6473393,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.0232249999999965},"events":[{"type":"waiting","at":1791840940611,"time":198.511276,"error":null},{"type":"playing","at":1791840941863,"time":198.58,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:48.288Z","type":"video","viewer":1,"elapsed":244.53,"video":{"time":203.970055,"frames":10083,"dropped":4925,"audio_bytes":6603746,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.978904},"events":[{"type":"waiting","at":1791840945476,"time":202.117009,"error":null},{"type":"playing","at":1791840946428,"time":202.18,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:53.300Z","type":"video","viewer":1,"elapsed":249.54,"video":{"time":208.042845,"frames":10279,"dropped":5035,"audio_bytes":6735545,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.906114000000002},"events":[{"type":"waiting","at":1791840949911,"time":205.592012,"error":null},{"type":"playing","at":1791840950839,"time":205.66,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:35:58.306Z","type":"video","viewer":1,"elapsed":254.55,"video":{"time":211.828764,"frames":10477,"dropped":5152,"audio_bytes":6858266,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.120194999999995},"events":[{"type":"waiting","at":1791840954343,"time":209.084115,"error":null},{"type":"playing","at":1791840955662,"time":209.183042,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:00.030Z","type":"server","label":"periodic","elapsed":256.27,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:36:05.038Z","type":"video","viewer":1,"elapsed":261.28,"video":{"time":217.380404,"frames":10767,"dropped":5303,"audio_bytes":7037471,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":3.5685550000000035},"events":[{"type":"waiting","at":1791840958925,"time":212.446342,"error":null},{"type":"playing","at":1791840959511,"time":212.52,"error":null},{"type":"waiting","at":1791840963460,"time":216.402034,"error":null},{"type":"playing","at":1791840964073,"time":216.48,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:10.041Z","type":"video","viewer":1,"elapsed":266.29,"video":{"time":221.784277,"frames":10983,"dropped":5419,"audio_bytes":7180261,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.164681999999999},"events":[{"type":"waiting","at":1791840967658,"time":220.000157,"error":null},{"type":"playing","at":1791840968364,"time":220.105617,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:15.061Z","type":"video","viewer":1,"elapsed":271.31,"video":{"time":226.121461,"frames":11193,"dropped":5531,"audio_bytes":7320261,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.827497999999991},"events":[{"type":"waiting","at":1791840972209,"time":223.949367,"error":null},{"type":"playing","at":1791840972885,"time":224.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:20.066Z","type":"video","viewer":1,"elapsed":276.31,"video":{"time":230.366666,"frames":11407,"dropped":5641,"audio_bytes":7457530,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.582292999999993},"events":[{"type":"waiting","at":1791840976375,"time":227.436026,"error":null},{"type":"playing","at":1791840977119,"time":227.5,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:25.076Z","type":"video","viewer":1,"elapsed":281.32,"video":{"time":234.777645,"frames":11631,"dropped":5725,"audio_bytes":7599689,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.171313999999995},"events":[{"type":"waiting","at":1791840980858,"time":231.158236,"error":null},{"type":"playing","at":1791840981450,"time":231.22,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:30.089Z","type":"video","viewer":1,"elapsed":286.33,"video":{"time":239.031434,"frames":11833,"dropped":5836,"audio_bytes":7737473,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.917525000000012},"events":[{"type":"waiting","at":1791840986508,"time":236.208326,"error":null},{"type":"playing","at":1791840987274,"time":236.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:31.526Z","type":"server","label":"periodic","elapsed":287.77,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:36:36.538Z","type":"video","viewer":1,"elapsed":292.78,"video":{"time":244.140465,"frames":12109,"dropped":5984,"audio_bytes":7902389,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.808493999999996},"events":[{"type":"waiting","at":1791840990624,"time":239.566577,"error":null},{"type":"playing","at":1791840991281,"time":239.64,"error":null},{"type":"waiting","at":1791840994641,"time":242.923045,"error":null},{"type":"playing","at":1791840995322,"time":243,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:41.542Z","type":"video","viewer":1,"elapsed":297.79,"video":{"time":248.325224,"frames":12311,"dropped":6097,"audio_bytes":8038273,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":2.6237350000000106},"events":[{"type":"waiting","at":1791840999390,"time":246.992337,"error":null},{"type":"playing","at":1791841000202,"time":247.06,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:58.188Z","type":"check","name":"viewer 2 one-click decoded start","status":"PASS","evidence":{"seconds":11.64}}
{"utc":"2026-10-12T21:36:59.829Z","type":"server","label":"secondary-joined","elapsed":316.07,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":64,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:36:59.834Z","type":"video","viewer":1,"elapsed":316.08,"video":{"time":262.296382,"frames":12997,"dropped":6504,"audio_bytes":8489364,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.652577000000008},"events":[{"type":"waiting","at":1791841003707,"time":250.489027,"error":null},{"type":"playing","at":1791841004643,"time":250.566835,"error":null},{"type":"waiting","at":1791841007823,"time":253.706082,"error":null},{"type":"playing","at":1791841009020,"time":253.78,"error":null},{"type":"waiting","at":1791841012389,"time":257.069997,"error":null},{"type":"playing","at":1791841013431,"time":257.14,"error":null},{"type":"waiting","at":1791841017039,"time":260.682274,"error":null},{"type":"playing","at":1791841018239,"time":260.760867,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:36:59.842Z","type":"video","viewer":2,"elapsed":316.09,"video":{"time":1.61659,"frames":9,"dropped":0,"audio_bytes":62251,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.9163689999999995},"events":[{"type":"waiting","at":1791841012790,"time":0,"error":null},{"type":"playing","at":1791841018154,"time":0,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:04.848Z","type":"video","viewer":1,"elapsed":321.09,"video":{"time":265.789598,"frames":13173,"dropped":6611,"audio_bytes":8602213,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.15936099999999},"events":[{"type":"waiting","at":1791841021456,"time":263.919035,"error":null},{"type":"playing","at":1791841022957,"time":263.98,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:04.851Z","type":"video","viewer":2,"elapsed":321.1,"video":{"time":5.025659,"frames":177,"dropped":108,"audio_bytes":172574,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.5073},"events":[{"type":"waiting","at":1791841023208,"time":4.96,"error":null},{"type":"playing","at":1791841024710,"time":4.96,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:06.443Z","type":"server","label":"periodic","elapsed":322.69,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":56,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:37:11.455Z","type":"video","viewer":1,"elapsed":327.7,"video":{"time":270.639061,"frames":13407,"dropped":6753,"audio_bytes":8758859,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.309897999999976},"events":[{"type":"waiting","at":1791841026339,"time":267.281371,"error":null},{"type":"playing","at":1791841027599,"time":267.36,"error":null},{"type":"waiting","at":1791841030957,"time":270.639061,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:11.461Z","type":"video","viewer":2,"elapsed":327.71,"video":{"time":10.334364,"frames":415,"dropped":243,"audio_bytes":343456,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.198595000000001},"events":[{"type":"waiting","at":1791841028097,"time":8.273044,"error":null},{"type":"playing","at":1791841029393,"time":8.34,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:16.464Z","type":"video","viewer":1,"elapsed":332.71,"video":{"time":274.003069,"frames":13593,"dropped":6870,"audio_bytes":8867954,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.94589000000002},"events":[{"type":"playing","at":1791841032339,"time":270.7,"error":null},{"type":"waiting","at":1791841035722,"time":274.003069,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:16.468Z","type":"video","viewer":2,"elapsed":332.71,"video":{"time":14.002676,"frames":597,"dropped":355,"audio_bytes":462854,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.5302830000000025},"events":[{"type":"waiting","at":1791841032766,"time":11.640313,"error":null},{"type":"playing","at":1791841034112,"time":11.72,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:21.476Z","type":"video","viewer":1,"elapsed":337.72,"video":{"time":277.497558,"frames":13779,"dropped":6987,"audio_bytes":8980367,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.451400999999976},"events":[{"type":"playing","at":1791841036827,"time":274.08,"error":null},{"type":"waiting","at":1791841040189,"time":277.371134,"error":null},{"type":"playing","at":1791841041353,"time":277.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:21.479Z","type":"video","viewer":2,"elapsed":337.72,"video":{"time":17.634284,"frames":777,"dropped":462,"audio_bytes":580180,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.898675000000001},"events":[{"type":"waiting","at":1791841037457,"time":14.992062,"error":null},{"type":"playing","at":1791841038830,"time":15.06,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:26.486Z","type":"video","viewer":1,"elapsed":342.73,"video":{"time":281.487332,"frames":13971,"dropped":7098,"audio_bytes":9110404,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.461627000000021},"events":[{"type":"waiting","at":1791841044821,"time":280.842894,"error":null},{"type":"playing","at":1791841045842,"time":280.92,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:26.490Z","type":"video","viewer":2,"elapsed":342.73,"video":{"time":21.543456,"frames":961,"dropped":568,"audio_bytes":706403,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.989503000000003},"events":[{"type":"waiting","at":1791841042188,"time":18.34209,"error":null},{"type":"playing","at":1791841043298,"time":18.42,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:31.499Z","type":"video","viewer":1,"elapsed":347.74,"video":{"time":285.462528,"frames":14167,"dropped":7216,"audio_bytes":9238942,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.486430999999982},"events":[{"type":"waiting","at":1791841049205,"time":284.20719,"error":null},{"type":"playing","at":1791841050248,"time":284.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:31.503Z","type":"video","viewer":2,"elapsed":347.75,"video":{"time":25.057039,"frames":1143,"dropped":684,"audio_bytes":819519,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.475920000000002},"events":[{"type":"waiting","at":1791841046771,"time":21.82656,"error":null},{"type":"playing","at":1791841047988,"time":21.9,"error":null},{"type":"waiting","at":1791841051221,"time":25.057039,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:36.512Z","type":"video","viewer":1,"elapsed":352.76,"video":{"time":289.392882,"frames":14359,"dropped":7329,"audio_bytes":9364984,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.556077000000016},"events":[{"type":"waiting","at":1791841053720,"time":287.68309,"error":null},{"type":"playing","at":1791841054808,"time":287.76,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:36.515Z","type":"video","viewer":2,"elapsed":352.76,"video":{"time":28.422046,"frames":1325,"dropped":801,"audio_bytes":929161,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.1109129999999965},"events":[{"type":"playing","at":1791841052505,"time":25.12,"error":null},{"type":"waiting","at":1791841055887,"time":28.422046,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:38.147Z","type":"server","label":"periodic","elapsed":354.39,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":52,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:37:43.163Z","type":"video","viewer":1,"elapsed":359.41,"video":{"time":294.651048,"frames":14603,"dropped":7469,"audio_bytes":9535332,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.297910999999999},"events":[{"type":"waiting","at":1791841058271,"time":291.153412,"error":null},{"type":"playing","at":1791841059481,"time":291.22,"error":null},{"type":"waiting","at":1791841062988,"time":294.651048,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:43.167Z","type":"video","viewer":2,"elapsed":359.41,"video":{"time":33.202975,"frames":1567,"dropped":953,"audio_bytes":1083467,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.329983999999996},"events":[{"type":"playing","at":1791841057213,"time":28.5,"error":null},{"type":"waiting","at":1791841060455,"time":31.671036,"error":null},{"type":"playing","at":1791841061632,"time":31.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:48.175Z","type":"video","viewer":1,"elapsed":364.42,"video":{"time":298.027745,"frames":14803,"dropped":7599,"audio_bytes":9643293,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.92121400000002},"events":[{"type":"playing","at":1791841064112,"time":294.72,"error":null},{"type":"waiting","at":1791841067486,"time":298.027745,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:48.179Z","type":"video","viewer":2,"elapsed":364.42,"video":{"time":37.295168,"frames":1777,"dropped":1071,"audio_bytes":1215549,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.237791000000001},"events":[{"type":"waiting","at":1791841064872,"time":34.907004,"error":null},{"type":"playing","at":1791841065914,"time":35.02974,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:53.182Z","type":"video","viewer":1,"elapsed":369.43,"video":{"time":301.805681,"frames":14995,"dropped":7706,"audio_bytes":9766673,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.143278000000009},"events":[{"type":"playing","at":1791841068285,"time":298.06,"error":null},{"type":"waiting","at":1791841071772,"time":301.474059,"error":null},{"type":"playing","at":1791841072845,"time":301.54,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:53.198Z","type":"video","viewer":2,"elapsed":369.44,"video":{"time":41.653114,"frames":1995,"dropped":1188,"audio_bytes":1356077,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.879844999999996},"events":[{"type":"waiting","at":1791841069270,"time":38.384496,"error":null},{"type":"playing","at":1791841069927,"time":38.46,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:58.206Z","type":"video","viewer":1,"elapsed":374.45,"video":{"time":305.82949,"frames":15185,"dropped":7814,"audio_bytes":9896717,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.119468999999981},"events":[{"type":"waiting","at":1791841076319,"time":304.941296,"error":null},{"type":"playing","at":1791841077334,"time":305.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:37:58.209Z","type":"video","viewer":2,"elapsed":374.45,"video":{"time":46.188974,"frames":2219,"dropped":1306,"audio_bytes":1502891,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.343984999999996},"events":[{"type":"waiting","at":1791841073771,"time":42.225992,"error":null},{"type":"playing","at":1791841074127,"time":42.3,"error":null},{"type":"waiting","at":1791841078094,"time":46.188974,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:03.223Z","type":"video","viewer":1,"elapsed":379.47,"video":{"time":309.6065,"frames":15373,"dropped":7927,"audio_bytes":10018801,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.342459000000019},"events":[{"type":"waiting","at":1791841080702,"time":308.325208,"error":null},{"type":"playing","at":1791841081956,"time":308.4,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:03.302Z","type":"video","viewer":2,"elapsed":379.55,"video":{"time":50.276181,"frames":2437,"dropped":1420,"audio_bytes":1635339,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.256777999999997},"events":[{"type":"playing","at":1791841078673,"time":46.26,"error":null},{"type":"waiting","at":1791841082154,"time":49.670023,"error":null},{"type":"playing","at":1791841082695,"time":49.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:08.305Z","type":"video","viewer":1,"elapsed":384.55,"video":{"time":314.688824,"frames":15595,"dropped":7995,"audio_bytes":10183214,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.260134999999991},"events":[],"route":"#/video"}
{"utc":"2026-10-12T21:38:08.308Z","type":"video","viewer":2,"elapsed":384.55,"video":{"time":54.544134,"frames":2649,"dropped":1522,"audio_bytes":1773343,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.9888249999999985},"events":[{"type":"waiting","at":1791841086403,"time":53.377183,"error":null},{"type":"playing","at":1791841087143,"time":53.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:10.033Z","type":"server","label":"periodic","elapsed":386.28,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:38:15.047Z","type":"video","viewer":1,"elapsed":391.29,"video":{"time":318.53098,"frames":15829,"dropped":8153,"audio_bytes":10307221,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.4179790000000025},"events":[{"type":"waiting","at":1791841088402,"time":314.785191,"error":null},{"type":"playing","at":1791841089831,"time":314.86,"error":null},{"type":"waiting","at":1791841093349,"time":318.311519,"error":null},{"type":"playing","at":1791841094815,"time":318.36,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:15.051Z","type":"video","viewer":2,"elapsed":391.3,"video":{"time":60.726496,"frames":2943,"dropped":1676,"audio_bytes":1973308,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.806463000000008},"events":[{"type":"waiting","at":1791841091354,"time":57.589026,"error":null},{"type":"playing","at":1791841091910,"time":57.66,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:20.057Z","type":"video","viewer":1,"elapsed":396.3,"video":{"time":322.200293,"frames":16007,"dropped":8263,"audio_bytes":10426004,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.748666000000014},"events":[{"type":"waiting","at":1791841098150,"time":321.634384,"error":null},{"type":"playing","at":1791841099492,"time":321.7,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:20.061Z","type":"video","viewer":2,"elapsed":396.31,"video":{"time":64.876706,"frames":3169,"dropped":1806,"audio_bytes":2104931,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.656253000000007},"events":[{"type":"waiting","at":1791841095636,"time":61.312144,"error":null},{"type":"playing","at":1791841096167,"time":61.38,"error":null},{"type":"waiting","at":1791841099656,"time":64.791171,"error":null},{"type":"playing","at":1791841100035,"time":64.86,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:25.074Z","type":"video","viewer":1,"elapsed":401.32,"video":{"time":325.717561,"frames":16181,"dropped":8371,"audio_bytes":10539687,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.231398000000013},"events":[{"type":"waiting","at":1791841102734,"time":324.877031,"error":null},{"type":"playing","at":1791841104233,"time":324.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:25.078Z","type":"video","viewer":2,"elapsed":401.32,"video":{"time":69.234001,"frames":3385,"dropped":1907,"audio_bytes":2248105,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.298957999999999},"events":[{"type":"waiting","at":1791841104365,"time":69.06,"error":null},{"type":"playing","at":1791841104841,"time":69.06,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:30.081Z","type":"video","viewer":1,"elapsed":406.33,"video":{"time":329.323043,"frames":16357,"dropped":8480,"audio_bytes":10656237,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.625916000000018},"events":[{"type":"waiting","at":1791841107469,"time":328.111427,"error":null},{"type":"playing","at":1791841108862,"time":328.18,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:30.085Z","type":"video","viewer":2,"elapsed":406.33,"video":{"time":73.400632,"frames":3595,"dropped":2005,"audio_bytes":2382799,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.132327000000004},"events":[{"type":"waiting","at":1791841108119,"time":72.273853,"error":null},{"type":"playing","at":1791841108953,"time":72.34,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:35.088Z","type":"video","viewer":1,"elapsed":411.33,"video":{"time":332.871413,"frames":16527,"dropped":8588,"audio_bytes":10770658,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.077545999999984},"events":[{"type":"waiting","at":1791841112234,"time":331.477099,"error":null},{"type":"playing","at":1791841113687,"time":331.54,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:35.092Z","type":"video","viewer":2,"elapsed":411.34,"video":{"time":77.017235,"frames":3765,"dropped":2099,"audio_bytes":2499575,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.515724000000006},"events":[{"type":"waiting","at":1791841113700,"time":77.017235,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:40.094Z","type":"video","viewer":1,"elapsed":416.34,"video":{"time":336.277435,"frames":16695,"dropped":8695,"audio_bytes":10881157,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.671523999999977},"events":[{"type":"waiting","at":1791841116917,"time":334.700304,"error":null},{"type":"playing","at":1791841118525,"time":334.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:40.099Z","type":"video","viewer":2,"elapsed":416.34,"video":{"time":80.373554,"frames":3939,"dropped":2211,"audio_bytes":2607803,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.159405000000007},"events":[{"type":"playing","at":1791841115457,"time":77.08,"error":null},{"type":"waiting","at":1791841118817,"time":80.373554,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:41.763Z","type":"server","label":"periodic","elapsed":418.01,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:38:46.770Z","type":"video","viewer":1,"elapsed":423.02,"video":{"time":341.195036,"frames":16925,"dropped":8836,"audio_bytes":11039547,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.753922999999986},"events":[{"type":"waiting","at":1791841121769,"time":337.951864,"error":null},{"type":"playing","at":1791841123315,"time":338.02,"error":null},{"type":"waiting","at":1791841126552,"time":341.195036,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:46.777Z","type":"video","viewer":2,"elapsed":423.02,"video":{"time":85.349283,"frames":4171,"dropped":2351,"audio_bytes":2769161,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.1836760000000055},"events":[{"type":"playing","at":1791841120292,"time":80.44,"error":null},{"type":"waiting","at":1791841123667,"time":83.744082,"error":null},{"type":"playing","at":1791841125181,"time":83.82,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:51.780Z","type":"video","viewer":1,"elapsed":428.02,"video":{"time":344.420229,"frames":17100,"dropped":8950,"audio_bytes":11144364,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.528729999999996},"events":[{"type":"playing","at":1791841128085,"time":341.26,"error":null},{"type":"waiting","at":1791841131317,"time":344.420229,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:51.783Z","type":"video","viewer":2,"elapsed":428.03,"video":{"time":88.878398,"frames":4347,"dropped":2460,"audio_bytes":2882985,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.654561000000001},"events":[{"type":"waiting","at":1791841128400,"time":86.976143,"error":null},{"type":"playing","at":1791841129866,"time":87.04,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:56.787Z","type":"video","viewer":1,"elapsed":433.03,"video":{"time":347.806041,"frames":17283,"dropped":9063,"audio_bytes":11253981,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.142918000000009},"events":[{"type":"playing","at":1791841132618,"time":344.5,"error":null},{"type":"waiting","at":1791841136002,"time":347.806041,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:38:56.790Z","type":"video","viewer":2,"elapsed":433.04,"video":{"time":92.624671,"frames":4525,"dropped":2566,"audio_bytes":3004356,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.908287999999999},"events":[{"type":"waiting","at":1791841133250,"time":90.347183,"error":null},{"type":"playing","at":1791841134522,"time":90.42,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:01.804Z","type":"video","viewer":1,"elapsed":438.05,"video":{"time":351.805948,"frames":17493,"dropped":9177,"audio_bytes":11383276,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.143011000000001},"events":[{"type":"playing","at":1791841137130,"time":347.88,"error":null},{"type":"waiting","at":1791841140601,"time":351.284181,"error":null},{"type":"playing","at":1791841141277,"time":351.36,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:01.810Z","type":"video","viewer":2,"elapsed":438.05,"video":{"time":96.383804,"frames":4715,"dropped":2677,"audio_bytes":3125570,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.1491550000000075},"events":[{"type":"waiting","at":1791841137867,"time":93.703307,"error":null},{"type":"playing","at":1791841139144,"time":93.780028,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:06.815Z","type":"video","viewer":1,"elapsed":443.06,"video":{"time":356.217973,"frames":17711,"dropped":9282,"audio_bytes":11525180,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.73098600000003},"events":[{"type":"waiting","at":1791841145003,"time":355.006064,"error":null},{"type":"playing","at":1791841145601,"time":355.08,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:06.820Z","type":"video","viewer":2,"elapsed":443.06,"video":{"time":100.434917,"frames":4909,"dropped":2786,"audio_bytes":3256728,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.098042000000007},"events":[{"type":"waiting","at":1791841142600,"time":97.175023,"error":null},{"type":"playing","at":1791841143545,"time":97.24,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:11.823Z","type":"video","viewer":1,"elapsed":448.07,"video":{"time":360.666603,"frames":17929,"dropped":9389,"audio_bytes":11669960,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.282355999999993},"events":[{"type":"waiting","at":1791841149683,"time":359.086054,"error":null},{"type":"playing","at":1791841150245,"time":359.16,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:11.827Z","type":"video","viewer":2,"elapsed":448.07,"video":{"time":104.421876,"frames":5103,"dropped":2869,"audio_bytes":3385574,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.111083000000008},"events":[{"type":"waiting","at":1791841146933,"time":100.549795,"error":null},{"type":"playing","at":1791841147962,"time":100.62,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:13.587Z","type":"server","label":"periodic","elapsed":449.83,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":51,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:39:18.593Z","type":"video","viewer":1,"elapsed":454.84,"video":{"time":366.643026,"frames":18211,"dropped":9541,"audio_bytes":11863026,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.305932999999982},"events":[{"type":"waiting","at":1791841154199,"time":363.043103,"error":null},{"type":"playing","at":1791841154899,"time":363.12,"error":null},{"type":"waiting","at":1791841158500,"time":366.643026,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:18.596Z","type":"video","viewer":2,"elapsed":454.84,"video":{"time":108.530923,"frames":5353,"dropped":3038,"audio_bytes":3518310,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.002036000000004},"events":[{"type":"waiting","at":1791841152516,"time":105.111199,"error":null},{"type":"playing","at":1791841154128,"time":105.18,"error":null},{"type":"waiting","at":1791841157484,"time":108.461032,"error":null},{"type":"playing","at":1791841158525,"time":108.52,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:23.603Z","type":"video","viewer":1,"elapsed":459.85,"video":{"time":370.54563,"frames":18433,"dropped":9664,"audio_bytes":11989299,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.403328999999985},"events":[{"type":"playing","at":1791841159214,"time":366.72,"error":null},{"type":"waiting","at":1791841162799,"time":370.242988,"error":null},{"type":"playing","at":1791841163297,"time":370.32,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:23.607Z","type":"video","viewer":2,"elapsed":459.85,"video":{"time":112.461566,"frames":5550,"dropped":3140,"audio_bytes":3645894,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.0713930000000005},"events":[{"type":"waiting","at":1791841162264,"time":112.180068,"error":null},{"type":"playing","at":1791841163305,"time":112.24,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:28.610Z","type":"video","viewer":1,"elapsed":464.86,"video":{"time":374.872635,"frames":18653,"dropped":9762,"audio_bytes":12128679,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.076324},"events":[{"type":"waiting","at":1791841167000,"time":373.944075,"error":null},{"type":"playing","at":1791841167676,"time":374.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:28.614Z","type":"video","viewer":2,"elapsed":464.86,"video":{"time":116.209041,"frames":5731,"dropped":3248,"audio_bytes":3766448,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":8.323918000000006},"events":[{"type":"waiting","at":1791841166815,"time":115.670491,"error":null},{"type":"playing","at":1791841168070,"time":115.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:33.634Z","type":"video","viewer":1,"elapsed":469.88,"video":{"time":379.036595,"frames":18863,"dropped":9865,"audio_bytes":12263037,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.912364000000025},"events":[{"type":"waiting","at":1791841172265,"time":378.529197,"error":null},{"type":"playing","at":1791841173127,"time":378.6,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:33.637Z","type":"video","viewer":2,"elapsed":469.88,"video":{"time":119.972627,"frames":5919,"dropped":3355,"audio_bytes":3888533,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.5603320000000025},"events":[{"type":"waiting","at":1791841171431,"time":119.028802,"error":null},{"type":"playing","at":1791841172698,"time":119.1,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:38.639Z","type":"video","viewer":1,"elapsed":474.89,"video":{"time":383.602058,"frames":19075,"dropped":9951,"audio_bytes":12411625,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.346901000000003},"events":[{"type":"waiting","at":1791841178198,"time":383.602058,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:38.643Z","type":"video","viewer":2,"elapsed":474.89,"video":{"time":124.039331,"frames":6111,"dropped":3462,"audio_bytes":4019566,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.493628000000001},"events":[{"type":"waiting","at":1791841176415,"time":122.75057,"error":null},{"type":"playing","at":1791841177347,"time":122.82,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:43.648Z","type":"video","viewer":1,"elapsed":479.89,"video":{"time":387.390209,"frames":19273,"dropped":10060,"audio_bytes":12533521,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.558749999999975},"events":[{"type":"playing","at":1791841178923,"time":383.68,"error":null},{"type":"waiting","at":1791841182232,"time":386.915082,"error":null},{"type":"playing","at":1791841183166,"time":386.98,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:43.652Z","type":"video","viewer":2,"elapsed":479.9,"video":{"time":127.787644,"frames":6293,"dropped":3574,"audio_bytes":4140899,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.745315000000005},"events":[{"type":"waiting","at":1791841180814,"time":126.210058,"error":null},{"type":"playing","at":1791841182078,"time":126.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:45.586Z","type":"server","label":"periodic","elapsed":481.83,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:39:50.591Z","type":"video","viewer":1,"elapsed":486.84,"video":{"time":392.553685,"frames":19515,"dropped":10194,"audio_bytes":12700280,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.395274000000029},"events":[{"type":"waiting","at":1791841187747,"time":391.491269,"error":null},{"type":"playing","at":1791841189519,"time":391.56,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:50.594Z","type":"video","viewer":2,"elapsed":486.84,"video":{"time":132.700063,"frames":6535,"dropped":3726,"audio_bytes":4299674,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.832896000000005},"events":[{"type":"waiting","at":1791841185330,"time":129.467017,"error":null},{"type":"playing","at":1791841186776,"time":129.54,"error":null},{"type":"waiting","at":1791841190004,"time":132.700063,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:55.598Z","type":"video","viewer":1,"elapsed":491.84,"video":{"time":396.061193,"frames":19687,"dropped":10310,"audio_bytes":12814114,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.887765999999999},"events":[{"type":"waiting","at":1791841192881,"time":394.844035,"error":null},{"type":"playing","at":1791841194394,"time":394.92,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:39:55.601Z","type":"video","viewer":2,"elapsed":491.85,"video":{"time":136.315126,"frames":6705,"dropped":3822,"audio_bytes":4416712,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.217833000000013},"events":[{"type":"playing","at":1791841191567,"time":132.76,"error":null},{"type":"waiting","at":1791841195198,"time":136.315126,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:00.607Z","type":"video","viewer":1,"elapsed":496.85,"video":{"time":399.291009,"frames":19845,"dropped":10415,"audio_bytes":12918421,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.657950000000028},"events":[{"type":"waiting","at":1791841197482,"time":397.94697,"error":null},{"type":"playing","at":1791841199266,"time":398.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:00.610Z","type":"video","viewer":2,"elapsed":496.86,"video":{"time":139.537088,"frames":6883,"dropped":3942,"audio_bytes":4520885,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.995870999999994},"events":[{"type":"playing","at":1791841196558,"time":136.38,"error":null},{"type":"waiting","at":1791841199781,"time":139.537088,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:05.615Z","type":"video","viewer":1,"elapsed":501.86,"video":{"time":402.919428,"frames":20027,"dropped":10529,"audio_bytes":13035663,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.02953100000002},"events":[{"type":"waiting","at":1791841202431,"time":401.115158,"error":null},{"type":"playing","at":1791841203807,"time":401.18,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:05.618Z","type":"video","viewer":2,"elapsed":501.86,"video":{"time":144.073848,"frames":7099,"dropped":3992,"audio_bytes":4667138,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.459111000000007},"events":[{"type":"playing","at":1791841201074,"time":139.6,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:10.624Z","type":"video","viewer":1,"elapsed":506.87,"video":{"time":406.608058,"frames":20209,"dropped":10638,"audio_bytes":13154842,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.340900999999974},"events":[{"type":"waiting","at":1791841207013,"time":404.317086,"error":null},{"type":"playing","at":1791841208318,"time":404.38,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:10.628Z","type":"video","viewer":2,"elapsed":506.87,"video":{"time":147.783575,"frames":7320,"dropped":4073,"audio_bytes":4787816,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.749383999999992},"events":[{"type":"waiting","at":1791841206899,"time":145.355163,"error":null},{"type":"playing","at":1791841208184,"time":145.42,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:15.633Z","type":"video","viewer":1,"elapsed":511.88,"video":{"time":410.217696,"frames":20385,"dropped":10744,"audio_bytes":13271256,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.731263000000013},"events":[{"type":"waiting","at":1791841211696,"time":407.679138,"error":null},{"type":"playing","at":1791841213084,"time":407.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:15.636Z","type":"video","viewer":2,"elapsed":511.88,"video":{"time":152.793348,"frames":7539,"dropped":4109,"audio_bytes":4949389,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.7396109999999965},"events":[],"route":"#/video"}
{"utc":"2026-10-12T21:40:17.375Z","type":"server","label":"periodic","elapsed":513.62,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:40:22.389Z","type":"video","viewer":1,"elapsed":518.63,"video":{"time":414.872635,"frames":20651,"dropped":10901,"audio_bytes":13421702,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.076324},"events":[{"type":"waiting","at":1791841216464,"time":411.047289,"error":null},{"type":"playing","at":1791841217484,"time":411.12,"error":null},{"type":"waiting","at":1791841220951,"time":414.515117,"error":null},{"type":"playing","at":1791841222019,"time":414.58,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:22.392Z","type":"video","viewer":2,"elapsed":518.64,"video":{"time":157.528489,"frames":7803,"dropped":4269,"audio_bytes":5102501,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.004469999999998},"events":[{"type":"waiting","at":1791841216664,"time":153.820089,"error":null},{"type":"playing","at":1791841217686,"time":153.88,"error":null},{"type":"waiting","at":1791841221412,"time":157.528489,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:27.398Z","type":"video","viewer":1,"elapsed":523.64,"video":{"time":419.445228,"frames":20837,"dropped":10966,"audio_bytes":13569882,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.503731000000016},"events":[{"type":"waiting","at":1791841226962,"time":419.445228,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:27.402Z","type":"video","viewer":2,"elapsed":523.65,"video":{"time":161.718039,"frames":8005,"dropped":4384,"audio_bytes":5237545,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.814920000000001},"events":[{"type":"playing","at":1791841222411,"time":157.6,"error":null},{"type":"waiting","at":1791841225913,"time":161.029078,"error":null},{"type":"playing","at":1791841226708,"time":161.1,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:32.418Z","type":"video","viewer":1,"elapsed":528.66,"video":{"time":422.930269,"frames":21031,"dropped":11088,"audio_bytes":13682495,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.018689999999992},"events":[{"type":"playing","at":1791841228564,"time":419.52,"error":null},{"type":"waiting","at":1791841232045,"time":422.930269,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:32.421Z","type":"video","viewer":2,"elapsed":528.67,"video":{"time":165.897436,"frames":8205,"dropped":4497,"audio_bytes":5372601,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.635523000000006},"events":[{"type":"waiting","at":1791841229945,"time":164.261108,"error":null},{"type":"playing","at":1791841230800,"time":164.34,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:37.424Z","type":"video","viewer":1,"elapsed":533.67,"video":{"time":426.466426,"frames":21227,"dropped":11212,"audio_bytes":13794853,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.482532999999989},"events":[{"type":"playing","at":1791841232966,"time":423,"error":null},{"type":"waiting","at":1791841236428,"time":426.39212,"error":null},{"type":"playing","at":1791841237410,"time":426.46,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:37.427Z","type":"video","viewer":2,"elapsed":533.67,"video":{"time":169.843495,"frames":8395,"dropped":4611,"audio_bytes":5500906,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.689464000000015},"events":[{"type":"waiting","at":1791841234154,"time":167.630421,"error":null},{"type":"playing","at":1791841235207,"time":167.7,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:42.432Z","type":"video","viewer":1,"elapsed":538.68,"video":{"time":430.37637,"frames":21419,"dropped":11317,"audio_bytes":13923116,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.572588999999994},"events":[{"type":"waiting","at":1791841240895,"time":429.879602,"error":null},{"type":"playing","at":1791841241933,"time":429.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:42.519Z","type":"video","viewer":2,"elapsed":538.77,"video":{"time":173.775357,"frames":8585,"dropped":4717,"audio_bytes":5627831,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.7576019999999914},"events":[{"type":"waiting","at":1791841238563,"time":170.979999,"error":null},{"type":"playing","at":1791841239713,"time":171.04,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:47.526Z","type":"video","viewer":1,"elapsed":543.77,"video":{"time":434.189768,"frames":21607,"dropped":11420,"audio_bytes":14046898,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.759190999999987},"events":[{"type":"waiting","at":1791841245295,"time":433.239143,"error":null},{"type":"playing","at":1791841246559,"time":433.3,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:47.530Z","type":"video","viewer":2,"elapsed":543.78,"video":{"time":177.506531,"frames":8765,"dropped":4822,"audio_bytes":5748628,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.02642800000001},"events":[{"type":"waiting","at":1791841243328,"time":174.583776,"error":null},{"type":"playing","at":1791841244610,"time":174.66,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:49.034Z","type":"server","label":"periodic","elapsed":545.28,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:40:54.044Z","type":"video","viewer":1,"elapsed":550.29,"video":{"time":439.828272,"frames":21871,"dropped":11561,"audio_bytes":14228751,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.120686999999975},"events":[{"type":"waiting","at":1791841250279,"time":436.94312,"error":null},{"type":"playing","at":1791841251157,"time":437.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:54.047Z","type":"video","viewer":2,"elapsed":550.29,"video":{"time":181.644824,"frames":9007,"dropped":4978,"audio_bytes":5882238,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.8881350000000054},"events":[{"type":"waiting","at":1791841247978,"time":177.956057,"error":null},{"type":"playing","at":1791841249211,"time":178.02,"error":null},{"type":"waiting","at":1791841252678,"time":181.415104,"error":null},{"type":"playing","at":1791841253820,"time":181.48,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:59.051Z","type":"video","viewer":1,"elapsed":555.3,"video":{"time":443.775448,"frames":22061,"dropped":11665,"audio_bytes":14356245,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.173511000000019},"events":[{"type":"waiting","at":1791841254778,"time":440.56238,"error":null},{"type":"playing","at":1791841255839,"time":440.64,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:40:59.055Z","type":"video","viewer":2,"elapsed":555.3,"video":{"time":185.53217,"frames":9193,"dropped":5088,"audio_bytes":6007834,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":8.000788999999997},"events":[{"type":"waiting","at":1791841257194,"time":184.791265,"error":null},{"type":"playing","at":1791841258406,"time":184.883717,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:04.070Z","type":"video","viewer":1,"elapsed":560.32,"video":{"time":447.634095,"frames":22255,"dropped":11781,"audio_bytes":14481049,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.314864},"events":[{"type":"waiting","at":1791841259449,"time":444.174079,"error":null},{"type":"playing","at":1791841260354,"time":444.24,"error":null},{"type":"waiting","at":1791841263811,"time":447.634095,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:04.073Z","type":"video","viewer":2,"elapsed":560.32,"video":{"time":189.350017,"frames":9379,"dropped":5199,"audio_bytes":6131271,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.182941999999997},"events":[{"type":"waiting","at":1791841261794,"time":188.272097,"error":null},{"type":"playing","at":1791841262987,"time":188.34,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:09.088Z","type":"video","viewer":1,"elapsed":565.34,"video":{"time":450.994908,"frames":22437,"dropped":11899,"audio_bytes":14589370,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.954050999999993},"events":[{"type":"playing","at":1791841264954,"time":447.7,"error":null},{"type":"waiting","at":1791841268311,"time":450.994908,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:09.092Z","type":"video","viewer":2,"elapsed":565.34,"video":{"time":193.20887,"frames":9571,"dropped":5313,"audio_bytes":6256134,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.324089000000015},"events":[{"type":"waiting","at":1791841266344,"time":191.622029,"error":null},{"type":"playing","at":1791841267514,"time":191.7,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:14.095Z","type":"video","viewer":1,"elapsed":570.34,"video":{"time":454.96057,"frames":22657,"dropped":12011,"audio_bytes":14717759,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.988388999999984},"events":[{"type":"playing","at":1791841269581,"time":451.06,"error":null},{"type":"waiting","at":1791841272960,"time":454.363962,"error":null},{"type":"playing","at":1791841273500,"time":454.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:14.098Z","type":"video","viewer":2,"elapsed":570.34,"video":{"time":196.95555,"frames":9751,"dropped":5420,"audio_bytes":6376737,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.577409000000017},"events":[{"type":"waiting","at":1791841270993,"time":195.110026,"error":null},{"type":"playing","at":1791841272262,"time":195.18,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:19.102Z","type":"video","viewer":1,"elapsed":575.35,"video":{"time":459.873016,"frames":22857,"dropped":12071,"audio_bytes":14876921,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.075942999999995},"events":[{"type":"waiting","at":1791841279009,"time":459.873016,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:19.106Z","type":"video","viewer":2,"elapsed":575.35,"video":{"time":200.822886,"frames":9933,"dropped":5526,"audio_bytes":6502395,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.710072999999994},"events":[{"type":"waiting","at":1791841275609,"time":198.466134,"error":null},{"type":"playing","at":1791841276751,"time":198.54,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:20.797Z","type":"server","label":"periodic","elapsed":577.04,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":2,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":2},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-f2fe3bd2","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}}],"receiver":{"status":200,"jellyfin_channel_rows":1,"rows":[{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:41:25.814Z","type":"video","viewer":1,"elapsed":582.06,"video":{"time":465.559202,"frames":23175,"dropped":12130,"audio_bytes":15060342,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.389756999999975},"events":[{"type":"playing","at":1791841280131,"time":459.94,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:25.819Z","type":"video","viewer":2,"elapsed":582.07,"video":{"time":205.394654,"frames":10195,"dropped":5696,"audio_bytes":6648766,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.138305000000003},"events":[{"type":"waiting","at":1791841280229,"time":201.945983,"error":null},{"type":"playing","at":1791841281427,"time":202.02,"error":null},{"type":"waiting","at":1791841284793,"time":205.310241,"error":null},{"type":"playing","at":1791841285774,"time":205.38,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:30.828Z","type":"video","viewer":1,"elapsed":587.07,"video":{"time":469.471548,"frames":23371,"dropped":12236,"audio_bytes":15187357,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.477411000000018},"events":[{"type":"waiting","at":1791841288408,"time":468.153014,"error":null},{"type":"playing","at":1791841289512,"time":468.22,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:30.832Z","type":"video","viewer":2,"elapsed":587.08,"video":{"time":209.688724,"frames":10405,"dropped":5805,"audio_bytes":6788582,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.844234999999998},"events":[{"type":"waiting","at":1791841289125,"time":208.663011,"error":null},{"type":"playing","at":1791841289818,"time":208.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:35.840Z","type":"video","viewer":1,"elapsed":592.09,"video":{"time":473.644455,"frames":23567,"dropped":12343,"audio_bytes":15321746,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.3045040000000085},"events":[{"type":"waiting","at":1791841293242,"time":471.886338,"error":null},{"type":"playing","at":1791841294087,"time":471.96,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:35.843Z","type":"video","viewer":2,"elapsed":592.09,"video":{"time":213.680293,"frames":10591,"dropped":5910,"audio_bytes":6918336,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.852665999999999},"events":[{"type":"waiting","at":1791841293409,"time":212.267988,"error":null},{"type":"playing","at":1791841294432,"time":212.34,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:40.848Z","type":"video","viewer":1,"elapsed":597.09,"video":{"time":477.912293,"frames":23769,"dropped":12459,"audio_bytes":15459570,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.036666000000025},"events":[{"type":"waiting","at":1791841297558,"time":475.362949,"error":null},{"type":"playing","at":1791841298305,"time":475.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:40.851Z","type":"video","viewer":2,"elapsed":597.1,"video":{"time":217.328472,"frames":10771,"dropped":6022,"audio_bytes":7035440,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.204487},"events":[{"type":"waiting","at":1791841297908,"time":215.745059,"error":null},{"type":"playing","at":1791841299278,"time":215.82,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:47.793Z","type":"check","name":"viewer 2 exit to Channels","status":"PASS","evidence":{"elapsed":604.04}}
{"utc":"2026-10-12T21:41:49.569Z","type":"server","label":"secondary-left","elapsed":605.82,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:41:49.573Z","type":"video","viewer":1,"elapsed":605.82,"video":{"time":484.357993,"frames":24099,"dropped":12657,"audio_bytes":15667969,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.59096599999998},"events":[{"type":"waiting","at":1791841301659,"time":478.723028,"error":null},{"type":"playing","at":1791841302769,"time":478.8,"error":null},{"type":"waiting","at":1791841306242,"time":482.207985,"error":null},{"type":"playing","at":1791841307429,"time":482.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:54.576Z","type":"video","viewer":1,"elapsed":610.82,"video":{"time":488.260086,"frames":24295,"dropped":12771,"audio_bytes":15794189,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.688873000000001},"events":[{"type":"waiting","at":1791841310892,"time":485.676053,"error":null},{"type":"playing","at":1791841311990,"time":485.74,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:41:55.955Z","type":"server","label":"periodic","elapsed":612.2,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":3}}
{"utc":"2026-10-12T21:42:00.970Z","type":"video","viewer":1,"elapsed":617.22,"video":{"time":492.763072,"frames":24539,"dropped":12924,"audio_bytes":15940411,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.18588699999998},"events":[{"type":"waiting","at":1791841315590,"time":489.276332,"error":null},{"type":"playing","at":1791841316663,"time":489.34,"error":null},{"type":"waiting","at":1791841320159,"time":492.763072,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:05.986Z","type":"video","viewer":1,"elapsed":622.23,"video":{"time":496.3,"frames":24719,"dropped":13035,"audio_bytes":16052074,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.648958999999991},"events":[{"type":"playing","at":1791841321145,"time":492.84,"error":null},{"type":"waiting","at":1791841324608,"time":496.233024,"error":null},{"type":"playing","at":1791841325981,"time":496.3,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:10.991Z","type":"video","viewer":1,"elapsed":627.24,"video":{"time":500.195411,"frames":24909,"dropped":13141,"audio_bytes":16180434,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.753548000000023},"events":[{"type":"waiting","at":1791841329474,"time":499.718086,"error":null},{"type":"playing","at":1791841330495,"time":499.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:16.006Z","type":"video","viewer":1,"elapsed":632.25,"video":{"time":504.170586,"frames":25099,"dropped":13251,"audio_bytes":16308740,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.778372999999988},"events":[{"type":"waiting","at":1791841333741,"time":502.946955,"error":null},{"type":"playing","at":1791841334788,"time":503.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:21.021Z","type":"video","viewer":1,"elapsed":637.27,"video":{"time":508.185656,"frames":25297,"dropped":13368,"audio_bytes":16439128,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.763302999999951},"events":[{"type":"waiting","at":1791841338155,"time":506.32107,"error":null},{"type":"playing","at":1791841339174,"time":506.4,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:26.030Z","type":"video","viewer":1,"elapsed":642.28,"video":{"time":512.03615,"frames":25479,"dropped":13473,"audio_bytes":16563278,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.912808999999925},"events":[{"type":"waiting","at":1791841342525,"time":509.690246,"error":null},{"type":"playing","at":1791841343678,"time":509.76,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:27.624Z","type":"server","label":"periodic","elapsed":643.87,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:42:32.640Z","type":"video","viewer":1,"elapsed":648.89,"video":{"time":516.518074,"frames":25729,"dropped":13636,"audio_bytes":16708187,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.430884999999989},"events":[{"type":"waiting","at":1791841347040,"time":513.046068,"error":null},{"type":"playing","at":1791841348100,"time":513.12,"error":null},{"type":"waiting","at":1791841351572,"time":516.518074,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:37.643Z","type":"video","viewer":1,"elapsed":653.89,"video":{"time":520.448473,"frames":25927,"dropped":13744,"audio_bytes":16835035,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.50048599999991},"events":[{"type":"playing","at":1791841352721,"time":516.58,"error":null},{"type":"waiting","at":1791841356222,"time":520.008141,"error":null},{"type":"playing","at":1791841357213,"time":520.08,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:42.647Z","type":"video","viewer":1,"elapsed":658.89,"video":{"time":524.992915,"frames":26147,"dropped":13861,"audio_bytes":16981740,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.956043999999906},"events":[{"type":"waiting","at":1791841360922,"time":523.727108,"error":null},{"type":"playing","at":1791841361389,"time":523.8,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:47.651Z","type":"video","viewer":1,"elapsed":663.9,"video":{"time":528.87549,"frames":26327,"dropped":13967,"audio_bytes":17107277,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.073468999999932},"events":[{"type":"waiting","at":1791841364855,"time":527.200488,"error":null},{"type":"playing","at":1791841365986,"time":527.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:52.656Z","type":"video","viewer":1,"elapsed":668.9,"video":{"time":532.60246,"frames":26509,"dropped":14075,"audio_bytes":17228252,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.346498999999994},"events":[{"type":"waiting","at":1791841369340,"time":530.56503,"error":null},{"type":"playing","at":1791841370632,"time":530.64,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:57.660Z","type":"video","viewer":1,"elapsed":673.91,"video":{"time":536.266775,"frames":26695,"dropped":14187,"audio_bytes":17346747,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.682183999999893},"events":[{"type":"waiting","at":1791841374088,"time":534.033136,"error":null},{"type":"playing","at":1791841375418,"time":534.1,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:42:59.483Z","type":"server","label":"periodic","elapsed":675.73,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:43:04.495Z","type":"video","viewer":1,"elapsed":680.74,"video":{"time":540.885038,"frames":26947,"dropped":14349,"audio_bytes":17495618,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":7.063920999999937},"events":[{"type":"waiting","at":1791841378876,"time":537.46,"error":null},{"type":"playing","at":1791841379842,"time":537.46,"error":null},{"type":"waiting","at":1791841383340,"time":540.885038,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:09.503Z","type":"video","viewer":1,"elapsed":685.75,"video":{"time":544.627503,"frames":27135,"dropped":14454,"audio_bytes":17617228,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.321455999999898},"events":[{"type":"playing","at":1791841384590,"time":540.96,"error":null},{"type":"waiting","at":1791841388054,"time":544.36106,"error":null},{"type":"playing","at":1791841389231,"time":544.42,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:14.506Z","type":"video","viewer":1,"elapsed":690.75,"video":{"time":548.611166,"frames":27325,"dropped":14562,"audio_bytes":17745464,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.33779299999992},"events":[{"type":"waiting","at":1791841392588,"time":547.714094,"error":null},{"type":"playing","at":1791841393605,"time":547.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:19.523Z","type":"video","viewer":1,"elapsed":695.77,"video":{"time":552.688662,"frames":27525,"dropped":14677,"audio_bytes":17877181,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.260296999999923},"events":[{"type":"waiting","at":1791841397105,"time":551.210963,"error":null},{"type":"playing","at":1791841398042,"time":551.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:24.531Z","type":"video","viewer":1,"elapsed":700.78,"video":{"time":556.797302,"frames":27727,"dropped":14789,"audio_bytes":18009956,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.151657},"events":[{"type":"waiting","at":1791841401387,"time":554.553438,"error":null},{"type":"playing","at":1791841402283,"time":554.62,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:29.534Z","type":"video","viewer":1,"elapsed":705.78,"video":{"time":560.961055,"frames":27927,"dropped":14897,"audio_bytes":18145264,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.987903999999958},"events":[{"type":"waiting","at":1791841405772,"time":558.03895,"error":null},{"type":"playing","at":1791841406596,"time":558.1,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:31.109Z","type":"server","label":"periodic","elapsed":707.36,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:43:36.117Z","type":"video","viewer":1,"elapsed":712.37,"video":{"time":565.622609,"frames":28181,"dropped":15054,"audio_bytes":18295549,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.326349999999934},"events":[{"type":"waiting","at":1791841410220,"time":561.645025,"error":null},{"type":"playing","at":1791841411044,"time":561.72,"error":null},{"type":"waiting","at":1791841414404,"time":565.010027,"error":null},{"type":"playing","at":1791841415506,"time":565.08,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:41.129Z","type":"video","viewer":1,"elapsed":717.38,"video":{"time":569.294514,"frames":28357,"dropped":15162,"audio_bytes":18414145,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.654444999999896},"events":[{"type":"waiting","at":1791841418968,"time":568.475324,"error":null},{"type":"playing","at":1791841420313,"time":568.540624,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:46.133Z","type":"video","viewer":1,"elapsed":722.38,"video":{"time":573.099871,"frames":28543,"dropped":15274,"audio_bytes":18536961,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.849087999999938},"events":[{"type":"waiting","at":1791841423547,"time":571.713056,"error":null},{"type":"playing","at":1791841424735,"time":571.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:51.148Z","type":"video","viewer":1,"elapsed":727.4,"video":{"time":576.854734,"frames":28729,"dropped":15383,"audio_bytes":18658393,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.094224999999938},"events":[{"type":"waiting","at":1791841428102,"time":575.06813,"error":null},{"type":"playing","at":1791841429359,"time":575.14,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:43:56.161Z","type":"video","viewer":1,"elapsed":732.41,"video":{"time":580.868427,"frames":28931,"dropped":15493,"audio_bytes":18788005,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.080531999999948},"events":[{"type":"waiting","at":1791841432853,"time":578.55822,"error":null},{"type":"playing","at":1791841433843,"time":578.62,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:01.165Z","type":"video","viewer":1,"elapsed":737.41,"video":{"time":585.11228,"frames":29131,"dropped":15601,"audio_bytes":18925144,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.83667899999989},"events":[{"type":"waiting","at":1791841437452,"time":582.158892,"error":null},{"type":"playing","at":1791841438210,"time":582.22,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:02.996Z","type":"server","label":"periodic","elapsed":739.25,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:44:08.007Z","type":"video","viewer":1,"elapsed":744.26,"video":{"time":590.212757,"frames":29409,"dropped":15758,"audio_bytes":19090119,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.736201999999935},"events":[{"type":"waiting","at":1791841441702,"time":585.648036,"error":null},{"type":"playing","at":1791841442628,"time":585.72,"error":null},{"type":"waiting","at":1791841446335,"time":589.361082,"error":null},{"type":"playing","at":1791841447161,"time":589.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:13.025Z","type":"video","viewer":1,"elapsed":749.27,"video":{"time":594.352261,"frames":29611,"dropped":15869,"audio_bytes":19224007,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.596697999999947},"events":[{"type":"waiting","at":1791841450734,"time":592.940141,"error":null},{"type":"playing","at":1791841451615,"time":593.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:18.032Z","type":"video","viewer":1,"elapsed":754.28,"video":{"time":598.658589,"frames":29823,"dropped":15981,"audio_bytes":19363264,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.290369999999939},"events":[{"type":"waiting","at":1791841455118,"time":596.444206,"error":null},{"type":"playing","at":1791841455880,"time":596.526265,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:23.036Z","type":"video","viewer":1,"elapsed":759.28,"video":{"time":602.902815,"frames":30027,"dropped":16081,"audio_bytes":19501141,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.046143999999913},"events":[{"type":"waiting","at":1791841459417,"time":600.044057,"error":null},{"type":"playing","at":1791841460176,"time":600.12,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:28.051Z","type":"video","viewer":1,"elapsed":764.3,"video":{"time":607.238232,"frames":30251,"dropped":16185,"audio_bytes":19640482,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.710726999999906},"events":[{"type":"waiting","at":1791841464019,"time":603.886091,"error":null},{"type":"playing","at":1791841464701,"time":603.96,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:33.055Z","type":"video","viewer":1,"elapsed":769.3,"video":{"time":611.437131,"frames":30463,"dropped":16305,"audio_bytes":19776372,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.511827999999923},"events":[{"type":"waiting","at":1791841468899,"time":608.085956,"error":null},{"type":"playing","at":1791841469600,"time":608.16,"error":null},{"type":"waiting","at":1791841472951,"time":611.437131,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:35.240Z","type":"server","label":"periodic","elapsed":771.49,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:44:40.244Z","type":"video","viewer":1,"elapsed":776.49,"video":{"time":617.309705,"frames":30751,"dropped":16459,"audio_bytes":19966740,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.639253999999937},"events":[{"type":"playing","at":1791841473440,"time":611.5,"error":null},{"type":"waiting","at":1791841477185,"time":615.170083,"error":null},{"type":"playing","at":1791841478103,"time":615.24,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:45.250Z","type":"video","viewer":1,"elapsed":781.5,"video":{"time":621.555732,"frames":30955,"dropped":16566,"audio_bytes":20103478,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":4.393226999999911},"events":[{"type":"waiting","at":1791841481334,"time":618.401121,"error":null},{"type":"playing","at":1791841482077,"time":618.46,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:50.267Z","type":"video","viewer":1,"elapsed":786.52,"video":{"time":625.47378,"frames":31171,"dropped":16689,"audio_bytes":20230203,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.475178999999912},"events":[{"type":"waiting","at":1791841485682,"time":621.988271,"error":null},{"type":"playing","at":1791841486467,"time":622.06,"error":null},{"type":"waiting","at":1791841489948,"time":625.47378,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:44:55.275Z","type":"video","viewer":1,"elapsed":791.52,"video":{"time":629.461725,"frames":31375,"dropped":16798,"audio_bytes":20359936,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":8.487233999999944},"events":[{"type":"playing","at":1791841490487,"time":625.54,"error":null},{"type":"waiting","at":1791841493966,"time":628.953012,"error":null},{"type":"playing","at":1791841494771,"time":629.02,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:00.286Z","type":"video","viewer":1,"elapsed":796.54,"video":{"time":633.552826,"frames":31573,"dropped":16908,"audio_bytes":20491667,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.396132999999963},"events":[{"type":"waiting","at":1791841498132,"time":632.317417,"error":null},{"type":"playing","at":1791841499042,"time":632.38,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:05.299Z","type":"video","viewer":1,"elapsed":801.55,"video":{"time":637.625671,"frames":31767,"dropped":17015,"audio_bytes":20623331,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.323287999999934},"events":[{"type":"waiting","at":1791841502533,"time":635.800068,"error":null},{"type":"playing","at":1791841503468,"time":635.86,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:06.996Z","type":"server","label":"periodic","elapsed":803.25,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:45:12.008Z","type":"video","viewer":1,"elapsed":808.26,"video":{"time":643.361029,"frames":32053,"dropped":17173,"audio_bytes":20808845,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":6.587929999999915},"events":[{"type":"waiting","at":1791841507067,"time":639.39303,"error":null},{"type":"playing","at":1791841507939,"time":639.46,"error":null},{"type":"waiting","at":1791841511915,"time":643.361029,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:17.018Z","type":"video","viewer":1,"elapsed":813.27,"video":{"time":647.844899,"frames":32287,"dropped":17268,"audio_bytes":20953537,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.10405999999989},"events":[{"type":"playing","at":1791841512552,"time":643.44,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:22.022Z","type":"video","viewer":1,"elapsed":818.27,"video":{"time":651.788695,"frames":32487,"dropped":17385,"audio_bytes":21081183,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.160263999999984},"events":[{"type":"waiting","at":1791841519381,"time":650.209014,"error":null},{"type":"playing","at":1791841520450,"time":650.28,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:27.026Z","type":"video","viewer":1,"elapsed":823.27,"video":{"time":656.192507,"frames":32697,"dropped":17494,"audio_bytes":21223174,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.7564519999999675},"events":[{"type":"waiting","at":1791841523797,"time":653.563203,"error":null},{"type":"playing","at":1791841524404,"time":653.64,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:32.043Z","type":"video","viewer":1,"elapsed":828.29,"video":{"time":660.528392,"frames":32919,"dropped":17563,"audio_bytes":21363216,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.420566999999892},"events":[{"type":"waiting","at":1791841527952,"time":657.1,"error":null},{"type":"playing","at":1791841528536,"time":657.1,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:37.054Z","type":"video","viewer":1,"elapsed":833.3,"video":{"time":664.880523,"frames":33129,"dropped":17675,"audio_bytes":21503870,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.068435999999906},"events":[{"type":"waiting","at":1791841533947,"time":662.434991,"error":null},{"type":"playing","at":1791841534594,"time":662.5,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:38.756Z","type":"server","label":"periodic","elapsed":835.01,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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.160.155","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVN 24 HD","ref":"1:0:1:3DD2:640:13E:820000:0:0:0:"},{"ip":"192.168.160.155","name":"TVP 2 HD","ref":"1:0:1:C22:1E78:71:820000:0:0:0:"},{"ip":"192.168.100.191","name":"TVP 1 HD","ref":"1:0:1:3ABD:514:13E:820000:0:0:0:"}],"channel_matches":2}}
{"utc":"2026-10-12T21:45:43.776Z","type":"video","viewer":1,"elapsed":840.02,"video":{"time":670.861778,"frames":33433,"dropped":17793,"audio_bytes":21697976,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.087180999999987},"events":[{"type":"waiting","at":1791841538082,"time":665.908189,"error":null},{"type":"playing","at":1791841538831,"time":665.98,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:48.783Z","type":"video","viewer":1,"elapsed":845.03,"video":{"time":674.789059,"frames":33625,"dropped":17904,"audio_bytes":21824550,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.159899999999993},"events":[{"type":"waiting","at":1791841545664,"time":672.751264,"error":null},{"type":"playing","at":1791841546742,"time":672.82,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:53.789Z","type":"video","viewer":1,"elapsed":850.04,"video":{"time":678.855878,"frames":33825,"dropped":18016,"audio_bytes":21955861,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.093080999999984},"events":[{"type":"waiting","at":1791841550229,"time":676.235935,"error":null},{"type":"playing","at":1791841551168,"time":676.3,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:45:58.801Z","type":"video","viewer":1,"elapsed":855.05,"video":{"time":682.907447,"frames":34021,"dropped":18128,"audio_bytes":22087461,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.041511999999898},"events":[{"type":"waiting","at":1791841554647,"time":679.714094,"error":null},{"type":"playing","at":1791841555609,"time":679.78,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:03.816Z","type":"video","viewer":1,"elapsed":860.06,"video":{"time":686.561972,"frames":34215,"dropped":18246,"audio_bytes":22205409,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.386986999999976},"events":[{"type":"waiting","at":1791841558979,"time":683.085032,"error":null},{"type":"playing","at":1791841559921,"time":683.187586,"error":null},{"type":"waiting","at":1791841563296,"time":686.561972,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:08.824Z","type":"video","viewer":1,"elapsed":865.07,"video":{"time":690.130441,"frames":34411,"dropped":18365,"audio_bytes":22320407,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.818517999999926},"events":[{"type":"playing","at":1791841564325,"time":686.64,"error":null},{"type":"waiting","at":1791841567795,"time":690.042977,"error":null},{"type":"playing","at":1791841568752,"time":690.12,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:10.496Z","type":"server","label":"periodic","elapsed":866.75,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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-12T21:46:15.501Z","type":"video","viewer":1,"elapsed":871.75,"video":{"time":695.84838,"frames":34675,"dropped":18501,"audio_bytes":22505335,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":5.100578999999925},"events":[{"type":"waiting","at":1791841572213,"time":693.520071,"error":null},{"type":"playing","at":1791841573160,"time":693.58,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:20.513Z","type":"video","viewer":1,"elapsed":876.76,"video":{"time":700.000421,"frames":34879,"dropped":18613,"audio_bytes":22639147,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.948537999999985},"events":[{"type":"waiting","at":1791841576778,"time":697.124958,"error":null},{"type":"playing","at":1791841577646,"time":697.2,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:25.517Z","type":"video","viewer":1,"elapsed":881.77,"video":{"time":704.085308,"frames":35083,"dropped":18728,"audio_bytes":22771525,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":5.863650999999891},"events":[{"type":"waiting","at":1791841581112,"time":700.599052,"error":null},{"type":"playing","at":1791841581876,"time":700.66,"error":null},{"type":"waiting","at":1791841585378,"time":704.085308,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:30.521Z","type":"video","viewer":1,"elapsed":886.77,"video":{"time":707.686635,"frames":35281,"dropped":18847,"audio_bytes":22888056,"width":1920,"height":1080,"ready":2,"paused":false,"ended":false,"error":null,"buffered_ahead":8.262323999999921},"events":[{"type":"playing","at":1791841586281,"time":704.16,"error":null},{"type":"waiting","at":1791841589878,"time":707.686635,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:35.535Z","type":"video","viewer":1,"elapsed":891.78,"video":{"time":711.721714,"frames":35487,"dropped":18958,"audio_bytes":23018640,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":7.227244999999925},"events":[{"type":"playing","at":1791841590732,"time":707.76,"error":null},{"type":"waiting","at":1791841594210,"time":711.158051,"error":null},{"type":"playing","at":1791841594965,"time":711.22,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:40.543Z","type":"video","viewer":1,"elapsed":896.79,"video":{"time":715.529804,"frames":35677,"dropped":19069,"audio_bytes":23141887,"width":1920,"height":1080,"ready":4,"paused":false,"ended":false,"error":null,"buffered_ahead":6.419154999999932},"events":[{"type":"waiting","at":1791841598579,"time":714.765096,"error":null},{"type":"playing","at":1791841599781,"time":714.84,"error":null}],"route":"#/video"}
{"utc":"2026-10-12T21:46:42.152Z","type":"server","label":"periodic","elapsed":898.4,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":1,"Consumers":1,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":true,"Consumers":1},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":"TVP 1 HD","transcoding":{"VideoCodec":"av1","AudioCodec":"aac","IsVideoDirect":false,"IsAudioDirect":false,"Framerate":50,"TranscodeReasons":["ContainerNotSupported","AudioCodecNotSupported","InterlacedVideoNotSupported"]}},{"user":"decoder-reception-f2fe3bd2","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-12T21:46:48.892Z","type":"check","name":"viewer 1 exit to Channels","status":"PASS","evidence":{"elapsed":905.14}}
{"utc":"2026-10-12T21:46:48.893Z","type":"check","name":"scheduled duration completed","status":"PASS","evidence":{"seconds":903.41,"interrupted":false}}
{"utc":"2026-10-12T21:46:48.894Z","type":"check","name":"second viewer phase completed","status":"PASS","evidence":{"joinAt":300,"leaveAt":600}}
{"utc":"2026-10-12T21:47:10.224Z","type":"server","label":"after-cleanup","elapsed":926.47,"plugin":"7.0.6.0","streams":{"UpstreamConnectionsOpened":18,"ActiveSources":0,"Consumers":0,"LastErrors":["Decoder closed the live stream.","Decoder closed the live stream.","The operation was canceled."],"Channels":[{"Id":"91bf9c0a4fd04dbd9923edcabe61f66a","ServiceReference":"/1:0:1:428D:2BC0:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"dfc8c635289f419987efa5a6e24526e4","ServiceReference":"/1:0:1:3ABD:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e5b639b9e6e64157acf5213d49cb6a42","ServiceReference":"/1:0:1:C22:1E78:71:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"ce7d07ce0afb421ba784df8342cfde51","ServiceReference":"/1:0:1:3DCD:640:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"e98c970f44a34da5a989debd43b6954f","ServiceReference":"/1:0:1:3A99:514:13E:820000:0:0:0:","Active":false,"Consumers":0},{"Id":"f02288443b7140dcbf34d74d660eb6ae","ServiceReference":"/1:0:1:C23:1E78:71:820000:0:0:0:","Active":false,"Consumers":0}]},"probe_error":null,"sessions":[{"user":"decoder-reception-0703d0b0","channel":null,"transcoding":{"VideoCodec":null,"AudioCodec":null,"IsVideoDirect":null,"IsAudioDirect":null,"Framerate":null,"TranscodeReasons":null}},{"user":"decoder-reception-f2fe3bd2","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-12T21:47:10.225Z","type":"check","name":"own relay consumers released after last viewer","status":"PASS","evidence":{"relay_id":"dfc8c635289f419987efa5a6e24526e4","active":false,"consumers":0,"baseline_active":false,"baseline_consumers":0}}
{"utc":"2026-10-12T21:47:13.005Z","type":"check","name":"viewer 1 continuous decoded progress","status":"PASS","evidence":{"samples":167,"progressing_intervals":166,"stalled_intervals":0,"audio_progress_intervals":166}}
{"utc":"2026-10-12T21:47:13.005Z","type":"check","name":"viewer 1 browser and HLS responses","status":"PASS","evidence":{"browser_errors":[],"hls":{"manifests":306,"segments":0,"failed":[],"request_failed":[]}}}
{"utc":"2026-10-12T21:47:13.006Z","type":"check","name":"viewer 1 audio decoding progresses","status":"PASS","evidence":{"progressing_intervals":166}}
{"utc":"2026-10-12T21:47:13.006Z","type":"check","name":"viewer 2 continuous decoded progress","status":"PASS","evidence":{"samples":54,"progressing_intervals":53,"stalled_intervals":0,"audio_progress_intervals":53}}
{"utc":"2026-10-12T21:47:13.007Z","type":"check","name":"viewer 2 browser and HLS responses","status":"PASS","evidence":{"browser_errors":[],"hls":{"manifests":100,"segments":0,"failed":[],"request_failed":[]}}}
{"utc":"2026-10-12T21:47:13.007Z","type":"check","name":"viewer 2 audio decoding progresses","status":"PASS","evidence":{"progressing_intervals":53}}
{"utc":"2026-10-12T21:47:13.008Z","type":"check","name":"sharing uses one physical receiver stream","status":"PASS","evidence":{"before_opened":18,"during":[{"elapsed":316.07,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":322.69,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":354.39,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":386.28,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":418.01,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":449.83,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":481.83,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":513.62,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":545.28,"opened":18,"physical_rows":1,"consumers":2},{"elapsed":577.04,"opened":18,"physical_rows":1,"consumers":2}]}}
{"utc":"2026-10-12T21:47:13.009Z","type":"check","name":"global receiver upstream counter stable during sharing","status":"PASS","evidence":{"before":18,"during":[18,18,18,18,18,18,18,18,18,18],"scope":"Global plugin counter; correlate a failure with other users and channel snapshots."}}
+17 -3
View File
@@ -8,19 +8,20 @@ const option = (name, fallback) => process.argv.find(a => a.startsWith('--' + na
const duration = Number(option('duration', '900')), joinAt = Number(option('join', '300')), leaveAt = Number(option('leave', '600'));
const channel = option('channel', 'TVP 1 HD');
const reportPath = option('report', 'reception-trial.json');
const bridgeFile = option('bridge-file', null);
if (!process.argv.includes('--coordinated') || !Number.isFinite(duration) || !Number.isFinite(joinAt) || !Number.isFinite(leaveAt) || !(0 < joinAt && joinAt < leaveAt && leaveAt < duration)) {
console.error('Requires --coordinated after explicit start signal, and 0 < join < leave < duration (seconds).');
process.exit(2);
}
const origin = 'http://192.168.100.191:8096', web = origin + '/web/index.html';
const safe = value => String(value).replace(/(api_key|access_token|Token|password)([=:\s]+)[^\s,"&]+/gi, '$1$2<redacted>').replace(/(https?:\/\/[^\s?"']+)\?[^\s"']*/g, '$1?<redacted>').slice(0, 500);
const report = { started_utc: new Date().toISOString(), channel, relay_id: null, schedule_seconds: { duration, join: joinAt, leave: leaveAt }, checks: [], events: [], snapshots: [], audio_scope: 'Decoded byte counter when available; no human audible verification.' };
const report = { started_utc: new Date().toISOString(), channel, relay_id: null, isolated_bridge_override: Boolean(bridgeFile), schedule_seconds: { duration, join: joinAt, leave: leaveAt }, checks: [], events: [], snapshots: [], audio_scope: 'Decoded byte counter when available; no human audible verification.' };
fs.writeFileSync(reportPath + '.jsonl', '');
const record = (type, data) => { const row = { utc: new Date().toISOString(), type, ...data }; fs.appendFileSync(reportPath + '.jsonl', JSON.stringify(row) + '\n'); return row; };
const check = (name, ok, evidence) => { const row = { name, status: ok ? 'PASS' : 'FAIL', evidence }; report.checks.push(row); console.log(name + ': ' + row.status); record('check', row); };
const admin = `import json,sqlite3,urllib.request,pathlib,secrets\nc=sqlite3.connect('file:/var/lib/jellyfin/data/jellyfin.db?mode=ro',uri=True);k=c.execute('SELECT AccessToken FROM ApiKeys LIMIT 1').fetchone()[0];c.close()\ndef api(p,d=None,method=None):\n r=urllib.request.Request('http://127.0.0.1:8096'+p,headers={'Authorization':'MediaBrowser Token="'+k+'", Client="ReceptionTrial", Device="Maintenance", DeviceId="decoder-reception-trial", Version="1"','Content-Type':'application/json'},data=json.dumps(d).encode() if d is not None else None,method=method)\n b=urllib.request.urlopen(r,timeout=10).read();return json.loads(b) if b else None\n`;
const ssh = code => JSON.parse(execFileSync('ssh', ['-o', 'BatchMode=yes', 'root@192.168.100.25', 'pct exec 100191 -- python3 -'], { input: admin + code, encoding: 'utf8', timeout: 20000 }).trim().split('\n').at(-1));
let browser, started, serviceReference, baseline, stopRequested = false;
let browser, started, serviceReference, baseline, testedChannelId, stopRequested = false;
process.on('SIGINT', () => { stopRequested = true; });
process.on('SIGTERM', () => { stopRequested = true; });
const accounts = [], viewers = [];
@@ -30,6 +31,19 @@ async function makeViewer(index) {
accounts.push(account);
ssh(`api('/Users/${account.id}/Password',{'CurrentPw':'','NewPw':${JSON.stringify(account.password)}});print('{}')`);
const context = await browser.newContext({ viewport: { width: 1280, height: 900 } }), page = await context.newPage();
if (bridgeFile) {
// A/B evaluation only: replace the plugin JS in this isolated browser, never on the server.
await context.route('**/decoder-channel-playback.js*', route => {
record('isolated_bridge_served', { viewer: index });
return route.fulfill({ contentType: 'application/javascript', body: fs.readFileSync(bridgeFile, 'utf8') });
});
await context.route('**/DecoderIntegration/WebPlaybackPolicy?*', route => {
const requested = new URL(route.request().url()).searchParams.get('channelId')?.replace(/-/g, '').toLowerCase();
const matched = requested === testedChannelId.replace(/-/g, '').toLowerCase();
record('isolated_policy_request', { viewer: index, matched });
return route.fulfill({ json: { IsEnigmaChannel: matched, PreferH264: true } });
});
}
const viewer = { index, context, page, active: false, closing: false, samples: [], errors: [], hls: { manifests: 0, segments: 0, failed: [], request_failed: [] } }; viewers.push(viewer);
await page.addInitScript(() => {
window.__trialEvents = [];
@@ -123,8 +137,8 @@ function identifyRelay(snapshot) {
(async () => {
try {
browser = await chromium.launch({ headless: true, channel: 'msedge', args: ['--autoplay-policy=no-user-gesture-required','--disable-background-timer-throttling','--disable-backgrounding-occluded-windows','--disable-renderer-backgrounding'] });
testedChannelId = ssh(`c=next(x for x in api('/LiveTv/Channels?Limit=1000')['Items'] if x['Name']==${JSON.stringify(channel)});print(json.dumps(c['Id']))`);
const primary = await makeViewer(1), secondary = await makeViewer(2);
ssh(`c=next(x for x in api('/LiveTv/Channels?Limit=1000')['Items'] if x['Name']==${JSON.stringify(channel)});print('{}')`);
baseline = await serverSnapshot('before');
await open(primary); started = performance.now(); report.first_video_utc = new Date().toISOString();
const first = await serverSnapshot('primary-started');
+34 -5
View File
@@ -3,7 +3,12 @@ const fs = require('node:fs');
const vm = require('node:vm');
const assert = require('node:assert/strict');
const listeners = {}, documentListeners = {}, elements = [];
let clock = 0, interval, starts = 0, stops = 0, osd = 0, returned = 0, readyState = 0;
let clock = 0, interval, starts = 0, stops = 0, osd = 0, returned = 0, readyState = 0, remote = false;
let policy = { IsEnigmaChannel: true, PreferH264: true }, policyCalls = 0, policyError = false;
const profile = { DirectPlayProfiles: [{ Type: 'Video', VideoCodec: 'av1,h264' }],
TranscodingProfiles: [{ Type: 'Video', Context: 'Streaming', VideoCodec: 'av1,h264', AudioCodec: 'aac', Protocol: 'hls', MaxWidth: 1920 },
{ Type: 'Video', Context: 'Streaming', VideoCodec: 'av1', AudioCodec: 'aac', Protocol: 'hls' },
{ Type: 'Audio', AudioCodec: 'aac', Protocol: 'http' }], CodecProfiles: [{ Type: 'Video', Codec: 'h264', Conditions: [{ Property: 'Width', Value: '1920' }] }] };
const pending = [];
const location = { hash: '#/livetv', pathname: '/web/index.html', search: '', replace(value) { this.hash = value; } };
const document = {
@@ -14,7 +19,9 @@ const document = {
addEventListener(name, callback) { documentListeners[name] = callback; }
};
const window = {
ApiClient: { getCurrentUserId: () => 'user', serverId: () => 'server', getItem: async (user, id) => ({ Id: id, Type: 'TvChannel' }) },
ApiClient: { getCurrentUserId: () => 'user', serverId: () => 'server', getItem: async (user, id) => ({ Id: id, Type: 'TvChannel' }),
getUrl: (path, params) => path + '?' + new URLSearchParams(params),
ajax: async () => { ++policyCalls; if (policyError) throw Error('offline'); return policy; } },
addEventListener(name, callback) { listeners[name] = callback; }
};
const context = {
@@ -25,7 +32,7 @@ const context = {
clearInterval(callback) { if (interval === callback) interval = null; }
};
const manager = {
getCurrentPlayer: () => ({ isLocalPlayer: true }),
getCurrentPlayer: () => ({ isLocalPlayer: !remote }),
play() { ++starts; return new Promise(resolve => pending.push(resolve)); },
stop: async () => { ++stops; }
};
@@ -33,8 +40,30 @@ const flush = async () => { for (let i = 0; i < 8; i++) await Promise.resolve();
(async () => {
vm.runInNewContext(fs.readFileSync(__dirname + '/web/decoder-channel-playback.js', 'utf8'), context);
const Plugin = await window.DecoderChannelPlayback();
new Plugin({ playbackManager: manager, toast() {}, loading: { hide() {} }, events: { on() {} },
appRouter: { showVideoOsd: async () => { ++osd; }, show: async () => { ++returned; location.hash = '#/livetv?tab=2'; } } });
const appHost = { getDeviceProfile: async () => profile };
const dependencies = { playbackManager: manager, appHost, toast() {}, loading: { hide() {} }, events: { on() {} },
appRouter: { showVideoOsd: async () => { ++osd; }, show: async () => { ++returned; location.hash = '#/livetv?tab=2'; } } };
new Plugin(dependencies);
const channel = { Id: 'channel', Type: 'TvChannel', ServerId: 'server' };
const before = JSON.stringify(profile);
const changed = await appHost.getDeviceProfile(channel, {});
assert.notEqual(changed, profile); assert.equal(JSON.stringify(profile), before, 'shared profile must not mutate');
assert.equal(changed.TranscodingProfiles.length, 2); assert.equal(changed.TranscodingProfiles[0].VideoCodec, 'h264');
assert.equal(changed.TranscodingProfiles[0].MaxWidth, 1920); assert.equal(changed.TranscodingProfiles[0].AudioCodec, 'aac');
assert.equal(JSON.stringify(changed.DirectPlayProfiles), JSON.stringify(profile.DirectPlayProfiles));
assert.equal(JSON.stringify(changed.CodecProfiles), JSON.stringify(profile.CodecProfiles));
let count = policyCalls;
assert.equal(await appHost.getDeviceProfile({ Type: 'Movie' }, {}), profile); assert.equal(policyCalls, count);
assert.equal(await appHost.getDeviceProfile({ ...channel, ServerId: 'other' }, {}), profile); assert.equal(policyCalls, count);
remote = true; assert.equal(await appHost.getDeviceProfile(channel, {}), profile); assert.equal(policyCalls, count); remote = false;
window.NativeShell = {}; assert.equal(await appHost.getDeviceProfile(channel, {}), profile); assert.equal(policyCalls, count); delete window.NativeShell;
policy = { IsEnigmaChannel: false, PreferH264: true }; assert.equal(await appHost.getDeviceProfile(channel, {}), profile);
policy = { IsEnigmaChannel: true, PreferH264: false }; assert.equal(await appHost.getDeviceProfile(channel, {}), profile);
policyError = true; assert.equal(await appHost.getDeviceProfile(channel, {}), profile); policyError = false;
policy = { IsEnigmaChannel: true, PreferH264: true };
count = policyCalls; await appHost.getDeviceProfile(channel, {}); assert.equal(policyCalls, count + 1, 'retry refreshes current policy');
const wrapped = appHost.getDeviceProfile; new Plugin(dependencies); assert.equal(appHost.getDeviceProfile, wrapped, 'one profile wrapper per appHost');
console.log('PASS scoped H264 policy, clone, audio/conditions/direct play preserved, movies/other sources/native/remote bypass, disabled/failing policy, retry and dedup');
assert.equal(location.hash, '#/livetv?tab=2');
location.hash = '#/livetv?tab=0'; listeners.hashchange();
assert.equal(location.hash, '#/livetv?tab=0');
+11 -1
View File
@@ -9,7 +9,7 @@ def api(path,data=None,method=None,token=admin):
body=response.read();return json.loads(body) if body else None
report={'checked_utc':datetime.datetime.now(datetime.timezone.utc).isoformat()}
report['plugin']=next(x for x in api('/Plugins') if x['Name']=='Enigma2')
assert report['plugin']['Version']=='7.0.6.0' and report['plugin']['Status']=='Active'
assert report['plugin']['Version']=='7.0.7.0' and report['plugin']['Status']=='Active'
report['epg']=api('/DecoderIntegration/Status')
report['channel_count']=api('/LiveTv/Channels?Limit=0')['TotalRecordCount']
report['timer_count']=api('/LiveTv/Timers?Limit=0')['TotalRecordCount']
@@ -24,6 +24,11 @@ try:
tokens.append(login['AccessToken'])
for token in tokens: assert api('/DecoderIntegration/Preferences',token=token)['DefaultView']=='all'
channel=api('/LiveTv/Channels?Limit=1')['Items'][0]['Id']
assert api('/DecoderIntegration/WebPlaybackPolicy?channelId='+channel,token=tokens[0])=={'IsEnigmaChannel':True,'PreferH264':True}
assert api('/DecoderIntegration/WebPlaybackPolicy?channelId=00000000000000000000000000000000',token=tokens[0])=={'IsEnigmaChannel':False,'PreferH264':False}
movies=api('/Items?UserId='+users[0]+'&IncludeItemTypes=Movie&Recursive=true&Limit=1',token=tokens[0])['Items']
if movies: assert api('/DecoderIntegration/WebPlaybackPolicy?channelId='+movies[0]['Id'],token=tokens[0])=={'IsEnigmaChannel':False,'PreferH264':False}
report['web_playback_policy_channel_and_movie_scope']='PASS'
api('/DecoderIntegration/Preferences',{'FavoriteIds':[channel],'HiddenIds':[],'OrderedIds':[channel],'DefaultView':'favorites'},'PUT',tokens[0])
assert api('/DecoderIntegration/Preferences',token=tokens[0])['FavoriteIds']==[channel.replace('-','')]
assert api('/DecoderIntegration/Preferences',token=tokens[1])['FavoriteIds']==[]
@@ -43,6 +48,11 @@ try:
req=urllib.request.Request('http://127.0.0.1:8096/web/ConfigurationPage?name=decoder-channels',headers={'Authorization':'MediaBrowser Token="'+token+'", Client="DecoderIntegration", Device="Maintenance", DeviceId="decoder-maintenance", Version="7"'})
text=urllib.request.urlopen(req).read().decode();assert 'channelRows' in text
report['user_channel_page']='PASS'
policy=api('/Users/'+users[1])['Policy'];policy['EnableLiveTvAccess']=False
api('/Users/'+users[1]+'/Policy',policy)
try:api('/DecoderIntegration/WebPlaybackPolicy?channelId='+channel,token=tokens[1]);raise AssertionError('live TV denied user policy permitted')
except urllib.error.HTTPError as ex:assert ex.code==403
report['web_playback_policy_denied_user']='PASS'
finally:
for user in users:
api('/Users/'+user,method='DELETE')
+31 -1
View File
@@ -1,9 +1,39 @@
// Jellyfin Web's supported window plugin API supplies the native playback manager.
window.DecoderChannelPlayback = async () => class DecoderChannelPlayback {
constructor({ playbackManager, toast, appRouter, loading, events }) {
constructor({ playbackManager, toast, appRouter, loading, events, appHost }) {
this.id = 'decoder-channel-playback';
this.name = 'Decoder channel playback';
this.type = 'integration';
// Limit only this provider's web live TV negotiation, preserving the shared client profile.
if (appHost?.getDeviceProfile && !appHost.getDeviceProfile.decoderH264Policy) {
const originalProfile = appHost.getDeviceProfile;
const getDeviceProfile = async function (item, options) {
const profile = await originalProfile.call(this, item, options);
const api = window.ApiClient;
if (!profile || item?.Type !== 'TvChannel' || window.NativeShell ||
playbackManager.getCurrentPlayer()?.isLocalPlayer === false || !api?.getCurrentUserId() ||
(item.ServerId && item.ServerId !== api.serverId())) return profile;
try {
// Fresh policy per negotiation; an unavailable endpoint preserves native behavior.
let timeout;
const request = api.ajax({ type: 'GET', dataType: 'json',
url: api.getUrl('DecoderIntegration/WebPlaybackPolicy', { channelId: item.Id }) });
const policy = await Promise.race([request, new Promise(resolve => { timeout = setTimeout(() => resolve(null), 2000); })])
.finally(() => clearTimeout(timeout));
if (!policy?.IsEnigmaChannel || !policy.PreferH264) return profile;
const video = p => p.Type === 'Video' && (!p.Context || p.Context === 'Streaming');
const h264 = p => (p.VideoCodec || '').split(',').some(c => c.trim().toLowerCase() === 'h264');
if (!profile.TranscodingProfiles?.some(p => video(p) && h264(p))) return profile;
const copy = JSON.parse(JSON.stringify(profile));
copy.TranscodingProfiles = copy.TranscodingProfiles.filter(p => !video(p) || h264(p))
.map(p => video(p) ? { ...p, VideoCodec: 'h264' } : p);
return copy;
} catch { return profile; }
};
getDeviceProfile.decoderH264Policy = true;
try { appHost.getDeviceProfile = getDeviceProfile; }
catch { /* A client exposing a read-only host keeps its native negotiation. */ }
}
let generation = 0, starting = null, cancelButton = null, watcher = null;
const clearControls = () => { clearInterval(watcher); watcher = null; cancelButton?.remove(); cancelButton = null; };
events.on(playbackManager, 'playbackstop', () => { if (!starting) clearControls(); });