Projektet FluxCast 0.3.0 er blevet udgivet, hvilket er beregnet til at organisere streaming af arbejdsbordet Linux til Smart TV-skærme via Wi-Fi Direct (Miracast), DLNA og Chromecast med minimal forsinkelse. Kildekoden til projektet er skrevet i Python og distribueres under GPLv3-licensen.
Blandt ændringerne:
- Der er lanceret et eget APT-lager til Debian- og Ubuntu-distributioner. Tidligere blev deb-pakker kun knyttet til udgivelsessiderne på GitHub, og opdatering krævede manuel overvågning af nye udgivelser og download af en version, der svarede til ens distributionsversion. Tilføjelsen af lageret indebærer installation af pakken fluxcast-repo, som tilføjer en nøgle til verifikation af den digitale signatur og en fil med lagerindstillingerne. Den passende bygning bestemmes automatisk ud fra versionen af python3, ikke distributionskodename, hvilket giver mulighed for korrekt at understøtte afledte bygninger som Linux Mint og Pop!_OS samt mellemliggende
udgivelser af Ubuntu. Debian 12 og 13, Ubuntu 24.04 og 26.04 understøttes, arkitektur amd64. Indekserne signeres på GitHub Actions-side, den private nøgle serveren er ikke offentliggjort. Tidligere offentliggjorte versioner forbliver tilgængelige, hvilket giver mulighed for tilbageførsel. - Et indstillingsvindue er implementeret, der kan åbnes fra menuen i systembakken. Tidligere krævede ændringer af indstillinger manuel redigering af filen ~/ .config/ fluxcast/ config. I grænsefladen er 20 parametre til Miracast tilgængelige og 8 for DLNA og Chromecast.
Indtastede værdier verificeres af de samme håndterere, der anvendes til at læse konfigurationen, og kommentarer indsat af brugeren i filen bevares ved skrivning. Vinduet er bygget med Tkinter og tager højde for det valgte lys- eller mørkt tema i systemet. - Muligheden for hardwarekodning af video via VA-API er blevet tilføjet, aktiveret med parameteren "—wfd-encoder va" og bruger elementet vah264enc. I konfigurationer, hvor den sammensatte server sender billeder som DMABuf, behandler pipeline "pipewiresrc — vapostproc —
vacompositor — encoder" dataene uden at kopiere til systemhukommelsen. I gennemførte tests under streaming af et statisk billede faldt belastningen
fra 80% til 1% af et enkelt CPU-kerne, med bevægelse fra 73-79% til 6-7%, og forsinkelsen fra ændring på skærmen til ankomsten af billedet til encoder blev reduceret fra 64 til 27 ms. Testningen blev kun udført på Intel GPU. Som standard forbliver
der anvendes softwarekodeks x264, som automatisk skifter, når nødvendige VA-API-elementer ikke er til stede. Bitrate-kontrollen angives med parameteren «—wfd-rate-control», hvoraf qvbr bruges som standard. - Der er tilføjet valgfri støtte til forhandling af WFD R2-tilstande, aktiveret af parameteren «—wfd-r2». Når den er aktiveret, anmoder M3-anmodningen om listerne wfd2_video_formats og wfd2_audio_codecs, hvilket åbner for tilstande, der offentliggøres
af modtageren kun inden for den anden udgave af specifikationen. For eksempel bliver tilstanden 1080p60 tilgængelig på LG C2-TV'er, som ikke er inkluderet i R1-listen, hvilket har medført, at anmodningen om 60
billeder pr. sekund tidligere førte til et fald til 1080p30. Hvis modtageren ikke understøtter
eller afviser R2-parametrene, vender det tilbage til den første udgave. Muligheden
er deaktiveret som standard og er indtil videre testet på én model tv. - Problemet med at identificere værktøjerne iw og wpa_cli som
manglende, når de er placeret i kataloget /usr/sbin, som ikke er en del af PATH
for ikke-privilegerede brugere i Debian og Ubuntu (fejlen påvirkede ikke kun
udgangen fra tilstand «—doctor», men også identifikationen af det trådløse interface i backend wpas). - Tilstanden «—doctor» viser nu en advarsel, hvis der er åbne Wi-Fi Direct interfaces, der er tilbage fra afbrudte sessioner, og giver kommandoer til at fjerne dem.
I WFD-sessionens kode er der implementeret en SIGTERM-signalbehandler (den tidligere stop af stream fra tray førte til, at processen afsluttede uden at frigive ressourcer og underrette modtageren). - Forvridning af proportionerne og en forsinkelse på op til 9 sekunder ved ændring af vinduesstørrelsen i sessioner med optagelse af enkeltvinduer i KDE er blevet rettet.
- Antallet af x264-kodningsstrømme er begrænset til min(4, antal CPU'er), da koderen i «tune=zerolatency»-tilstand producerer én slice pr. strøm, hvilket på systemer med 16 kerner førte til overdreven fragmentering af ramme og en stigning i belastningen på cirka en tredjedel.
- Brugergrænsefladen er oversat til tyrkisk, og det samlede antal understøttede sprog er nu
- ti. Lokaliseringsfilerne er opdelt i separate filer for hvert sprog.
Udgivelsen af projektet FluxCast 0.3.0 har fundet sted, hvilket er beregnet til at organisere streaming af Linux-skrivebordet til Smart TV-skærme via Wi-Fi Direct (Miracast), DLNA og Chromecast med minimal forsinkelse.
Kilde: opennet.ru
