Rav1e 0.3 прибывает с более высокой скоростью кодирования и многим другим

Несколько дней назад это было выпустила новую версию Rav1e 0.3, который кодировщик AV1, написанный на Rust и что он позиционируется как высокопроизводительный. Rav1e - это разработан, чтобы охватить все варианты использования, хотя в нынешнем виде он больше подходит для случаев, когда libaom.

Он поддерживает все основные функции AV1, включая внутренне и внешне кодированные кадры (intra и inter-frame) 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 Мбайт), с которой проделанная работа была оптимизирована лучше.

Для архитектуры x86_64 реализованы дополнительные оптимизации с использованием инструкций SIMD и расширено использование самовекторизации.

Еще одно важное изменение: добавлена ​​поддержка сборки для платформы wasm32-wasi (Системный интерфейс WebAssembly), а также параметр «-S» (–switch-frame-interval) для определения интервала между кадрами переключения.

Из других изменений, которые выделяются этой новой версии Rav1e 0.3:

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

Как установить 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.