我尝试从位于的源代码编译 FFmpeg这里。一切都很好,但构建的二进制文件缺少ffplay
。而且看起来位于下的 makefile 中缺少构建规则/fftools
。
我怎样才能修改 makefile 以与 ffmpeg 和 ffprobe 一起构建 ffplay?
答案1
不需要修改任何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
根据您的 Ubuntu 版本,需要 libgnutls-dev 或 libgnutls28-dev。
编译指南
如果你不想猜测要安装什么,只需按照FFmpeg 维基:Ubuntu。
答案2
所需的库:
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
要为 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