ОШИБКА: SvtAv1En c не найден при использовании pkg-config - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь скомпилировать FFmpeg с кодом SVT-AV1 c, следуя следующим инструкциям: https://github.com/OpenVisualCloud/SVT-AV1/tree/master/ffmpeg_plugin

Все идет хорошо, но когда я пытаюсь запустить

./configure --enable-libsvtav1

Я получаю

ERROR: SvtAv1Enc not found using pkg-config

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

Содержимое файла ffbuild / config.log: https://pastebin.com/euPriFAp

Существует точная проблема в github: https://github.com/OpenVisualCloud/SVT-AV1/issues/35, но закрыто как решено.

Я пробовал как на Ma c, так и в контейнере Docker с Ubuntu 18.04, но получаю то же самое результат.

Может кто-нибудь помочь, пожалуйста, что я делаю не так?

1 Ответ

1 голос
/ 09 апреля 2020

Проблема заключалась в отсутствии необходимых библиотек. Ниже приведена полная инструкция по установке.

Установка пакетов, необходимых для компиляции:

sudo apt-get update
sudo apt-get install \
  autoconf \
  automake \
  build-essential \
  cmake \
  git-core \
  libass-dev \
  libfreetype6-dev \
  libsdl2-dev \
  libtool \
  libva-dev \
  libvdpau-dev \
  libvorbis-dev \
  libxcb1-dev \
  libxcb-shm0-dev \
  libxcb-xfixes0-dev \
  pkg-config \
  texinfo \
  wget \
  zlib1g-dev

Установка ассемблеров, используемых некоторыми библиотеками:

sudo apt-get install nasm
sudo apt-get install yasm

Сборка и установить SVT-AV1:

git clone --depth=1 https://github.com/OpenVisualCloud/SVT-AV1
cd SVT-AV1
cd Build
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j $(nproc)
sudo make install

Применить плагин SVT-AV1 и включить libsvtav1 для FFmpeg:

cd ~
git clone -b release/4.2 --depth=1 https://github.com/FFmpeg/FFmpeg ffmpeg
cd ffmpeg
export LD_LIBRARY_PATH+=":/usr/local/lib"
export PKG_CONFIG_PATH+=":/usr/local/lib/pkgconfig"
git apply ../SVT-AV1/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch
./configure --enable-libsvtav1

( Примечание : если вы хотите, чтобы другие кодеки были поддерживается, пожалуйста, добавьте необходимые флаги в команду ./configure)

Build FFmpeg:

make
make install
hash -r
source ~/.profile

Теперь у вас должна быть рабочая команда ffmpeg и svt-av1 в списке кодировщиков:

ffmpeg -encoders
...
V..... libsvt_av1           SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
...

Я использовал следующие документы для справки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...