Vier fabrikanten. Vier blokken silicium met vaste functie. Eén taak — een frame aan pixels in minder dan vijf milliseconden omzetten in een paar kilobyte H.265 of AV1, zestig keer per seconde, zonder er één te missen. Zo verhouden NVIDIA, AMD, Intel en Apple zich echt tot elkaar voor streaming met lage latentie, en zo kiest Remio tijdens het draaien de juiste.
Waarom hardware-encoders ertoe doen voor extern bureaublad
Encodeer één 1080p-frame met libx264 op een snelle CPU-kern. Op een moderne Apple M-chip of een Ryzen 7000 haal je ruwweg 8 tot 12 milliseconden voor de ultrafast-voorinstelling, langer voor alles wat kwaliteit probeert te behouden. Dat klinkt acceptabel tot je het budget onthoudt: 16,6 milliseconden per frame bij 60 FPS. Tel daar opname, verpakking, wachtrij van de pacer, netwerkverzending, decodering en weergave bij op. CPU-encoding vertraagt je niet alleen — het verbruikt het hele latentiebudget, en boven 1080p60 laat het frames vallen.
Hardware-encoders lossen dit op door silicium met vaste functie aan dezelfde taak te wijden. NVIDIA noemt het blok NVENC. AMD noemt het AMF (preciezer de VCN-engine die AMF aanstuurt). Intel noemt het QuickSync (de Media Engine in hun iGPU). Apple noemt het VideoToolbox (de API; het silicium is de Media Engine op M-serie- en A-serie-chips). Alle vier bestaan om één reden: softwarematige encoding haalt de doelen voor latentie en framerate niet die moderne schermen, moderne GPU's en moderne gebruikers nu verwachten.
Voor Remio specifiek is elke milliseconde die bij de encoder wordt bespaard een milliseconde die de gebruiker terugkrijgt bij de pacer, het netwerk en de weergave. Ons gepubliceerde latentiebudget mikt op ongeveer 8 ms verwerking op het lokale netwerk (de rest is het eigen verversingsritme van 60 Hz van je scherm) — de encodeertijd is de grootste losse variabele. De keuze van de encoder, en de configuratie ervan, bepaalt alles wat daarna komt.
De vier fabrikanten in een oogopslag
Voordat we dieper ingaan op elk, helpt het te begrijpen wat we eigenlijk vergelijken. Dit zijn geen onderling verwisselbare bibliotheken — het zijn fysieke blokken op een chip, elk met een eigen instructieset, een eigen driverstack, eigen eigenaardigheden en een eigen meerjarige roadmap. Ze verschillen in welke codecs ze ondersteunen, welke kwaliteit ze leveren, welke latentie ze halen, hoeveel stroom ze trekken en op welke platforms ze überhaupt bestaan.
- NVENC zit sinds 2012 (Kepler) in elke NVIDIA GeForce, Quadro en RTX. Generaties zijn gekoppeld aan architectuurfamilies: 1e generatie op Kepler, 8e generatie op Ada Lovelace. Hopper-onderdelen voor datacenters hebben een ander ritme.
- AMF ontsluit de VCN-engine (Video Core Next) van AMD, die de oudere VCE verving. Beschikbaar op elke Vega-, RDNA-, RDNA2- en RDNA3-GPU, plus nieuwere APU's.
- QuickSync zit sinds Sandy Bridge in 2011 in Intel-iGPU's — daarmee de meest wijdverbreide hardware-encoder ter wereld. Arc-GPU's (discreet) gebruiken dezelfde architectuur, opgeschaald.
- VideoToolbox is de Apple-API; het silicium eronder is de Media Engine, ingebakken in elke Apple Silicon-Mac, elke iPhone sinds de A6 en elke iPad. M-serie-chips hebben, afhankelijk van de uitvoering, een of twee engines.
NVENC — acht generaties verfijning bij NVIDIA
NVENC is de encoder waartegen de meeste streamingsoftware wordt gemeten, deels omdat NVIDIA het marketingbudget heeft en deels omdat het silicium al tien jaar echt uitstekend is. Het blok heeft acht generaties doorlopen:
- 1e-3e generatie (Kepler tot Maxwell, 2012-2014) — alleen H.264, bruikbaar voor streaming maar de kwaliteit bleef duidelijk achter bij libx264.
- 4e generatie (Pascal, GTX 10-serie) — voegde H.265-encoding toe. Dit is de generatie waarin de kwaliteit van NVENC libx264-fast-voorinstellingen bij dezelfde bitrate inhaalde en aantoonbaar overtrof.
- 6e generatie (Turing, RTX 20-serie, GTX 16-serie) — de vaak aangehaalde "Turing NVENC"-sprong. De kwaliteit bij lage bitrates verbeterde zo dat streamers niet langer deden alsof CPU-encoding voor live gebruik werkelijk beter was.
- 7e generatie (Ampere, RTX 30-serie) — verfijningen, grofweg gelijke kwaliteit als Turing per watt.
- 8e generatie (Ada Lovelace, RTX 40-serie) — eerste NVIDIA-generatie met hardwarematige AV1-encoding, plus dubbele encoder-engines op hogere uitvoeringen. Ada NVENC kan AV1 leveren met een kwaliteit die concurreert met libaom-av1 op gemiddelde voorinstellingen, voor een fractie van de CPU-kosten.
Voor gebruik met lage latentie biedt NVENC drie relevante ratecontrolmodi. CBR met low-latency-afstemming en de p1-voorinstelling (snelste) is de standaardconfiguratie: voorspelbare uitvoersnelheid, vooruitblik van één frame, geen B-frames. Remio gebruikt precies dit bij hevc_nvenc op Windows. De encodeertijd op Ada Lovelace bij 1080p60 H.265 is consequent 1 tot 3 ms.
Eén historische valkuil: NVENC voor consumenten was jarenlang via de driver van NVIDIA beperkt tot drie gelijktijdige encodeersessies. Die limiet werd in 2023 verhoogd naar acht en daarna feitelijk opgeheven. Lees je een verouderde forumdraad die erover waarschuwt, dan geldt de waarschuwing niet meer.
AMF — de underdog van AMD die eindelijk heeft ingehaald
AMF (Advanced Media Framework) van AMD is de API; de engine eronder heeft twee verschillende architecturen gekend. De oudere VCE (Video Coding Engine) zat vanaf 2012 in kaarten uit het GCN-tijdperk en was het eeuwige zwakke punt in vergelijkingen van encoders — zichtbaar slechtere kwaliteit dan NVENC bij gelijke bitrate, vooral bij beeld met veel beweging. AMD wist het, de streamingcommunity wist het en benchmarks bevestigden het.
Dat verhaal veranderde met VCN (Video Core Next), geïntroduceerd op Vega en verfijnd in elke volgende generatie:
- VCN 1.0-2.0 (Vega, RDNA1) — H.264 en H.265 met een kwaliteit die eindelijk op een haar na bij NVENC Pascal/Turing kwam.
- VCN 3.0 (RDNA2, RX 6000-serie) — aanzienlijke kwaliteitsverbeteringen, vooral bij lage bitrates. De eerste AMD-generatie die ik met een gerust hart aanbeveel voor gamestreaming.
- VCN 4.0 (RDNA3, RX 7000-serie) — voegt AV1-encoding toe, gelijk op met NVIDIA Ada. Twee encoders op hogere uitvoeringen voor parallelle sessies. De AV1-kwaliteit is in benchmarks van derden competitief met die van NVIDIA.
Voor streaming met lage latentie biedt AMF een gebruiksvoorinstelling ultralowlatency, een kwaliteitsvoorinstelling speed en een ratecontrolmodus cbr. Remio gebruikt hevc_amf met alle drie — hetzelfde drietal voorinstellingen dat in onze notities over de streamingarchitectuur staat. De encodeertijd op RDNA3 bij 1080p60 H.265 ligt doorgaans op 2 tot 4 ms. RDNA2 zit rond 3 tot 5 ms. Oudere kaarten uit het VCN 1.x-tijdperk komen dichter bij 5 tot 7 ms — nog binnen het budget, maar met minder ruimte voor pieken bij keyframes.
Vijf jaar lang was de encoder van AMD een grap. RDNA2 loste dat op. RDNA3 maakte hem concurrerend op AV1. Het duopolie van streamingencoders is nu een triopolie, en dat is goed voor iedereen.
QuickSync — de stille kampioen van alomtegenwoordigheid
QuickSync is de encoder die je vrijwel zeker al bezit. Hij zit in elke Intel-CPU met geïntegreerde graphics sinds Sandy Bridge in 2011 — dat is ruim tien jaar aan laptops, NUC's en kantoorbureaubladen met hardwarematige video-encoding die ongebruikt blijft omdat de gebruiker aannam dat er een aparte GPU voor nodig was. Dat was niet zo.
De architectuur heeft zich ontwikkeld in de pas met de iGPU-lijn van Intel:
- Sandy Bridge-Skylake (2011-2015) — alleen H.264, gemiddelde kwaliteit, maar toonaangevende latentie en zuinigheid voor een laptop.
- Kaby Lake-Coffee Lake (2016-2018) — voegde H.265, 10-bits en 4K-encoding toe.
- Ice Lake en later (2019+) — de Gen11/Gen12 Xe-iGPU verbeterde de kwaliteit enorm. In veel benchmarks scoort Gen12 QuickSync binnen een paar procent van NVENC Turing.
- Arc (discreet) (2022+) — de eerste lijn losse GPU's van Intel. Dezelfde Xe-HPG-architectuur, opgeschaald, met AV1-encoding. Arc was de eerste consumenten-GPU met hardwarematige AV1 — eerder op de markt dan NVIDIA Ada en AMD RDNA3 — en de kwaliteit is verrassend goed. Een Intel Arc A380 blijft een absurde koopje voor pure AV1-doorvoer per euro.
Het thermische profiel is de stille superkracht van QuickSync. Omdat het in een iGPU zit die al op de SoC zit, zijn de marginale kosten van gebruik alleen het encodeerblok — geen discrete GPU wakker maken, geen GDDR6-geheugencontrollers opstarten. Op een ThinkPad of NUC levert QuickSync vergelijkbare kwaliteit als NVENC voor ongeveer een kwart van het stroomverbruik van het systeem. Voor de Windows-host van Remio is QuickSync de derde keuze na NVENC en AMF — niet omdat het slechter is, maar omdat gebruikers met een discrete GPU hun iGPU meestal vrij willen houden voor andere taken.
VideoToolbox — de verenigde Media Engine van Apple Silicon
Apple voert voor zijn hardware-encoder geen merknaam zoals NVIDIA. De API is VideoToolbox; het silicium is de Media Engine, een door Apple ontworpen blok in elke M-serie-Mac en in elke iPhone/iPad-SoC sinds de A6.
De Media Engine zit er in verschillende aantallen in, afhankelijk van de uitvoering:
- M1, M2, M3 — één Media Engine.
- M1 Pro/Max, M2 Pro/Max, M3 Pro/Max — twee Media Engines.
- M1 Ultra, M2 Ultra — vier Media Engines (twee per samengevoegde die).
- M3 Max (16-kernige CPU) — twee Media Engines.
- M4-familie — vernieuwde Media Engine met hogere H.265-doorvoer.
Elke Media Engine verwerkt H.264, H.265 en ProRes encoding/decodering in hardware. ProRes-encoding is de blikvanger voor videomonteurs — geen andere consumentenchip heeft het — maar voor streaming zijn efficiënte H.265 main10-encoding en een verbluffend lage encodeerlatentie de relevante mogelijkheden.
De ene opvallende leemte: geen AV1-encoding op enige verkrijgbare Apple Silicon. M-serie-chips decoderen AV1 sinds de M3, maar kunnen het niet encoderen. Bij streamen vanaf een Mac is H.265 voorlopig de praktische standaard.
Waar Apple echt wint is stroomzuinigheid. Op een M2 Pro die 4K60 H.265 encodeert met 30 Mbps trekt de hele Media Engine ongeveer 3 tot 5 watt. Dezelfde taak met NVENC op een RTX 4070 trekt dichter bij 35 watt systeemverbruik — voor het grootste deel de ruststand van de discrete GPU, niet het encoderblok. Voor een Mac mini-host die 24/7 aanstaat te wachten op een client is dat het verschil tussen "nauwelijks merkbaar op de energierekening" en "duidelijk merkbaar".
Vergelijking naast elkaar
Hier zijn de vier engines op dezelfde assen. Latentiecijfers gelden voor 1080p60 H.265 met ultralage-latentie-voorinstellingen, B-frames uit, VBV van één frame — de configuratie van Remio. Kwaliteit is een grove perceptuele rangorde bij 8 Mbps CBR; absolute verschillen zijn klein.
| As | NVENC (Ada) | AMF (RDNA3) | QuickSync (Arc / Gen12+) | VideoToolbox (M3+) |
|---|---|---|---|---|
| H.264 | Ja | Ja | Ja | Ja |
| H.265 (HEVC) | Ja | Ja | Ja | Ja (main10) |
| AV1-encoding | Ja | Ja | Ja | Nee |
| ProRes-encoding | Nee | Nee | Nee | Ja |
| Max. resolutie | 8K H.265 | 8K H.265 | 8K (Arc), 4K (iGPU) | 8K H.265 |
| Max. FPS bij 1080p H.265 | ~480 | ~360 | ~360 | ~600 (M3 Max) |
| Encodeertijd, 1080p60 H.265 | 1-3 ms | 2-4 ms | 2-4 ms | 2-3 ms |
| Stroomverbruik, 4K60 H.265 | ~35 W systeem | ~30 W systeem | ~8 W systeem (iGPU) | ~5 W |
| Kwaliteitsrang bij 8 Mbps CBR | Gedeeld 1e | Gedeeld 2e | Gedeeld 2e | Gedeeld 1e |
| Platforms | Windows, Linux | Windows, Linux | Windows, Linux, macOS (Intel-Macs) | macOS, iOS, iPadOS, tvOS |
| Gelijktijdige sessies | Onbeperkt | Onbeperkt | Onbeperkt | Onbeperkt |
De eerlijke samenvatting: bij de instellingen die streaming van een extern bureaublad echt gebruikt (CBR, lage latentie, geen B-frames) zijn alle vier ruim goed genoeg. De verschillen zitten in AV1-ondersteuning (NVIDIA / AMD / Intel — niet Apple), stroomzuinigheid (Apple, dan Intel-iGPU, dan de rest) en beschikbaarheid per platform (je kunt geen VideoToolbox kiezen op een Windows-host of NVENC op een Mac).
Wat Remio tijdens het draaien kiest
Remio onderzoekt bij het opstarten de mogelijkheden van de host en kiest een encoder volgens een vaste prioriteit. De Windows-host en de Mac-host volgen dezelfde keuzelogica.
Op Windows-hosts:
- NVENC (
hevc_nvenc/h264_nvenc) — als eerste gekozen wanneer er een NVIDIA-GPU is en de driver reageert. Voorkeur omdat het de meest consistent lage latentie biedt over het breedste scala aan hardwaregeneraties. - AMF (
hevc_amf/h264_amf) — als tweede gekozen wanneer er een losse AMD-GPU of APU met VCN is. Geconfigureerd metusage=ultralowlatency,quality=speed,rc=cbr. - QuickSync (
hevc_qsv/h264_qsv) — als derde gekozen wanneer er een Intel-iGPU is. Functioneel gelijkwaardig in onze keten; we laten de iGPU liever vrij als er een discrete GPU beschikbaar is. - libx264 als CPU-terugvaloptie — alleen gekozen als geen enkele hardware-encoder reageert. Begrensd op 720p60 of 1080p30 om binnen het latentiebudget te blijven.
Op Apple-hosts: VideoToolbox is de enige optie, en de enige die we willen. De Media Engine in elke ondersteunde Mac (macOS 15+) verwerkt H.265 main10 kant-en-klaar. Geen terugvalpad nodig.
De codecvoorkeur is hardwarematige H.265 eerst, H.264 als universele terugval — van begin tot eind, op elk platform. Remio gebruikt vandaag geen AV1 (hostencoding, clientdecodering en codecafstemming ervoor zitten niet in de keten); het houdt zich aan H.265, zelfs op hardware die technisch AV1 kan, omdat de encodeerlatentie op het lokale netwerk het knelpunt is, niet de bitrate.
Afwegingen tussen kwaliteit en latentie
Elke hardware-encoder biedt dezelfde handvol knoppen, en elke knop ruilt kwaliteit voor latentie in dezelfde richting. De configuratie van Remio staat aan het meest agressieve uiteinde van de latentieknop, omdat extern bureaublad per definitie een realtime toepassing is waarbij een frame dat ouder is dan 20 ms erger is dan een frame dat iets minder scherp is dan ideaal.
- CBR vs VBR. Variabele bitrate geeft bij hetzelfde gemiddelde betere kwaliteit door bits te besteden waar ze helpen. Maar VBR geeft ook een onvoorspelbare grootte per frame, wat onvoorspelbare wachtrijen bij de pacer betekent, en dus onvoorspelbare latentie. Remio gebruikt overal CBR. De kwaliteitskosten zijn klein; de consistentie van de latentie is enorm.
- B-frames. B-frames verwijzen naar zowel eerdere als latere frames, dus de decoder moet wachten tot het latere frame binnen is voordat hij het B-frame decodeert. Prima voor video op aanvraag en fataal voor realtime. Remio schakelt B-frames uit op elke codec op elk platform.
- GOP / keyframe-interval. Langere GOP's (meer frames tussen keyframes) comprimeren beter. Kortere GOP's herstellen sneller van pakketverlies. Remio draait vrijwel oneindige GOP's en vraagt de host om een nieuw keyframe wanneer de decoder verlies meldt. Een verloren pakket wordt meteen opnieuw verzonden als het nog op tijd kan aankomen; kan dat niet, dan slaat Remio het over en vraagt om een nieuw frame in plaats van te wachten. Dat past bij onze streamingfilosofie om alleen het nieuwste frame weer te geven.
- Vooruitblik. NVENC, AMF en QuickSync ondersteunen allemaal vooruitblik over meerdere frames voor adaptieve kwantisatie. Elk frame vooruitblik voegt een volledig frame vertraging toe. Remio gebruikt geen of één frame vooruitblik — de laagste instelling van elke encoder.
- VBV-buffer. Het Video Buffering Verifier-venster bepaalt hoeveel bits de encoder vooruit mag "lenen" voordat hij terugkeert naar de doelsnelheid. Een groter VBV geeft soepelere kwaliteit. Een kleiner VBV geeft strakkere ratecontrol en lagere latentie. Remio gebruikt 1 frame VBV — de bitrate gedeeld door de framerate — de kleinste toegestane waarde.
Het patroon is bij alle vier de fabrikanten gelijk. Realtime lage latentie is een beperkte optimalisatie: je geeft de paar procent kwaliteit op die vooruitblik en B-frames bij offline encoding opleveren, in ruil voor de voorspelbare latentie die realtime interactie vraagt. Elk product voor streaming dat op de markt is — Remio, Parsec, NVIDIA GeForce NOW, Xbox Cloud Gaming — maakt dezelfde afweging in dezelfde richting.
Waar jij als gebruiker echt op moet letten
Als je naar het einde bent gesprongen: de hardware-encoder van elke moderne GPU is prima voor extern bureaublad.
De verschillen bij realtime-configuraties zijn kleiner dan de ruisvloer van elke redelijke benchmark. Een gebruiker met een Pascal GTX 1060 krijgt dezelfde Remio-ervaring als een gebruiker met een RTX 4090 — beide verzadigen de keten van 120 FPS met ongeveer 8 ms verwerkingslatentie (de rest is het eigen verversingsritme van 60 Hz van je scherm), beide leveren bij bitrates voor het lokale netwerk niet te onderscheiden beeld.
De uitzonderingen, in volgorde van hoe vaak ze ertoe doen:
- Hardware met AV1 helpt over het algemeen op trage netwerken. Bij hotelwifi of een mobiele hotspot geeft een Ada / RDNA3 / Arc-host met een M3+- of RTX 40-serie-client ~25 procent meer ruimte bij dezelfde kwaliteit in tools die het gebruiken. Op het lokale netwerk niets. Remio draait nog geen AV1 — H.265 van begin tot eind is de hele keten — dus dit is vandaag een voordeel van de fabrikant, niet van Remio.
- Apple Silicon-Macs zijn opmerkelijk goede hosts. De lage latentie van de Media Engine, uitstekende H.265 en een verbruik van 3-5 W maken van een Mac mini of Studio een van de beste streamingbronnen die altijd aan kunnen staan. Geen AV1-encoding is de enige leemte, irrelevant op het lokale netwerk.
- Een Intel Arc A380 is een onredelijk koopje voor AV1. Voor ~$120 krijg je een encoderblok dat alles onder de $400 verslaat.
- De libx264-terugval op de CPU is echt. Geen hardware-encoder — oude laptop, server zonder iGPU — Remio werkt nog steeds. Alleen niet op 4K 60, en niet zonder een CPU-kern te verbranden.
Buiten die randgevallen is het juiste antwoord het eenvoudigste: gebruik de GPU die je toch al zou kopen. Elke moderne fabrikant is uitgekomen op dezelfde mogelijkheden, dezelfde voorinstellingen voor lage latentie en dezelfde kwaliteitsmarge. Remio kiest tijdens het draaien de juiste, zodat jij er niet over na hoeft te denken. Ga aan de slag met waarvoor je de sessie op afstand opende — code schrijven, een video monteren, een server repareren, een fix pushen vanuit een café.
Dat is het hele punt van silicium met vaste functie. Het werkt gewoon, en je merkt het niet meer.