Hoe zet hardwaretranscodering van Plex incompatibele invoer om in vloeiende weergave?

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.

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.

-15% OFF
Single board computer zimaboard2

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

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.