Hardwaretranscodering in Plex zorgt voor soepele weergave van incompatibele media door de bron te decoderen, aan te passen wat moet veranderen en een nieuwe stream te coderen die de client kan accepteren.
Dat resultaat is geen Direct Play: Direct Play verstuurt compatibele bronstreams zonder videoconversie. Hardwaretranscodering wordt pas relevant nadat Plex heeft vastgesteld dat de aangevraagde client, kwaliteit, ondertiteling, audio- of netwerkomstandigheid de oorspronkelijke combinatie niet kan gebruiken. Het proces kan het best worden gezien als een pijplijn van een incompatibiliteit in het verzoek naar een nieuwe leverbare stream, met in elke fase een mogelijk foutpunt.
De pijplijn begint met een compatibiliteitsprobleem
Plex moet eerst bepalen of de aangevraagde media ongewijzigd, opnieuw verpakt of geconverteerd kunnen worden geleverd. Direct Play is de eenvoudige route; Direct Stream wijzigt de verpakking terwijl compatibele elementaire streams behouden blijven; transcodering wijzigt video, audio of beide om aan een client- of leveringsbeperking te voldoen.
Dat onderscheid is belangrijk, omdat videotranscodering een decodeer- en codeertaak is, geen snellere vorm van Direct Play. Zodra de conversie begint, produceert de server een nieuwe weergave van de bron in plaats van simpelweg de oorspronkelijke bytes te lezen en door te sturen.
De aanleiding kan ondersteuning voor clientcodecs, de aangevraagde resolutie, bitrate, HDR-verwerking, ondertiteling of een audiocombinatie zijn die de volledige afspeelroute verandert. Een uitleg van het mechanisme begint daarom bij de incompatibiliteit, niet bij het GPU-model.
Hardwaredecodering zet de gecomprimeerde bron om in werkframes
De gecomprimeerde bron bereikt een decoder die videoframes en referentietoestanden reconstrueert uit indelingen zoals H.264 of HEVC. Hardwareversnelling verplaatst ondersteund decodeerwerk naar een media-engine, waardoor voor die fase minder algemeen CPU-werk nodig is.
Hardwaredecodering en -codering zijn afzonderlijke fasen. De media-engine moet de invoercodec ondersteunen voordat hardwaredecodering kan plaatsvinden; als dat niet het geval is, kan Plex softwarematig decoderen, zelfs wanneer de daaropvolgende coderingsfase nog steeds de accelerator gebruikt.
Dit verklaart waarom het dashboard moet worden gelezen als een indicator van de pijplijn en niet als één aan/uit-label. Gedeeltelijke versnelling kan nog steeds een zware fase op de CPU laten draaien, en een laag CPU-gebruik bewijst niet dat elke transformatie in hardware plaatsvindt.
Schalen, tonemapping en ondertitelverwerking veranderen de frames
Na het decoderen kan Plex het beeld verkleinen of vergroten, de kleurverwerking wijzigen, HDR naar SDR omzetten of ondertitels samenvoegen voordat de uitvoer wordt gecodeerd. Deze bewerkingen vormen het middendeel van de pijplijn en kunnen de hardwareroute wijzigen, zelfs wanneer zowel decodering als codering worden ondersteund.
HDR- en ondertitelverwerking kunnen bepalen of het middendeel van de pijplijn efficiënt blijft. De belangrijkste bewering is beperkter dan een specifieke configuratiehandleiding: transformaties tussen decodering en codering kunnen de zwaarste fase worden wanneer de client meer nodig heeft dan alleen een eenvoudige codecwijziging.
Als het afspelen alleen vertraagt wanneer HDR-tonemapping of het inbranden van ondertitels is ingeschakeld, is de encoder niet automatisch het knelpunt. Vergelijk dezelfde bron met die transformatie uitgeschakeld voordat je de GPU-capaciteit of bitrate-instellingen wijzigt.
Hardwarecodering bouwt de nieuwe clientcompatibele uitvoer
Zodra de werkframes gereed zijn, comprimeert de encoder ze naar de uitvoerindeling en -kwaliteit die voor de sessie zijn geselecteerd. Hier kan hardwarematige videocodering het CPU-gebruik aanzienlijk verlagen, mits de accelerator de aangevraagde uitvoer ondersteunt en Plex er toegang toe heeft.
Nadat hardwarecodering is ingeschakeld, zou een echte videoconversie zichtbaar moeten zijn als hardwareactiviteit en niet alleen als hoog CPU-gebruik. Deze controle bevestigt waar de coderingsfase wordt uitgevoerd, zonder te veranderen wat die fase doet.
De gecodeerde video wordt vervolgens gecombineerd met de geselecteerde audio en container- of streamverpakking. De client ontvangt een nieuwe stream die overeenkomt met zijn verzoek; de oorspronkelijke bron blijft ongewijzigd op de opslag staan.
Soepele weergave hangt af van het volledige uitvoerpad
Snelle codering is alleen nodig wanneer conversie vereist is en is op zichzelf niet voldoende. Tijdelijke transcodeopslag, netwerklevering, de clientbuffer en de clientdecoder moeten het tempo eveneens kunnen bijhouden. Een krachtige GPU kan frames dus op tijd verwerken terwijl een andere fase zichtbare buffering veroorzaakt.
Soepele 4K-weergave hangt nog steeds af van Direct Play-vereisten wanneer de bron al compatibel is. Als de client het oorspronkelijke bestand kan accepteren, is het meestal eenvoudiger om conversie te vermijden dan een snellere conversieroute te bouwen.
Gebruik clientcompatibiliteit of transcodeervermogen pas als volgende beslissing wanneer er daadwerkelijk sprake is van een incompatibiliteit met de client. Hardwaretranscodering is een compatibiliteitsbrug; Direct Play blijft een andere route en niet de laatste fase van dezelfde pijplijn.
Tech & AI HUB
Meer om te lezen

Wat is de Plex-status en welke onderdelen moeten behouden blijven?
Persistente Plex-statusinformatie is de informatie die de serverervaring na een herstart en opnieuw opbouwen behoudt; media- en tijdelijke transcodegegevens hebben afzonderlijke functies.

Hoe regelt Plex de authenticatie voor lokale en externe sessies?
Plex-authenticatie begint met de identiteit van de server en het account. Vervolgens bepalen lokale of externe netwerkpaden de bereikbaarheid en het gedrag van beveiligde...

Waarom kan het zoeken in Plex trager worden naarmate de bibliotheekgegevens toenemen?
Alleen de groei van de bibliotheek is niet de diagnose. Controleer de querystructuur, indexen, cachestatus, opslaglatentie en schrijfactiviteit voordat je de omvang van de...

