✦Ingegneria

Encoder video hardware a confronto: NVENC vs AMF vs QuickSync vs Apple VideoToolbox.

Quattro produttori. Quattro blocchi di silicio a funzione fissa. Un solo compito: trasformare un fotogramma di pixel in pochi kilobyte di H.265 o AV1 in meno di cinque millisecondi, sessanta volte al secondo, senza perderne nessuno. Ecco come si confrontano davvero NVIDIA, AMD, Intel e Apple per lo streaming a bassa latenza, e come Remio sceglie quello giusto a runtime.

Perché gli encoder hardware contano per il desktop remoto

Codifica un singolo fotogramma 1080p con libx264 su un core di CPU veloce. Su un moderno Apple serie M o su un Ryzen 7000 puoi arrivare a circa 8–12 millisecondi con il preset ultrafast, di più per tutto ciò che cerca di preservare la qualità. Sembra tollerabile finché non ricordi il budget: 16,6 millisecondi per fotogramma a 60 FPS. Ora aggiungi cattura, impacchettamento, coda del pacer, uscita di rete, decodifica e rendering. La codifica su CPU non si limita a rallentarti: si mangia l'intero budget di latenza e, oltre i 1080p60, perde fotogrammi.

Gli encoder hardware risolvono il problema dedicando silicio a funzione fissa allo stesso compito. NVIDIA chiama il suo blocco NVENC. AMD chiama il suo AMF (più precisamente il motore VCN pilotato da AMF). Intel chiama il suo QuickSync (il Media Engine dentro la sua iGPU). Apple chiama il suo VideoToolbox (l'API; il silicio è il Media Engine nei chip serie M e serie A). Tutti e quattro esistono per un solo motivo: la codifica software non riesce a rispettare gli obiettivi di latenza e frame rate che schermi, GPU e utenti moderni ormai si aspettano.

Per Remio in particolare, ogni millisecondo risparmiato all'encoder è un millisecondo che l'utente recupera al pacer, in rete e al renderer. Il nostro budget di latenza pubblicato punta a circa 8 ms di elaborazione in LAN (il resto è il ritmo di aggiornamento a 60 Hz del tuo schermo): il tempo di codifica è la singola variabile più grande. La scelta dell'encoder e la sua configurazione determinano tutto ciò che viene dopo.

I quattro produttori a colpo d'occhio

Prima di approfondire ciascuno, conviene capire cosa stiamo davvero confrontando. Non sono librerie intercambiabili: sono blocchi fisici su un die, ciascuno con la propria ISA, il proprio stack di driver, le proprie stranezze e la propria roadmap pluriennale. Differiscono per codec supportati, qualità prodotta, latenza raggiunta, energia assorbita e per le piattaforme su cui esistono.

NVENC — otto generazioni di perfezionamento di NVIDIA

NVENC è l'encoder con cui si confronta la maggior parte del software di streaming, in parte perché NVIDIA ha il budget di marketing e in parte perché il silicio è davvero stato eccellente per un decennio. Il blocco ha attraversato otto generazioni:

Per l'uso a bassa latenza, NVENC espone tre modalità di controllo del bitrate rilevanti. CBR con ottimizzazione low-latency e preset p1 (il più veloce) è la configurazione canonica: velocità di uscita deterministica, lookahead di un solo fotogramma, nessun B-frame. Remio usa esattamente questa configurazione con hevc_nvenc su Windows. Il tempo di codifica su Ada Lovelace a 1080p60 H.265 è costantemente di 1–3 ms.

Un'insidia storica: per anni l'NVENC consumer era limitato a tre sessioni di codifica simultanee dal driver NVIDIA. Quel limite è stato portato a otto nel 2023 e poi di fatto rimosso. Se stai leggendo un vecchio thread di forum che lo segnala, l'avviso non vale più.

AMF — l'outsider di AMD che ha finalmente recuperato

AMF (Advanced Media Framework) di AMD è l'API; il motore sottostante ha attraversato due architetture distinte. Il vecchio VCE (Video Coding Engine) era presente sulle schede dell'era GCN dal 2012 ed è stato il perenne punto debole nei confronti diretti tra encoder: qualità visibilmente peggiore di NVENC a parità di bitrate, soprattutto sui contenuti con molto movimento. AMD lo sapeva, la community dello streaming lo sapeva e i benchmark lo confermavano.

Quella storia è cambiata con VCN (Video Core Next), introdotto con Vega e perfezionato a ogni generazione successiva:

Per lo streaming a bassa latenza, AMF espone un preset di utilizzo ultralowlatency, un preset di qualità speed e una modalità di controllo del bitrate cbr. Remio usa hevc_amf con tutti e tre, lo stesso trio di preset documentato nelle nostre note sull'architettura di streaming. Il tempo di codifica su RDNA3 a 1080p60 H.265 sta di solito tra 2 e 4 ms. RDNA2 è intorno a 3–5 ms. Le schede più vecchie dell'era VCN 1.x vanno più vicine a 5–7 ms: ancora dentro il budget, ma con meno margine per i picchi dei keyframe.

Per cinque anni l'encoder di AMD è stato una barzelletta. RDNA2 lo ha sistemato. RDNA3 lo ha reso competitivo su AV1. Il duopolio degli encoder per lo streaming ora è un triopolio, ed è un bene per tutti.

QuickSync — il campione silenzioso dell'ubiquità

QuickSync è l'encoder che quasi certamente possiedi già. È presente in ogni CPU Intel con grafica integrata da Sandy Bridge nel 2011: oltre un decennio di portatili, NUC e desktop da ufficio con codifica video hardware inutilizzata perché l'utente pensava di aver bisogno di una GPU discreta. Non era così.

L'architettura è progredita di pari passo con la linea delle iGPU di Intel:

Il profilo termico è il superpotere silenzioso di QuickSync. Poiché vive dentro una iGPU già presente sul SoC, il costo marginale per usarlo è solo il blocco di codifica: niente risveglio di una GPU discreta, niente accensione dei controller di memoria GDDR6. Su un ThinkPad o un NUC, QuickSync offre una qualità paragonabile a NVENC con circa un quarto dell'energia a livello di sistema. Per l'host Windows di Remio, QuickSync è il ripiego di terza scelta dopo NVENC e AMF, non perché sia peggiore, ma perché chi ha GPU discrete di solito vuole la iGPU libera per altri carichi.

VideoToolbox — il Media Engine unificato di Apple Silicon

Apple non dà un nome commerciale al proprio encoder hardware come fa NVIDIA. L'API è VideoToolbox; il silicio è il Media Engine, un blocco progettato da Apple che vive dentro ogni Mac serie M e ogni SoC di iPhone/iPad dall'A6.

Il Media Engine è presente in numero diverso a seconda della versione:

Ogni Media Engine gestisce in hardware codifica e decodifica di H.264, H.265 e ProRes. La codifica ProRes è la funzione di punta per chi monta video (nessun altro chip consumer la offre), ma per lo streaming le capacità rilevanti sono una codifica H.265 main10 efficiente e una latenza di codifica sorprendentemente bassa.

La lacuna notevole: nessuna codifica AV1 su alcun Apple Silicon in commercio. I chip serie M decodificano AV1 dall'M3, ma non possono codificarlo. Per lo streaming da un Mac, H.265 è la scelta pratica predefinita per il prossimo futuro.

Dove Apple vince davvero è l'efficienza energetica. Su un M2 Pro che codifica 4K60 H.265 a 30 Mbps, l'intero Media Engine assorbe circa 3–5 watt. Il carico NVENC equivalente su una RTX 4070 assorbe più vicino a 35 watt a livello di sistema, in gran parte il consumo a riposo della GPU discreta, non il blocco encoder. Per un host Mac mini acceso 24 ore su 24 in attesa di un client, è la differenza tra «quasi invisibile in bolletta» e «visibile».

Confronto affiancato

Ecco i quattro motori sugli stessi assi. I valori di latenza sono per preset H.265 1080p60 a bassissima latenza, B-frame disattivati, VBV di un fotogramma: la configurazione di Remio. La qualità è una classifica percettiva approssimativa a 8 Mbps CBR; le differenze assolute sono piccole.

Asse NVENC (Ada) AMF (RDNA3) QuickSync (Arc / Gen12+) VideoToolbox (M3+)
H.264SìSìSìSì
H.265 (HEVC)SìSìSìSì (main10)
Codifica AV1SìSìSìNo
Codifica ProResNoNoNoSì
Risoluzione massima8K H.2658K H.2658K (Arc), 4K (iGPU)8K H.265
FPS massimi a 1080p H.265~480~360~360~600 (M3 Max)
Tempo di codifica, 1080p60 H.2651–3 ms2–4 ms2–4 ms2–3 ms
Consumo, 4K60 H.265~35 W di sistema~30 W di sistema~8 W di sistema (iGPU)~5 W
Classifica di qualità a 8 Mbps CBR1º a pari merito2º a pari merito2º a pari merito1º a pari merito
PiattaformeWindows, LinuxWindows, LinuxWindows, Linux, macOS (Mac Intel)macOS, iOS, iPadOS, tvOS
Sessioni simultaneeIllimitateIllimitateIllimitateIllimitate

Il riassunto onesto: con le impostazioni che lo streaming da desktop remoto usa davvero (CBR, bassa latenza, niente B-frame), tutti e quattro sono abbastanza buoni con un margine ampio. Le differenze stanno nel supporto AV1 (NVIDIA / AMD / Intel, non Apple), nell'efficienza energetica (Apple, poi la iGPU Intel, poi tutti gli altri) e nella disponibilità sulle piattaforme (non puoi scegliere VideoToolbox su un host Windows o NVENC su un Mac).

Cosa sceglie Remio a runtime

Remio rileva le capacità dell'host all'avvio e sceglie un encoder in base a una priorità deterministica. L'host Windows e l'host Mac seguono la stessa logica di selezione.

Sugli host Windows:

  1. NVENC (hevc_nvenc / h264_nvenc): scelto per primo quando è presente una GPU NVIDIA e il driver risponde. Preferito perché è l'encoder a bassa latenza più costante sulla più ampia gamma di generazioni hardware.
  2. AMF (hevc_amf / h264_amf): scelto per secondo quando è presente una GPU discreta AMD o una APU con VCN. Configurato con usage=ultralowlatency, quality=speed, rc=cbr.
  3. QuickSync (hevc_qsv / h264_qsv): scelto per terzo quando è presente una iGPU Intel. Funzionalmente equivalente nella nostra pipeline; preferiamo lasciare libera la iGPU se è disponibile una GPU discreta.
  4. Ripiego su CPU con libx264: scelto solo quando nessun encoder hardware risponde. Limitato a 720p60 o 1080p30 per restare nel budget di latenza.

Sugli host Apple: VideoToolbox è l'unica opzione, e l'unica che vogliamo. Il Media Engine di ogni Mac supportato (macOS 15+) gestisce H.265 main10 senza configurazioni. Nessun percorso di ripiego necessario.

La preferenza di codec è H.265 hardware per primo, H.264 come ripiego universale, da un capo all'altro e su ogni piattaforma. Remio oggi non usa AV1 (codifica sull'host, decodifica sul client e negoziazione del codec non sono nella pipeline); si attiene a H.265 anche su hardware che tecnicamente potrebbe fare AV1, perché in LAN il collo di bottiglia è la latenza di codifica, non il bitrate.

Compromessi tra qualità e latenza

Ogni encoder hardware espone la stessa manciata di manopole, e ogni manopola scambia qualità con latenza nella stessa direzione. La configurazione di Remio sta all'estremo più aggressivo del quadrante della latenza, perché il desktop remoto è per definizione un'applicazione in tempo reale in cui un fotogramma più vecchio di 20 ms è peggio di uno leggermente più sfocato del ideale.

Lo schema è coerente tra tutti e quattro i produttori. Il tempo reale a bassa latenza è un'ottimizzazione vincolata: rinunci a quel poco di qualità che lookahead e B-frame comprano nella codifica offline, in cambio della latenza prevedibile che l'interazione in tempo reale richiede. Ogni prodotto di streaming in commercio, Remio, Parsec, NVIDIA GeForce NOW, Xbox Cloud Gaming, fa lo stesso scambio nella stessa direzione.

Di cosa ti devi davvero preoccupare (tu, utente)

Se sei saltato alla fine: l'encoder hardware di qualsiasi GPU moderna va bene per il desktop remoto.

Le differenze nelle configurazioni in tempo reale sono più piccole del rumore di fondo di qualsiasi benchmark ragionevole. Chi ha una GTX 1060 Pascal ha la stessa esperienza Remio di chi ha una RTX 4090: entrambe saturano la pipeline a 120 FPS con circa 8 ms di latenza di elaborazione (il resto è il ritmo di aggiornamento a 60 Hz del tuo schermo) ed entrambe producono un risultato indistinguibile ai bitrate della LAN.

Le eccezioni, in ordine di quanto spesso contano:

Oltre questi casi limite, la risposta giusta è la più semplice: usa la GPU che compreresti comunque. Ogni produttore moderno è convergente sulle stesse capacità, sugli stessi preset a bassa latenza, sulla stessa fascia di qualità. Remio sceglie quello giusto a runtime, così non devi pensarci. Vai avanti con quello per cui hai aperto una sessione di desktop remoto: programmare, montare un video, sistemare un server, pubblicare una correzione da un bar.

È proprio questo il senso del silicio a funzione fissa. Funziona e basta, e smetti di accorgertene.

✦Domande

Domande frequenti

Quale encoder hardware ha la latenza più bassa?
Tutti e quattro, NVENC, AMF, QuickSync e Apple VideoToolbox, possono offrire meno di 5 millisecondi di tempo di codifica per fotogramma a 1080p60 una volta configurati in modalità a bassa latenza con B-frame disattivati e un buffer VBV di 1 fotogramma. Apple VideoToolbox sul silicio serie M e NVENC su Ada Lovelace sono i più stretti in pratica, entrambi capaci di raggiungere di routine 2–3 millisecondi per H.265 1080p60 nelle nostre misurazioni.
Vale già la pena usare la codifica AV1 hardware?
La codifica AV1 hardware dà una riduzione del bitrate di circa il 25–30 percento alla stessa qualità percepita rispetto a H.265, e del 50 percento rispetto a H.264. Sulle reti vincolate (Wi-Fi lento, dati mobili) è significativa. In LAN non fa differenza pratica perché il collo di bottiglia è la latenza di codifica, non la banda. Remio oggi offre H.265 hardware da un capo all'altro, con H.264 come ripiego universale: AV1 non è ancora nella pipeline, nemmeno su hardware che lo supporta.
Apple Silicon compete davvero con gli encoder delle GPU discrete?
Sì, e spesso vince sull'efficienza energetica. Il Media Engine unificato di Apple da M2 in poi codifica 4K60 H.265 con circa 3–5 watt, ben meno di un decimo di un motore NVENC di GPU discreta che fa lo stesso lavoro. La qualità è competitiva con NVENC a parità di bitrate e la latenza è paragonabile. Apple non offre ancora la codifica AV1, che è la lacuna principale.
Che encoder usa Remio su Windows?
Remio rileva automaticamente nell'ordine NVENC, poi AMF, poi QuickSync, poi il ripiego su CPU (libx264). Preferisce H.265 con hevc_amf o hevc_nvenc con il preset ultralowlatency, B-frame disattivati, buffer VBV di 1 fotogramma e CBR a 8 Mbps adattivo fino a 30 Mbps in LAN. La stessa filosofia di configurazione vale per tutti e tre i percorsi hardware: cambiano solo il nome del codec FFmpeg e alcune stringhe di preset specifiche del produttore.
Perché Remio preferisce H.265 a H.264 per impostazione predefinita?
H.265 raggiunge la stessa qualità percepita a circa metà del bitrate di H.264, il che conta per i picchi dei keyframe e le sessioni passate dal relay. Codifica e decodifica H.265 hardware sono ormai standard su ogni chip Apple, Intel, AMD e NVIDIA a cui Remio si rivolge. H.264 resta il ripiego universale per hardware molto vecchio e per le poche connessioni in cui la negoziazione di H.265 fallisce.
Conta quale encoder hardware ho per il desktop remoto?
Per la maggior parte degli utenti, no. Qualsiasi encoder hardware uscito negli ultimi sei anni (NVENC dell'era Pascal, AMF VCN 2.0+, QuickSync Skylake o successivo, qualsiasi Mac Apple Silicon) satura la pipeline a 120 FPS di Remio con circa 8 ms di elaborazione in LAN (il resto è il ritmo di aggiornamento a 60 Hz del tuo schermo). Le differenze sono ai margini: AV1 sulle reti lente, consumo energetico sui portatili e qualità a bitrate molto bassi. Scegli la GPU che compreresti comunque e l'encoder andrà bene.
Icona dell'app Remio

Lascia lavorare il silicio.

Remio rileva automaticamente NVENC, AMF, QuickSync o VideoToolbox e sceglie il percorso più veloce per il tuo hardware. Gratuito, senza account, circa 8 ms di elaborazione in LAN.

Uso gratuitoNessun accountAssociato in 30 secondi