Record coordinated reception results and prepare scoped web H264 option
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user