Rav1e, un codificatore AV1 in Rust, raggiunge la sua nuova versione 0.2

Rav1e è un codificatore video AV1, cos'è progettato per coprire tutti i casi d'uso, sebbene nella sua forma attuale sia più adatto per i casi in cui libaom. Rav1e offre codifica video ad alte prestazioni. Codificatore è scritto in ruggine e si differenzia dal codificatore libaom di riferimento per un aumento significativo della velocità di codifica e una maggiore attenzione alla sicurezza. Il codice del progetto è distribuito sotto la licenza BSD.

rav1e supporta tutte le principali funzionalità di AV1, inclusi fotogrammi vnutrenne e codificati esternamente (intra e inter-frame) 64 × 64 superblocchi, 4: 2 0, 4: 2: 2 e 4: 4: 4, 8 sottocampionamento colore, codifica profondità colore 10 e 12 bit, RDO (velocità Distortion Optimization) ottimizzazione della distorsione, varie modalità per prevedere i cambiamenti tra i fotogrammi e rilevare le trasformazioni, controllare la velocità di flusso e rilevare il troncamento della scena.

Il formato AV1 è notevolmente più avanti di x264 e libvpx-vp9 in termini di compressione, ma a causa della complessità degli algoritmi, richiede molto più tempo per la codifica (libaom è centinaia di volte indietro rispetto a libvpx-vp9 e migliaia di volte dietro x264).

Il codificatore rav1e fornisce 11 livelli di prestazioni, il più alto dei quali consente velocità vicine alla codifica in tempo reale. Il codificatore è disponibile sia come utilità della riga di comando che come libreria.

Delle sue caratteristiche principali che si distinguono da Rav1e:

  • Intra e inter frame
  • 64 × 64 Superblock
  • Quadrato selezionato da 4 × 4 a 64 × 64 RDO e 2: 1/1: 2 blocchi rettangolari
  • DC, H, V, Paeth, smooth e un sottoinsieme di modalità di previsione direzionale
  • DCT, (FLIP-) ADST e trasformazioni di identità (fino a 64 × 64, 16 × 16 e 32 × 32 rispettivamente)
  • Profondità di colore a 8, 10 e 12 bit
  • Campionamento cromatico 4: 2: 0 (supporto completo), 4: 2: 2 e 4: 4: 4 (limitato)
  • Impostazioni di velocità variabili
  • Codifica quasi in tempo reale ad alta velocità

Informazioni sulla nuova versione di rav1e 0.2

Nella nuova versione di rav1e viene evidenziato questo sono state effettuate varie ottimizzazioni, quello ha permessoAumenta la produttività del 40% -70%, rispetto alla prima versione (a seconda delle impostazioni di codifica).

D'altra parte, si evidenzia anche questo aggiunta l'opzione "serializza" all'interfaccia cli per la serializzazione e la deserializzazione dei parametri di codifica.

Il flag –benchmark è stato aggiunto a cli per macOS e Linux e ha anche aggiunto la possibilità di configurare il targeting utilizzando l'opzione SpeedSetting (disabilitata per impostazione predefinita in quanto può portare alla desincronizzazione).

a parte quello le build ora usano il formato nano di debug per gli obiettivi che lo supportano, prima che fosse un mix di pugnalate naniche dovute a difetti di nasm.

Come installare rav1e su Ubuntu e derivati?

Per coloro che sono interessati a poter installare questo codificatore AV1 nel proprio sistema, dovrebbero saperlo attualmente rav1e è disponibile per essere compilato su Linux sebbene per Windows sia disponibile un exe.

In questo caso ci interessa poterlo installare in Ubuntu e nelle sue derivate, quindi per fare ciò, devono avere Rust installato sul proprio sistema.

Se non ce l'hai, quello che dovresti fare è apri un terminale sul tuo sistema (puoi farlo con la scorciatoia Ctrl + Alt + T) e in esso digiterai i seguenti comandi:

sudo apt install curl

curl https://sh.rustup.rs -sSf | sh

Successivamente dobbiamo solo digitare l'opzione 1 e verrà installata. Fatto ciò, configureremo l'ambiente per il compilatore Rust con:

source $HOME/.cargo/env

Ora per installare rav1e, digiteremo:

sudo apt -y install cargo git perl nasm cmake clang pkg-config

Cloniamo il codice rav1e:

git clone https://github.com/xiph/rav1e.git

mv rav1e rav1e-git

cd rav1e-git

E iniziamo con la compilation:

git submodule update –init

cmake aom_build/aom -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=0 -DENABLE_TESTS=0 -DENABLE_DOCS=0 -DCONFIG_LOWBITDEPTH=1

make -j$(nproc)

cargo build --release

cp target/

E voilà, se vuoi conoscere l'uso di rav1e puoi consultare il seguente collegamento.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.