Ubuntu,Debian和Linux Mint FFmpeg环境搭建

1.安装第三方库不需要所有的都安装 ,只需要安装自己用到的就好,如果后期需要其他三方库 只需要安装第三库, 在把FFmpeg从新编译安装即可 !(./configure –enable-libvpx里加上对应第三方库)
2.注意一下贴出来的‘引用部分’。

1.获取依赖关系

1.1获取编译所需的软件包

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

注意:服务器用户可以省略ffplay和x11grab依赖项:libsdl2-dev libva-dev libvdpau-dev
libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev。

1.2创建一个新目录,以将所有源代码和二进制文件放入:

mkdir -p ~/ffmpeg_sources ~/bin

2.编译与安装

第三方库安装,

仔细阅读:如果不需要某些功能,则可以跳过相关部分(如果不需要),然后./configure在FFmpeg中删除相应的选项。例如,如果不需要libvpx,请跳过该部分,然后–enable-libvpx从“安装FFmpeg”部分中删除。

2.1. NASM 安装
如果您的存储库提供的nasm版本≥2.13,则可以安装该版本而不是进行编译:

sudo apt-get install nasm

否则,您可以编译:

cd ~/ffmpeg_sources && \
wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2 && \
tar xjvf nasm-2.15.05.tar.bz2 && \
cd nasm-2.15.05 && \
./autogen.sh && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install

2.2. libx264 H.264视频编码器安装
如果您的存储库提供的libx264-dev版本≥118,则可以安装该版本而不是进行编译:

sudo apt-get install libx264-dev

否则,您可以编译:

cd ~/ffmpeg_sources && \
git -C x264 pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
cd x264 && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic && \
PATH="$HOME/bin:$PATH" make && \
make install

2.3. libx265 H.265 / HEVC视频编码器安装
如果您的存储库提供的libx265-dev版本≥68,那么您可以安装该版本而不是进行编译:

sudo apt-get install libx265-dev libnuma-dev

警告:目前,与其他库不同,您必须获取完整的libx265存储库(因此,请删除–depth 1git
clone中的参数)。确实,它会更长一些,但是有必要允许生成x265.pc文件,这是使用构建ffmpeg所必需的–enable-libx265。没有这个,ffmpeg构建将被破坏。

如果不能,或者不想获得完整的libx265存储库,请改用提供的版本apt。

否则,您可以编译:

sudo apt-get install libnuma-dev && \
cd ~/ffmpeg_sources && \
git -C x265_git pull 2> /dev/null || git clone https://bitbucket.org/multicoreware/x265_git && \
cd x265_git/build/linux && \
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source && \
PATH="$HOME/bin:$PATH" make && \
make install

2.4. libvpx VP8 / VP9视频编码器/解码器安装
如果您的存储库提供的libvpx-dev版本≥1.4.0,则可以安装该版本而不是进行编译:

sudo apt-get install libvpx-dev

否则,您可以编译:

cd ~/ffmpeg_sources && \
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
cd libvpx && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
PATH="$HOME/bin:$PATH" make && \
make install

2.5. libfdk-aac AAC音频编码器安装
如果您的存储库提供了,libfdk-aac-dev那么您可以安装它而不是编译它:

sudo apt-get install libfdk-aac-dev

否则,您可以编译:

cd ~/ffmpeg_sources && \
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
cd fdk-aac && \
autoreconf -fiv && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install

2.6. libmp3lame MP3音频编码器安装
如果您的存储库提供的libmp3lame-dev版本≥3.98.3,则可以安装该版本而不是进行编译:

sudo apt-get install libmp3lame-dev

否则,您可以编译:

cd ~/ffmpeg_sources && \
wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
tar xzvf lame-3.100.tar.gz && \
cd lame-3.100 && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
PATH="$HOME/bin:$PATH" make && \
make install

2.7 libopus Opus音频解码器和编码器安装
如果您的存储库提供的libopus-dev版本≥1.1,则可以安装该版本而不是进行编译:

sudo apt-get install libopus-dev

否则,您可以编译:

cd ~/ffmpeg_sources && \
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
cd opus && \
./autogen.sh && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install

2.8.libaom AV1视频编码器/解码器安装

cd ~/ffmpeg_sources && \
git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \
mkdir -p aom_build && \
cd aom_build && \
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom && \
PATH="$HOME/bin:$PATH" make && \
make install

2.9. libsvtav1 AV1视频编码器/解码器安装

cd ~/ffmpeg_sources && \
git -C SVT-AV1 pull 2> /dev/null || git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git && \
mkdir -p SVT-AV1/build && \
cd SVT-AV1/build && \
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DCMAKE_BUILD_TYPE=Release -DBUILD_DEC=OFF -DBUILD_SHARED_LIBS=OFF .. && \
PATH="$HOME/bin:$PATH" make && \
make install

2.10. libdav1d AV1解码器安装,要比libaom提供的解码器快得多。

如果您的存储库提供libdav1d-dev,则可以安装它而不是进行编译:

sudo apt-get install libdav1d-dev

否则,您将需要从源代码构建。发行版本未提供足够新版本meson(0.49.0或更高版本)的用户将需要安装最新版本。通过Python Package Index可以很容易地做到这一点:

sudo apt-get install python3-pip && \
pip3 install --user meson

AVX-512支持需要NASM 2.14版或更高版本。有关如何安装/构建的信息,请参见NASM部分。或者,使用禁用Meson设置中的AVX-512 -Denable_avx512=false。

cd ~/ffmpeg_sources && \
git -C dav1d pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/dav1d.git && \
mkdir -p dav1d/build && \
cd dav1d/build && \
meson setup -Denable_tools=false -Denable_tests=false --default-library=static .. --prefix "$HOME/ffmpeg_build" --libdir="$HOME/ffmpeg_build/lib" && \
ninja && \
ninja install

2.11. libvmaf 图书馆计算VMAF视频质量度量。需要使用进行配置

cd ~/ffmpeg_sources && \
wget https://github.com/Netflix/vmaf/archive/v2.1.1.tar.gz && \
tar xvf v2.1.1.tar.gz && \
mkdir -p vmaf-2.1.1/libvmaf/build &&\
cd vmaf-2.1.1/libvmaf/build && \
meson setup -Denable_tests=false -Denable_docs=false --buildtype=release --default-library=static .. --prefix "$HOME/ffmpeg_build" --bindir="$HOME/bin" --libdir="$HOME/ffmpeg_build/lib" && \
ninja && \
ninja install

最后安装编译FFmpeg

仔细阅读:如果不需要某些功能或者未编译安装第三方某些第三方的库,则可以跳过相关部分(如果不需要),然后./configure在FFmpeg中删除相应的选项。例如,如果不需要libvpx,请跳过该部分,然后–enable-libvpx从“安装FFmpeg”部分中删除在这里插入图片描述

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --ld="g++" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-gnutls \
  --enable-libaom \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libsvtav1 \
  --enable-libdav1d \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

现在,为当前的shell会话重新登录或运行以下命令,以识别新ffmpeg位置:

 source ~/.profile

3.安装完成
文档不修改路径的情况下 。安装路径在:
/root/bin
在这里插入图片描述
4.使用命令 :
后面补充

1.转载地址:文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值