Record H264 comparison and plugin 7.0.7 rollout verification

This commit is contained in:
2026-10-13 00:12:48 +02:00
parent a7e44efdf7
commit e942cbccc5
6 changed files with 3490 additions and 0 deletions
+10
View File
@@ -121,3 +121,13 @@ Kod zawiera opcję „Preferuj H264 przy transkodowaniu telewizji w przeglądarc
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.
## A/B H264 i wdrożenie — 13.10.2026 CEST
Po kolejnym wyraźnym START zadania odbiornika wykonano pięć minut TVP1 z nowym JS wyłącznie w dwóch izolowanych kontekstach, przy produkcyjnej DLL nadal 7.0.6.0. Raporty `reception-h264-20261012.json` i `reception-h264-summary-20261012.json` używają daty UTC: firstframe 12.10 21:59:14.667 UTC / 23:59 CEST, cleanup 22:04:46.092 UTC / 13.10 00:04 CEST. Wyjście faktycznie H264/AAC 1080p50; polityka podmieniona tylko dla dokładnego ID TVP1. **15/15 kontroli transportu, dwóch odbiorców, audio, wyjścia i zwolnienia źródła PASS.** Pierwszy widz: 297,551 s pomiaru, postęp 295,088 s (ratio 0,992), dropped 1,4%, około 48,855 kl./s nieodrzuconych, trzy oczekiwania / 2,473 s. Drugi: ratio 1,000, dropped 0,1%, około 49,913 kl./s, zero oczekiwań po starcie. Jeden fizyczny klient Jellyfina przez całą fazę dwóch widzów; licznik otwarć 19 nie wzrósł. Końcowo brak klientów OpenWebif i relay 0/0. Oba stanowiska zaliczyły kryterium płynności klienta testowego. Nie jest to gwarancja innych urządzeń ani słyszalnego dźwięku.
Po zakończeniu uzgodnionego okna i potwierdzeniu zera odbiorców wdrożono **7.0.7.0**: DLL i skrypt wtyczki, z wcześniej zatwierdzonym restartem wyłącznie Jellyfina. Backup `/var/lib/jellyfin/decoder-plugin-backups/plugin-only-20261012T220741Z` zawiera poprzednią DLL/manifest oraz JS. Instalator potwierdził aktywną wersję i niezmienione hashe `/etc/default/jellyfin`, `encoding.xml`, wrapperów oraz `index.html/config.json` Web. Nie zmieniono odbiornika ani konfiguracji serwera. Preferencja H264 jest domyślną wartością nowego pola w konfiguracji dodatku; nie zapisywano globalnych ustawień klienta.
`verify.py` sprawdził rzeczywisty endpoint dla zwykłego użytkownika: kanał Enigma true/true, film i brak false/false, użytkownik bez uprawnień TV 403. Preferencje, izolacja, natywna paginacja i admin ACL PASS; 216 kanałów i 38 aktualnych timerów, bez tworzenia nowych timerów przez test. `test-e2e.cjs --ui-only` na produkcyjnej 7.0.7 zakończył się **17/17 PASS**, 500 audycji i 500 grafik w sprawdzanym EPG; nagrania Vu pozostają wyłączone. Po restarcie liczniki relay i dopasowań EPG zaczynają od zera; istniejące grafiki programów pozostały w natywnych danych i przeszły test ładowania. Na tym etapie nie uruchamiano dodatkowej TV po wdrożeniu: krótka kontrola odtwarzania bez podmian wymaga kolejnego uzgodnionego okna. W przeglądarkach z wcześniejszym JS należy wymusić odświeżenie (Ctrl+F5).
Parametr `--frame=<plik.png>` w próbie ciągłej może zapisać jeden kadr aktywnego wideo dla kontroli wizualnej. Jest opcjonalny; sam licznik klatek nie potwierdza obrazu na ekranie człowieka ani jakości odsłuchu.