Как изменить правила сборки в Makefile

Я пытался скомпилировать FFmpeg из исходного кода, расположенного ЗДЕСЬ . Все хорошо, но встроенных двоичных файлов не хватает ffplay. И похоже, что правило сборки отсутствует в make-файле, расположенном в /fftools.

Как я могу изменить make-файл (ы) для сборки ffplay вместе с ffmpeg и ffprobe?

1
задан 10 July 2019 в 22:24

2 ответа

Никакая потребность изменить любого Makefile.

ffplay

ffplay требует sdl2, так установите libsdl2-dev пакет для выполнения той зависимости. Вам не будет нужно --enable-ffplay поскольку это включено автоматически.

Ваш другой ./configure опции строки

  • --enable-pthreads Удалите это. Это автоматически, включил.
  • --enable-libvpx требует libvpx-dev пакета.
  • --enable-libmp3lame требует libmp3lame-dev пакета.
  • --enable-libtheora требует libtheora-dev, но я опустил бы его и использовал бы libvpx вместо этого.
  • --enable-libvorbis требует libvorbis-dev, но я опустил бы его и использовал бы libopus вместо этого.
  • --enable-libx264 требует libx264-dev.
  • --enable-libx265 требует libx265-dev.
  • --enable-runtime-cpudetect никакая потребность в этом, если Вы не создаете исполняемый файл, который будет работать на различных машинах.
  • --enable-libfdk-aac требует libfdk-aac-dev.
  • --enable-avfilter Удалите это, поскольку это автоматически включено.
  • --enable-libopencore_amrwb --enable-libopencore_amrnb Старые, кодеры/декодеры прежней версии, которые никто больше не использует. Требует libopencore-amrnb-dev и libopencore-amrwb-dev. При удалении этого затем, можно удалить --enable-version3.
  • --enable-filters Удалите это, поскольку это автоматически включено.
  • --enable-libvidstab Требует libvidstab-dev.
  • --enable-libaom Требует недавнего libaom-dev. Вам, вероятно, придется скомпилировать его, если Ваша repo версия слишком стара.
  • --enable-libxcb Требует libxcb1-dev, libxcb-shm0-dev, и libxcb-xfixes0-dev. Можно опустить объявлять эту опцию, поскольку она автоматически обнаружена и включена.
  • --enable-gnutls Требует libgnutls-dev или libgnutls28-dev в зависимости от Вашей версии Ubuntu.

Скомпилируйте руководство

Если Вы не хотите должными быть предполагать, что установить, просто следуют за Wiki FFmpeg: Ubuntu.

2
ответ дан 3 December 2019 в 07:20

Необходимые библиотеки:

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

Для создания depency для aom, который требует последней версии, чем та в repo:

git clone https://aomedia.googlesource.com/aom
cd aom
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=1 ..
make
sudo make install
sudo ldconfig

Создавать ffmpeg:

  wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
  tar xjvf ffmpeg-snapshot.tar.bz2
  cd ffmpeg/

Необходимо работать ./configure сценарий в исходном каталоге перед выполнением make. Я использовал следующие флаги для установки опций:

 ./configure --prefix=/usr/local  --enable-shared  --disable-debug  --enable-ffplay  --disable-doc  --enable-gpl  --enable-version3  --enable-nonfree  --enable-pthreads  --enable-libvpx  --enable-libmp3lame  --enable-libtheora  --enable-libvorbis --enable-libx264  --enable-libx265  --enable-runtime-cpudetect  --enable-libfdk-aac  --enable-avfilter  --enable-libopencore_amrwb  --enable-libopencore_amrnb  --enable-filters --enable-libvidstab  --enable-libaom  --enable-libxcb --enable-gnutls

Для полного списка опций:

 ./configure --help
1
ответ дан 3 December 2019 в 07:20

Другие вопросы по тегам:

Похожие вопросы: