Rav1e 0.3 идва с по-висока скорост на кодиране и повече

Преди няколко дни беше пусна новата версия на Rav1e 0.3, кое е енкодер AV1, написан на Rust и че е позициониран като такъв с висока производителност. Rav1e е проектиран да обхваща всички случаи на употреба, въпреки че в сегашния си вид е по-подходящ за случаи, когато libaom.

Той поддържа всички основни функции на AV1, включително вътрешни и външно кодирани кадри (вътрешни и междукадрови) 64 × 64 суперблокове, 4: 2: 0, 4: 2: 2 и 4: 4: 4, 8 подпробни цветове, 10 и 12-битово кодиране на дълбочина на цвета, RDO (Velocity Distortion Optimization) оптимизация на изкривяването, различни режими за прогнозиране на промените между кадрите и откриване на трансформации, контрол на скоростта на потока и откриване на пресечане на сцената.

Форматът AV1 изпреварва H.264 и VP9 във възможностите за компресиране, но поради сложността на алгоритмите, които ги прилагат, се изисква значително повече време за кодиране (по отношение на скоростта на кодиране, libaom изостава стотици пъти зад libvpx-vp9 и хиляди пъти зад x264).

Кодерът rav1e осигурява 11 нива на производителност, най-високото от които позволява скорости, близки до кодирането в реално време. Кодерът е достъпен както като помощна програма за команден ред, така и като библиотека.

Какво е новото Rav1e 0.3?

С пускането на тази нова версия, една от характеристиките, която се откроява най-много е че режимът на кодиране е подобрен, с което е много по-бърз от предишните си версии.

Освен, че размерът на двоичните файлове е намален (на платформата x86_64 за Linux библиотеката заема приблизително 3 MB), с което извършената работа е оптимизирана по-добре.

За архитектура x86_64 са приложени допълнителни оптимизации с помощта на инструкции на SIMD и използването на самовекториране се разширява.

Друга важна промяна е това добавена поддръжка за изграждане на платформата wasm32-wasi (Системен интерфейс WebAssembly), както и опцията "-S" (–switch-frame-interval) за определяне на интервала между кадрите за превключване.

От останалите промени, които се открояват от тази нова версия на Rav1e 0.3:

  • Добавен филтър с много нишки за премахване на блокиращи артефакти от видео.
  • Полага се работа за намаляване на времето за сглобяване с приблизително 14%.
  • Беше извършена работа за намаляване на броя на операциите по разпределяне на паметта с 1/6.
  • В RDO (оптимизация на изкривяването на скоростта), логиката е подобрена за потискане на вътрешнокадровите изкривявания.
  • Някои операции са преобразувани от аритметика с плаваща запетая в изчисления с цяло число.
  • Подобрено е 1-2% качество на кодиране на второ ниво на скорост.
  • Добавен е нов филтър за предсказване на посоката на движение (Intra edge).

Как да инсталирам rav1e на Ubuntu и деривати?

За тези, които се интересуват от възможността да инсталират този AV1 енкодер в своята система, те трябва да знаят това в момента rav1e е достъпен за компилиране на Linux въпреки че за Windows има наличен exe.

В този случай се интересуваме от възможността да го инсталираме в Ubuntu и неговите производни, така че за да направите това, те трябва да имат Rust инсталиран на тяхната система.

Ако го нямате, това, което трябва да направите, е отворете терминал на вашата система (можете да го направите с прекия път Ctrl + Alt + T) и в него ще въведете следните команди:

sudo apt install curl

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

По-късно трябва само да напишем опция 1 и тя ще бъде инсталирана. След като това бъде направено, ще конфигурираме средата за компилатора Rust с:

source $HOME/.cargo/env

Сега, за да инсталираме rav1e, ще напишем:

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

Клонираме кода на rav1e:

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

mv rav1e rav1e-git

cd rav1e-git

И започваме със компилацията:

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/

И готови с него, можете да работите с този енкодер.

Ако искате да знаете за използването на rav1e, можете да се консултирате следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.