Установка последней версии libavif (avifenc) в ubuntu через cmake.

avifenc — это утилита из проекта libavif.
Если нужен именно свежий aom (libaom), на Ubuntu 22.04 лучше собрать libaom и libavif из исходников.

Быстрая установка (из source)

sudo apt update
sudo apt install -y \
  git build-essential cmake ninja-build pkg-config yasm nasm \
  libjpeg-dev libpng-dev libwebp-dev libyuv-dev zlib1g-dev

Будем устанавливать в папку /opt. В папку /tmp у меня не получилось — какие-то ошибки появлялись.

Лучше делать каждую команду по очереди и смотреть нету ли там ошибок. У меня возникла только ошибка: mkdir: cannot create directory ‘build’: File exists, о которой я написал ниже.

1) Собрать и установить свежий libaom

cd /opt
git clone https://aomedia.googlesource.com/aom
cd aom
mkdir build && cd build
// если ошибка mkdir: cannot create directory ‘build’: File exists, то: 
cd build

cmake .. -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DBUILD_SHARED_LIBS=1 \
  -DENABLE_TESTS=0 \
  -DENABLE_DOCS=0

ninja
sudo ninja install
sudo ldconfig

2) Собрать и установить libavif (с avifenc), используя системный libaom

cd /opt
git clone https://github.com/AOMediaCodec/libavif.git
cd libavif
mkdir build && cd build
// если ошибка mkdir: cannot create directory ‘build’: File exists, то: 
cd build

cmake .. -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DAVIF_CODEC_AOM=SYSTEM \
  -DAVIF_BUILD_APPS=ON \
  -DAVIF_BUILD_TESTS=OFF

ninja
sudo ninja install
sudo ldconfig

3) Проверить

which avifenc
avifenc --version
ldd "$(which avifenc)" | grep -i aom

Должно быть что-то подобное:

root@host:~# which avifenc
/usr/local/bin/avifenc
root@host:~# avifenc --version
Version: 1.4.1 (aom [enc/dec]:3.13.2-326-gf3dddebddd)
libyuv : available (1807)

root@host:~# ldd "$(which avifenc)" | grep -i aom
        libaom.so.3 => /usr/local/lib/libaom.so.3 (0x00007f160b028000)
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии