Ottieni esportazioni incredibilmente veloci in Davinci Resolve con i doppi encoder Nvidia RTX serie 4000 di Nick Lear

Blog

CasaCasa / Blog / Ottieni esportazioni incredibilmente veloci in Davinci Resolve con i doppi encoder Nvidia RTX serie 4000 di Nick Lear

Oct 13, 2023

Ottieni esportazioni incredibilmente veloci in Davinci Resolve con i doppi encoder Nvidia RTX serie 4000 di Nick Lear

Export up to 6 times faster by changing one setting! Having recently done a

Esporta fino a 6 volte più velocemente modificando un'impostazione!

Avendo recentemente eseguito una serie approfondita di test della mia nuova scheda grafica Nvidia RTX 4080 su una gamma di NLE e applicazioni grafiche intensive, volevo approfondire il nuovo Nvidia Encoder (NVENC) di ottava generazione fornito con la serie 4000 che accelera il codifica di AV1, H.265 (HVEC) e H.264 (AVC). Volevo scoprire come sfruttare al massimo l'hardware, in particolare i doppi codificatori: questa volta Nvidia ha incluso due chip codificatori.

Si dice spesso "Buono, veloce, economico: scegline due" e si adatta abbastanza bene alla post produzione. La codifica ha una relazione simile tra qualità, velocità e dimensione del file.

Ad esempio, se correggi la dimensione del file fissando il bitrate, come è normale, puoi avere una qualità migliore impiegando più tempo per effettuare la codifica. Se correggi la qualità (usando, ad esempio, il cursore della qualità costante in Handbrake), puoi ridurre leggermente le dimensioni del file impiegando più tempo con la codifica. Il modo in cui procedi è scegliendo un preset diverso, visto ad esempio qui per l'encoder x264 in Handbrake.

Una preimpostazione è definita come segue:

Una preimpostazione è una raccolta di opzioni che forniranno una determinata velocità di codifica rispetto al rapporto di compressione. Una preimpostazione più lenta fornirà una compressione migliore (la compressione è la qualità per dimensione del file). Ciò significa che, ad esempio, se miri a una determinata dimensione di file o a un bit rate costante, otterrai una qualità migliore con un'impostazione più lenta. Allo stesso modo, per una codifica di qualità costante, risparmierai semplicemente il bitrate scegliendo un preset (sorgente) più lento.

La vera domanda, però, è se per te vale la pena dedicare quel tempo extra. Alcune persone sceglieranno semplicemente la preimpostazione più lenta sapendo che desiderano la massima qualità e sono disposte ad aspettarla. Personalmente vorrei sempre sapere se vale la pena fare qualcosa di più lento: cosa succede se aspetti 10 minuti in più ogni giorno per un miglioramento dello 0,01% che nessuno vedrà mai? Ebbene, a quanto pare è esattamente così, non solo per gli encoder software come x264, ma anche per la nuova serie RTX 4000, di cui parlerò più avanti.

Qualche tempo fa mi sono imbattuto in un'ottima ricerca di Jan Ozer chiamata "Scegliere un preset x264" che mostra chiaramente che non si guadagna quasi nulla utilizzando qualcosa di più lento del preset "più veloce" in termini di qualità, ma ti costa un bel po' di tempo se fate.

Anche l'encoder hardware di Nvidia (NVENC) ha delle preimpostazioni - ufficialmente chiamate da P1 (il più veloce) a P7 (il più lento) che secondo Nvidia "determinano ad esempio la struttura GOP, i fotogrammi B, la codifica look-ahead e così via" - roba per la maggior parte di noi non ho tempo per capire, ma è la stessa cosa: spendere un po' più di tempo per ottenere una qualità un po' maggiore o un file più piccolo.

E si scopre che il tempo di esportazione è molto diverso tra questi preset. Ho eseguito alcuni test sull'RTX 4080 esportando una clip DNxHR UHD 25fps di 5 minuti su tutte e tre le opzioni di output (H.264, H.265 e AV1) su tutti e 7 i preset. Per H.265 e AV1,il preset più veloce era circa 6 volte più veloce di quello più lento, passando da circa 50 FPS a circa 300 FPS. Per metterlo in un certo contesto,se hai una sequenza temporale di 30 minuti, la preimpostazione "Molto lento" richiederà più di 15 minuti e la preimpostazione "Molto veloce" richiederà 2,5 minuti. Questo tipo di tempo si somma se lo fai ogni giorno. Per ottenere questa velocità di esportazione, il codec di input deve essere ProRes o DNxHR (o codec mezzanino equivalente) con effetti già memorizzati nella cache/renderizzati, altrimenti l'encoder non viene alimentato abbastanza velocemente.

C'è anche un motivo per cui la velocità di codifica aumenta bruscamente per i due preset più veloci: è qui che entrano in gioco i doppi codificatori. Apparentemente in determinate condizioni, le nuove schede possono dividere un video in due metà e passare ciascuna metà a ciascun codificatore per poi ricombinarle. Per utilizzare i doppi encoder sulla nuova serie RTX 4000 è necessario che sia vero quanto segue:

Inoltre, sono riuscito a ottenere questo risultato solo in Davinci Resolve (non in Premiere Pro o Shutter Encoder, ad esempio). È interessante notare che la codifica H.265 ora è complessivamente più veloce di H.264: penso che sia ora di iniziare a usarla se non lo sei già.