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)