Waarom Plex-weergave verschilt tussen browsers en native apps

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Plex-weergave verschilt per client, omdat elke app andere mogelijkheden voor containers, codecs, audio, ondertiteling en afspelen aan de server doorgeeft.

Dezelfde film kan in een native tv-app Direct Play gebruiken, maar in een browser op hetzelfde netwerk een transcodering activeren. Dat betekent niet automatisch dat de browser trager is of dat de server verkeerd is geconfigureerd; het afspeelpad verandert wanneer de client een onderdeel van de bron niet ongewijzigd kan accepteren. Vergelijk de mogelijkheden en de afspeelmodus voordat je het hardwaregebruik vergelijkt.

Clientmogelijkheden bepalen het afspeelpad

Plex kiest tussen Direct Play, Direct Stream en volledige transcodering op basis van wat de client aangeeft te kunnen verwerken. Een client die de video, audio, ondertiteling en container accepteert, kan het oorspronkelijke bestand ontvangen, terwijl een andere client zelfs vanaf dezelfde server remuxing of conversie kan afdwingen.

De server kiest tussen Direct Play, Direct Stream en transcodering op basis van compatibiliteit met de client en de vereisten van de stream. Daardoor veranderen de bronnen die elke sessie gebruikt; dat is het uitgangspunt voor een vergelijking tussen afspelen in een browser en in een native app.

De duidelijkste aanwijzing is een verandering van afspeelmodus in het Plex-dashboard. Als de native app Direct Play toont, maar de browser video- of audiotranscodering gebruikt, hebben de clientmogelijkheden de serverbelasting veranderd voordat netwerksnelheid überhaupt wordt meegewogen.

Codec, audio, ondertiteling en container zijn afzonderlijke factoren

Videocompatibiliteit is slechts één factor. Audioformaten, het renderen van ondertiteling, containerondersteuning, browsermedia-API's en kwaliteitsinstellingen van de client kunnen afzonderlijk een verder compatibel bestand veranderen in Direct Stream of transcodering.

Bij het meten van browsergebruik tegenover native afspelen kan afspelen in een browser meer transcodering vereisen dan een native app wanneer codecs, containers of ondertiteling buiten het afspeelpad van de browser vallen.

Een verschil dat de client volgt, is een compatibiliteitsresultaat en geen bewijs dat de opslag of serverhardware is veranderd. Daardoor zijn clientkeuze en normalisatie van mediaformaten legitieme manieren om de prestaties te verbeteren.

Wanneer de clientkeuze niet langer de hoofdoorzaak is

Clientmogelijkheden vertellen niet het hele verhaal wanneer de bandbreedte op afstand lager is dan de bitrate van de bron, wanneer kwaliteitslimieten van de server conversie afdwingen of wanneer het mediabestand zelf beschadigd is. In die gevallen kan zelfs een capabele native client de oorspronkelijke stream niet ontvangen.

Op het omslagpunt bij browsergebruik tegenover native afspelen kan Plex-transcodering het CPU-gebruik sterk verhogen of werk naar een GPU verplaatsen. Daarnaast worden tijdelijke werkgegevens op de server aangemaakt.

Herhaal de test lokaal met de oorspronkelijke kwaliteit. Als beide clients nog steeds verschillende afspeelmodi kiezen, is compatibiliteit waarschijnlijk de oorzaak. Als ze lokaal dezelfde modus kiezen maar op afstand verschillen, onderzoek dan eerst de bandbreedte en het beleid voor externe kwaliteit.

Voer een gecontroleerde vergelijking tussen clients uit

Kies één representatief bestand, houd netwerk en kwaliteit constant en vergelijk de afspeelmodus in de browser en de native app. Wijzig steeds slechts één factor: ondertiteling, audiotrack, kwaliteit of client. Dezelfde grens is gemakkelijker zichtbaar in een hardwareversnelde medias stack wanneer elke service een expliciete rol voor bronnen en herstel heeft.

Voordat je een wijziging in browsergebruik tegenover native afspelen accepteert, kan afspelen in een browser meer transcodering vereisen dan een native app wanneer codecs, containers of ondertiteling buiten het afspeelpad van de browser vallen.

Stop wanneer je precies kunt benoemen welke stream of instelling Direct Play omzet in conversie. Dat resultaat is bruikbaarder dan de algemene bewering dat de ene client sneller is, omdat het aangeeft of je de client, het mediaformaat of de servercapaciteit moet aanpassen.

  1. Gebruik op beide clients hetzelfde bestand en dezelfde aangevraagde kwaliteit
  2. Noteer Direct Play, Direct Stream of Transcode
  3. Test opnieuw zonder ondertiteling
  4. Scheid lokale compatibiliteit van bandbreedte op afstand

Tech & AI HUB

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.