Rav1e 0.3 arriveert met hogere coderingssnelheid en meer

Enkele dagen geleden was het heeft de nieuwe versie van Rav1e 0.3 uitgebracht, dat is een AV1-encoder geschreven in Rust en dat het gepositioneerd is als een van hoge prestaties. Rav1e is ontworpen om alle gebruiksscenario's te dekken, hoewel het in zijn huidige vorm meer geschikt is voor gevallen waarin libaom.

Het ondersteunt alle belangrijke AV1-functies, inclusief vnutrenne en extern gecodeerde frames (intra en interframes) 64 × 64 superblokken, 4: 2: 0, 4: 2: 2 en 4: 4: 4, 8 subsampling kleur, 10 en 12 bit kleurdiepte codering, RDO (Velocity Distortion Optimization) vervormingoptimalisatie, verschillende modi om veranderingen tussen frames te voorspellen en transformaties te detecteren, stroomsnelheid te regelen en scènekortingen te detecteren.

Het AV1-formaat loopt aanzienlijk voor op H.264 en VP9 in compressiemogelijkheden, maar vanwege de complexiteit van de algoritmen die ze implementeren, vereist het aanzienlijk meer tijd voor het coderen (in termen van coderingssnelheid loopt libaom honderden keren achter op libvpx-vp9 en duizenden keren achter op x264).

De rav1e-encoder biedt 11 prestatieniveaus, waarvan de hoogste snelheden mogelijk maakt die bijna realtime coderen. De encoder is beschikbaar als opdrachtregelprogramma en als bibliotheek.

Wat is er nieuw Rav1e 0.3?

Met de release van deze nieuwe versie, een van de meest opvallende kenmerken is dat de coderingsmodus is verbeterd, waarmee het veel sneller is dan zijn vorige versies.

Daarnaast de omvang van de binaire bestanden is verkleind (op het x86_64-platform voor Linux neemt de bibliotheek ongeveer 3 MB in beslag), waarmee het uitgevoerde werk op een betere manier werd geoptimaliseerd.

Voor x86_64-architectuur zijn aanvullende optimalisaties geïmplementeerd het gebruik van SIMD-instructies en het gebruik van zelfvectoring wordt uitgebreid.

Een andere belangrijke verandering is dat ondersteuning toegevoegd voor het wasm32-wasi-platform (WebAssembly-systeeminterface), evenals de optie "-S" (–switch-frame-interval) om het interval tussen schakelframes te bepalen.

Van de andere veranderingen die opvallen van deze nieuwe versie van Rav1e 0.3:

  • Een filter met meerdere threads toegevoegd om blokkerende artefacten uit video te verwijderen.
  • Er is gewerkt aan een reductie van de montagetijd met circa 14%.
  • Er is gewerkt aan het verminderen van het aantal geheugentoewijzingsbewerkingen met 1/6.
  • In RDO (Rate Distortion Optimization) is de logica verbeterd om intraframe-vervormingen te onderdrukken.
  • Sommige bewerkingen zijn omgezet van drijvende-kommaberekeningen naar berekeningen met gehele getallen.
  • De coderingskwaliteit van 1-2% is verbeterd op het tweede snelheidsniveau.
  • Een nieuw filter toegevoegd om de bewegingsrichting te voorspellen (Intra edge).

Hoe installeer ik rav1e op Ubuntu en derivaten?

Voor degenen die geïnteresseerd zijn om deze AV1-encoder in hun systeem te kunnen installeren, moeten dat weten momenteel is rav1e beschikbaar om op Linux te worden gecompileerd hoewel er voor Windows een exe beschikbaar is.

In dit geval zijn we geïnteresseerd om het in Ubuntu en zijn derivaten te kunnen installeren, dus om dit te doen, ze moeten Rust op hun systeem hebben geïnstalleerd.

Als u het niet heeft, moet u het doen open een terminal op uw systeem (je kunt het doen met de sneltoets Ctrl + Alt + T) en daarin ga je de volgende commando's typen:

sudo apt install curl

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

Later hoeven we alleen optie 1 in te typen en het wordt geïnstalleerd. Zodra dit is gebeurd, gaan we de omgeving configureren voor de Rust-compiler met:

source $HOME/.cargo/env

Om rav1e te installeren, gaan we typen:

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

We klonen de rav1e-code:

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

mv rav1e rav1e-git

cd rav1e-git

En we beginnen met de compilatie:

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/

En klaar ermee, u kunt met deze encoder werken.

Als u meer wilt weten over het gebruik van rav1e kunt u contact opnemen met de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.