Я пытался скомпилировать FFmpeg из исходного кода, расположенного ЗДЕСЬ . Все хорошо, но встроенных двоичных файлов не хватает ffplay
. И похоже, что правило сборки отсутствует в make-файле, расположенном в /fftools
.
Как я могу изменить make-файл (ы) для сборки ffplay вместе с ffmpeg и ffprobe?
Никакая потребность изменить любого 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.
Необходимые библиотеки:
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