Modalità dettagliate della velocità in bit VP9

Introduzione

Anche se forniamo dettagli di alto livello sulle modalità di velocità in bit nelle nostre pagine Codifica di base, questi si riferiscono solo alla modalità CQ (Qualità vincolata).

Questo documento descrive altri modi pratici per personalizzare le velocità in bit VP9 in modo da ottimizzare una serie di scenari. Negli esempi riportati di seguito viene utilizzato FFmpeg.

Compressione

Le tecnologie di compressione video, come VP9, mirano a ridurre la quantità di dati necessari per comunicare un'immagine comprensibile e un senso di movimento agli utenti finali.

Una delle tecniche principali utilizzate per farlo è la quantizzazione. Un quantificatore semplifica matematicamente i vari elementi digitalizzati dell'immagine. Ad esempio, potrebbe ridurre la gamma di colori utilizzati e svolgere ulteriormente funzioni matematiche sui dati per "regolare" la mancanza percepita di risoluzione finale nella gamma di colori ridotta. Esistono molte funzioni di questo tipo.

La quantizzazione (o "Q") è ben descritta nel suo articolo di Wikipedia.

In VP9, la quantizzazione viene eseguita sui coefficienti di trasformazione. Questo riduce la velocità in bit richiesta per mantenere la qualità percepita, aggiungendo la codifica.

In definitiva, quando c'è una maggiore quantizzazione (un numero Q più alto), i dettagli vanno persi e la qualità è inferiore, ma sono necessari meno dati per archiviare il frame. Nella maggior parte dei casi, il codificatore VP9 raggiunge i suoi obiettivi di velocità in bit modificando Q nel tempo, a seconda della complessità di ogni frame.

Ottimizzazione del caso d'uso

Per consentire all'utente di "stringere" la compressione VP9 alle sue esigenze specifiche, è possibile regolare il bilanciamento tra qualità e velocità in bit al momento della compressione iniziale tramite una serie di interfacce di programmazione.

Il codificatore ha un giusto equilibrio tra velocità, qualità e velocità in bit.

  • Se un utente è interessato alla qualità, deve essere pronto per tempi di codifica più lunghi o per fornire risorse di elaborazione più veloci e abbondanti.

  • Se un utente è impegnato a garantire che il file con codifica VP9 di output sia di dimensioni ridotte e possa essere pubblicato rapidamente, deve essere pronto a ridurre il tempo di elaborazione dell'immagine da parte del quantificatore e, di conseguenza, ottenere dettagli più minimi a cui può funzionare il quantificatore.

  • Se un utente è semplicemente incentrato sulla velocità di pubblicazione (ad esempio, in un webcast in diretta o in una videoconferenza bidirezionale), la quantificazione potrebbe essere completamente subordinata a vincoli relativi alla velocità di trasmissione dei byte utilizzabili dei dati su una rete (ossia "bitrate").

La scelta corretta sarà altamente specifica per ogni caso d'uso. Per semplificare la regolazione del bilanciamento in base al tuo caso d'uso, VP9 supporta una configurazione semplice in quattro modalità di velocità in bit.

Modalità velocità in bit VP9

Iniziamo dando un'occhiata alle principali modalità di velocità in bit supportate da VP9:

Modalità
Quantificatore costante (Q) Consente di specificare un valore di quantificatore fisso; la velocità in bit varia
Qualità vincolata (CQ) Consente di impostare un livello qualitativo massimo. La qualità può variare all'interno dei parametri di velocità in bit
Velocità in bit variabile Consente di bilanciare qualità e velocità in bit nel tempo all'interno dei vincoli in termini di velocità in bit
Velocità in bit costante (CBR) Cerca di mantenere una velocità in bit abbastanza costante mentre la qualità varia

D

Grafico in modalità Q

La modalità Quantizer costante è un'ottima scelta per gli scenari in cui le preoccupazioni relative a dimensioni e velocità in bit dei file sono completamente subordinate alla qualità finale.

I casi d'uso per le impostazioni di Q si possono trovare nel cinema digitale, nelle suite di editing digitale o nelle applicazioni di segnaletica digitale, dove i contenuti possono essere forniti su un supporto di archiviazione fisico o in un ambiente senza vincoli, con largo anticipo sui contenuti effettivamente utilizzati e dove l'output desiderato deve essere della massima qualità visiva.

Ottimizzazione velocità in bit della modalità VP9 Q

La modalità Quantizer costante richiede una configurazione minima. Come suggerisce il nome, la modalità Q è incentrata sul mantenimento del quantificatore a un livello "qualità" target e su come consentire al quantificatore di determinare il flusso di dati che vuole elaborare. L'unica cosa che l'utente deve definire è la qualità target.

Puoi trovare ulteriori informazioni sulla qualità target da un obiettivo di elaborazione delle immagini (non da un valore in bit) nell'articolo Codifica di base.

Utilizza i seguenti parametri a riga di comando FFmpeg per l'ottimizzazione della velocità in bit della modalità Q:

ffmpeg
-b:v 0 Contrassegnando la velocità in bit del video come 0, impostiamo esplicitamente la modalità "Q"
-g <arg> Imposta l'intervallo dei fotogrammi chiave nei frame (il valore predefinito è 240)
-crf <arg> Imposta il livello qualitativo massimo. I valori validi sono 0-63. I numeri più bassi sono di qualità superiore
-quality good -speed 0 Impostazione predefinita e consigliata per la maggior parte delle applicazioni. best è più uno strumento di ricerca, con un miglioramento marginale rispetto a -quality good -speed 0
-lossless Modalità Perdita

Velocità in bit della modalità Q : esempi di FFmpeg

Il primo esempio è un'impostazione della modalità Q molto estrema e viene fornita solo a scopo illustrativo. Anche l'elaborazione del clip di 120 secondi in questi esempi richiederà diverse ore e il file di output prodotto in genere è molto più grande dell'origine originale.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -g 1 -b:v 0 -crf 0 -quality good \
  -speed 0 -lossless 1 -c:a libvorbis Q_g_1_crf_0_120s_tears_of_steel_1080p.webm.webm

Per confrontare l'effetto -crf, i seguenti esempi variano solo -crf. Tieni presente che -g non è definito, quindi per impostazione predefinita 240 e, in pratica, -crf viene impostato su 10, quindi abbiamo avuto lo stesso risultato senza includere entrambi i parametri nel secondo dei tre esempi:

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 0 -quality good \
  -speed 0 -c:a libvorbis Q_crf_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -c:a libvorbis Q_crf_10_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 63 -quality good \
  -speed 0 -c:a libvorbis Q_crf_63_120s_tears_of_steel_1080p.webm

L'output di questi esempi ha dimensioni diverse su disco. Con -crf impostato su 0, il file era 711,8 MB, con -crf impostato su 10 la dimensione del file era 125,3 MB, con -crf impostato su 63 era di 4,5 MB. In parole molto semplici, ciò evidenzia che abbiamo ridotto la qualità del file con codifica VP9 risultante aumentando il valore dell'argomento -crf. Nella tabella dei risultati riportata di seguito è disponibile un riepilogo completo di tutti i file di output.

Adesso confrontiamo l'effetto della variazione dell'impostazione -g.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 1 -b:v 0 -quality good \
  -speed 0  -c:a libvorbis Q_g_1_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 240 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_240_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -g 480 -b:v 0 -quality good \
  -speed 0 -c:a libvorbis Q_g_480_120s_tears_of_steel_1080p.webm

Abbiamo notato che l'impostazione -g 1 produce un file di dimensioni molto grandi, pari a 25,9 MB. Confrontalo con la modifica di -g 240 (impostando esplicitamente l'impostazione predefinita) dove si ottiene un file di 4,5 MB e di -g 480 con un file di 4,4 MB.

CQ

CQ è una modalità consigliata per video basati su file.

Grafico della modalità CQ

Per la maggior parte dei tipi di contenuti, consigliamo di utilizzare la modalità Limitazione di qualità, con quote limite. La maggior parte dei video contiene un mix di scene ad alto movimento (ad es. sequenze di azione) e scene con meno dettagli (ad es. conversazioni). La modalità CQ consente al codificatore di mantenere un livello qualitativo ragionevole durante le scene più lunghe e più semplici (senza sprecare bit), allocando altri bit per sequenze difficili.

Tuttavia, dobbiamo comunque vincolare il processo fornendo un intervallo più alto, altrimenti potrebbe non essere presente alcun compressione. Possiamo anche impostare un intervallo più basso in cui, anche se l'immagine è nera e il processo di codifica non ha quasi nulla, il traffico sarà comunque in velocità effettiva, forse meno efficiente di quanto non fosse possibile, ma il risultato finale è che anche il nero non viene compresso in modo significativo e appare "nero".

Inoltre, dobbiamo impostare la soglia per il quantificatore. Nella VP9, la soglia quantificabile può variare da 0 a 63.

Per la modalità CQ vengono utilizzati i seguenti parametri della riga di comando FFmpeg:
ffmpeg
-b:v <arg> Imposta la velocità in bit target (ad es.500. 000)
-minrate <arg>
-maxrate <arg>
Imposta la velocità in bit minima e massima.
-crf <arg> Imposta il livello qualitativo massimo. I valori validi sono compresi tra 0 e 63, mentre quelli di qualità inferiore sono di qualità superiore.
Modalità velocità in bit CQ: esempi di FFmpeg

Il primo esempio fornisce un vincolo ragionevolmente ampio. Rispetto agli esempi riportati sopra per il Q, tuttavia, abbiamo riscontrato che ciò forza la velocità in bit a un intervallo più elevato e la qualità dell'output è notevolmente superiore. Le dimensioni del file sono notevolmente maggiori.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1000k -maxrate 4000k -crf 10  -c:a libvorbis \
  CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm

Il file di output in questa istanza era di 20,2 MB su disco, notevolmente inferiore rispetto alla codifica in modalità Q negli esempi precedenti.

Per il prossimo esempio, abbiamo limitato la velocità in bit a un intervallo molto più definito.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10  -c:a libvorbis \
  CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm

In questo caso, le dimensioni del file di output erano pari a 24,1 MB; inoltre, al momento dell'elevata complessità e del movimento, la qualità video è notevolmente ridotta rispetto all'esempio precedente.

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 1000k \
  -minrate 750k -maxrate 1400k -crf 10  -c:a libvorbis \
  CQ_1400_750_crf_10_120s_tears_of_steel_1080pp.webm

In questo esempio finale, le dimensioni dell'output sono state notevolmente ridotte, scendendo a 13,2 MB su disco.

VBR

Si consiglia la modalità di velocità in bit variabile (VBR) per lo streaming di file video on demand di contenuti ad alto movimento (ad esempio sport). È adatto alla pubblicazione basata su HTTP.

Grafico della modalità VBR

In un modello VBR, le scene d'azione possono essere codificate con una velocità in bit più elevata rispetto alle scene "più semplici", che sono coerenti con il fotogramma chiave.

Per i modelli di distribuzione di flussi di dati di grandi dimensioni, i vantaggi di VBR possono sommarsi in modo significativo sia in termini di distribuzione che di termini dell'infrastruttura. Se molti stream VBR vengono pubblicati dalla stessa infrastruttura, questo può offrire vantaggi a tutti gli spettatori che utilizzano il sistema.

VP9 VBR è consigliato anche per la codifica di contenuti sportivi e di altro tipo con movimenti elevati. Per contenuti di tale complessità, la VBR ottiene una qualità superiore durante i periodi di minore movimento.

Per la modalità VBR vengono utilizzati i seguenti parametri della riga di comando FFmpeg:
ffmpeg
-quality good Se è presente, FFmpeg prenderà in considerazione l'impostazione -speed successiva.
-speed <arg> Per VIDEO ON DEMAND I valori validi sono 0-4, dove 0 è la qualità più alta e 4 la più bassa. (per il live streaming, l'intervallo è 5-8; vedi la CBR di seguito)
Modalità velocità in bit VBR: esempi di FFmpeg
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 0  -c:a libvorbis \
  VBR_good_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5  -c:a libvorbis \
  VBR_good_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 8  -c:a libvorbis \
  VBR_good_8_120s_tears_of_steel_1080pp.webm

CBR

Si consiglia la modalità di frequenza di bit costante (CBR) per il live streaming con VP9.

Grafico della modalità CBR

Sostanzialmente, la CBR imposta la velocità in bit superiore come un " soffitto fisso". Ciò significa che il processo di codifica non può produrre dati a una velocità che la rete non è in grado di sopportare.

Ad esempio, per le comunicazioni in tempo reale (videoconferenze), è importante che l'applicazione di codifica non inonda la rete con più dati di quanti possano contenere. Se sì, i problemi di sincronizzazione audio/video o i frame bloccati hanno un impatto significativo sull'esperienza utente, più che la riduzione dell'efficienza di compressione. Assicurandoti che sia definito il soffitto rigido, VP9 ridurrà la qualità man mano che viene raggiunto.

Per la modalità CBR vengono utilizzati i seguenti parametri della riga di comando FFmpeg:
ffmpeg
-quality realtime Se è presente, FFmpeg prenderà in considerazione l'impostazione -speed successiva.
-speed <arg> Per i live streaming, i valori validi sono 5-8, dove 5 è la qualità più alta e 8 è la più bassa. Per video on demand questi sono da 0 a 4. Vedi VBR sopra.
-minrate <arg>
-maxrate <arg>
Imposta la velocità in bit minima e massima ** Questi devono essere impostati sullo stesso valore di velocità in bit di -b:v per la modalità CBR** .

In termini molto semplici, fissiamo i valori target per il valore di velocità in bit minimo e massimo allo stesso valore e comunichiamo al quantificatore che le operazioni sono urgenti.

Modalità velocità in bit CBR: esempi di FFmpeg

Gli esempi riportati di seguito esplorano l'impostazione della velocità in bit su target da 2 Mbps e 500 kbps:

ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 0 -c:a libvorbis \
  CBR_2000_realtime_0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -c:a libvorbis \
  CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 8 -c:a libvorbis \
  CBR_2000_realtime__8_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 0 -c:a libvorbis \
  CBR_500_realtime__0_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -c:a libvorbis \
  CBR_500_realtime_5_120s_tears_of_steel_1080p.webm
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 8 -c:a libvorbis \
  CBR_500_realtime_8_120s_tears_of_steel_1080p.webm

Risultati

Ognuna di queste codifiche è stata eseguita su un sistema Ubuntu Linux con le seguenti specifiche:

  • Processore: 4x Intel(R) Core(TM) i5-6500 CPU a 3,20 GHz
  • Memoria (RAM): 8060 MB (1492 MB utilizzati)
  • Grafica: Intel HD Graphics 530 (Skylake GT2)
  • Sistema operativo: Ubuntu 16.04 LTS

In tutti i casi, il file di origine era un clip di un minuto e venti secondi (1:20) tratto da Tears Of Steel.

File Codifica min Dimensioni file su disco
Q_g_1_crf_0_120s_tears_of_steel_1080p.webm 81 1,06 GB
Q_crf_0_120s_tears_of_steel_1080p.webm 131 711,8 MB
Q_crf_10_120s_tears_of_steel_1080p.webm 118 125,3 MB
Q_crf_63_120s_tears_of_steel_1080p.webm 27 4,5 MB
Q_g_1_120s_tears_of_steel_1080p.webm 51 25,9 MB
Q_g_240_120s_tears_of_steel_1080p.webm 28 4,5 MB
Q_g_480_120s_tears_of_steel_1080p.webm 10 4,4 MB
CQ_4000_1000_crf_10_120s_tears_of_steel_1080p.webm 11 20,2 MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24,1 MB
CQ_1400_750_crf_10_120s_tears_of_steel_1080p.webm 50 13,2 MB
VBR_good_0_120s_tears_of_steel_1080p.webm 3 23,4 MB
VBR_buona_5_120s_tears_of_steel_1080p.webm 4 23,9 MB
VBR_good_8_120s_tears_of_steel_1080p.webm 1 23,9 MB
CBR_2000_realtime_speed_0_120s_tears_of_steel_1080p.webm 98 21MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 2 24,8 MB
CBR_2000_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 21MB
CBR_500_realtime_speed_0_120s_tears_of_steel_1080p.webm 73 6,2 MB
CBR_500_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 8,5 MB
CBR_500_realtime_speed_8_120s_tears_of_steel_1080p.webm 1 7,1 MB

È stato notato che l'impostazione di valori -speed superiori a 5 trasforma la velocità di elaborazione VP9. Anche se si tratta di un aumento considerevole della quantizzazione (visto dall'effetto "ditherment" "con una velocità in bit molto bassa e di qualità molto bassa"), VP9 è ancora in grado di produrre un output di 1080p a bassissima velocità, anche se è più adatto ai dispositivi mobili più piccoli.

Considerazioni sui casi d'uso con scalabilità automatica (ridimensionamento)

Le modalità di velocità in bit VP9 non sono chiaramente isolate e possono essere combinate con molti altri argomenti e parametri per scegliere come target specificamente i casi d'uso. Un tipico caso d'uso potrebbe essere quello di ridimensionare le dimensioni del video di output per scegliere come target un dispositivo specifico.

Un esempio classico sarebbe la modifica di uno stream HD in un output in SD. Anche in questo caso, ci saranno effetti significativi sul tempo di elaborazione e sulla velocità in bit dell'output. In uno scenario in cui due comandi FFmpeg sono identici, semplicemente la regolazione delle dimensioni del video di output cambierà le dimensioni del file risultante e di conseguenza la sua velocità in bit in un modello di streaming.

Per illustrare questo esempio, abbiamo preso un esempio di punto intermedio da ciascuna delle modalità di velocità in bit e abbiamo semplicemente aggiunto i parametri di ridimensionamento.

Modalità Q
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9 -b:v 0 -crf 10 -quality good \
  -speed 0 -vf scale=640x480 -c:a libvorbis 640x480_Q_crf_10_120s_tears_of_steel_1080p.webm
Modalità CQ
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -crf 10 -vf scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
Modalità VBR
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 1500k -maxrate 2500k -quality good -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
Modalità CBR
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 2000k \
  -minrate 2000k -maxrate 2000k -quality realtime -speed 5 -vf  scale=640x480 \
  -c:a libvorbis 640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

Tabella dei risultati per il ridimensionamento

File Codifica min Dimensioni file su disco
640 x 480_Q_crf_10_120s_tears_of_steel_1080p.webm 5 3,4 MB
640 x 480_CQ_crf_0_120s_tears_of_steel_1080p.webm 2 22,4 MB
640x480_VBR_good_5_120s_tears_of_steel_1080p.webm 1 22,6 MB
640 x 480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm 4 23MB

Per facilitare il confronto, si tratta degli stessi comandi FFmpeg dei nostri esempi precedenti, ma senza la scalabilità:

File Codifica min Dimensioni file su disco
Q_crf_10_120s_tears_of_steel_1080p.webm 56 126MB
CQ_2500_1500_crf_10_120s_tears_of_steel_1080p.webm 9 24,1 MB
VBR_buona_5_120s_tears_of_steel_1080p.webm 4 23,9 MB
CBR_2000_realtime_speed_5_120s_tears_of_steel_1080p.webm 1 24,8 MB

Come potrai notare, si registra una notevole riduzione delle dimensioni dei file di output per ognuno e, sebbene nella maggior parte degli esempi ci sia una riduzione del tempo di codifica, in modalità Q il tempo di codifica è effettivamente aumentato. La compressione di un video è più impegnativa, quindi anche se si prevede che il file di output sia di dimensioni inferiori se la qualità è senza vincoli (in quanto è in modalità Q), il tempo impiegato per produrre il file di output potrebbe aumentare. Non dare per scontato che un file più piccolo possa essere sempre consegnato più velocemente tramite il processo di codifica.

Scalabilità in corso e riduzione della velocità in bit in combinazione

Come confronto finale, gli esempi seguenti ripetono gli esempi di CQ, VBR e CBR di scalabilità, ma questa volta limitiamo la velocità in bit target a un livello di 500 kbps, ovvero circa un quarto (in linea con lo scale down delle dimensioni dell'immagine).

Modalità CQ
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 550k -crf 10 -vf  scale=640x480 -c:a libvorbis \
  640x480_CQ_crf_0_120s_tears_of_steel_1080p.webm
Modalità VBR
ffmpeg -i "120s_tears_of_steel_1080p.webm" -c:v vp9  -b:v 500k \
  -minrate 350k -maxrate 500k -quality good -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_VBR_good_5_120s_tears_of_steel_1080p.webm
Modalità CBR
ffmpeg -i 120s_tears_of_steel_1080p.webm -c:v vp9  -b:v 500k \
  -minrate 500k -maxrate 500k -quality realtime -speed 5 -vf scale=640x480 -c:a libvorbis \
  640x480_CBR_2000_realtime_5_120s_tears_of_steel_1080p.webm

Tabella dei risultati per il ridimensionamento e la riduzione della velocità in bit target

File Codifica min Dimensioni file su disco
640 x 480_CQ_500_crf_0_120s_tears_of_steel_1080p.webm 1 7MB
640x480_VBR_500_good_5_120s_tears_of_steel_1080p.webm 1 7MB
640 x 480_CBR_500_realtime_5_120s_tears_of_steel_1080p.webm 1 7,6 MB

Come puoi vedere, il tempo di codifica è stato ulteriormente ridotto.