FFmpeg 是一款强大的开源音视频处理工具,在 CentOS7 系统上安装和配置 FFmpeg 可以满足各种音视频处理需求,如视频剪辑、格式转换等。以下是一篇关于 CentOS7 安装和配置 FFmpeg 的完整指南。

系统准备

在开始安装 FFmpeg 之前,确保你的 CentOS7 系统已经完成基本配置并可以正常联网。你可以通过以下命令更新系统软件包到最新版本:

sudo yum update -y

这个命令会自动检查并下载系统中所有可用的软件包更新,确保你的系统处于安全和稳定的状态。更新过程可能需要一些时间,具体取决于你的网络速度和系统中需要更新的软件包数量。

同时,为了后续编译安装 FFmpeg 时能够顺利进行,需要安装一些必要的编译工具和依赖库。可以使用以下命令进行安装:

sudo yum install -y epel-release
sudo yum install -y autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel

这些工具和库是编译 FFmpeg 所必需的,它们提供了编译环境、代码压缩解压缩、字体处理、编译工具链等功能。安装完成后,你的系统就具备了编译 FFmpeg 的基础环境。

安装必要的依赖库

FFmpeg 依赖于许多第三方库来实现各种音视频编解码功能。以下是一些常用的依赖库及其安装方法。

Yasm:Yasm 是一个汇编器,FFmpeg 编译过程中需要使用它。可以通过以下步骤安装:

cd ~
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
sudo make install

首先,使用 wget 命令从官方网站下载 Yasm 的源代码压缩包。然后,使用 tar 命令解压缩该文件。进入解压后的目录,执行 configure 脚本来配置编译选项。接着使用 make 命令进行编译,最后使用 sudo make install 命令将编译好的 Yasm 安装到系统中。

X264:X264 是一个开源的 H.264/MPEG-4 AVC 视频编码器。安装步骤如下:

cd ~
git clone --depth 1 git://git.videolan.org/x264.git
cd x264
./configure --enable-static --enable-shared
make
sudo make install

这里使用 git 命令从官方仓库克隆 X264 的源代码。进入克隆后的目录,执行 configure 脚本并指定编译选项,开启静态库和共享库的编译。然后进行编译和安装操作。

X265:X265 是一个开源的 HEVC(H.265)视频编码器。安装方法如下:

cd ~
hg clone https://bitbucket.org/multicoreware/x265
cd ~/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/usr/local" -DENABLE_SHARED:bool=on ../../source
make
sudo make install

使用 hg 命令从 Bitbucket 仓库克隆 X265 的源代码。进入编译目录,使用 cmake 命令进行配置,指定安装路径和开启共享库编译选项。之后进行编译和安装。

Fdk-aac:Fdk-aac 是一个开源的高级音频编码(AAC)库。安装过程如下:

cd ~
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
./autogen.sh
./configure --enable-shared
make
sudo make install

使用 git 克隆 Fdk-aac 的源代码,执行 autogen.sh 脚本来生成配置脚本。然后进行配置、编译和安装操作。

LAME:LAME 是一个开源的 MP3 音频编码器。安装步骤如下:

cd ~
wget http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --enable-shared
make
sudo make install

通过 wget 下载 LAME 的源代码压缩包,解压缩后进行配置、编译和安装。

Opus:Opus 是一个开源的音频编解码器。安装方法如下:

cd ~
git clone https://github.com/xiph/opus.git
cd opus
./autogen.sh
./configure --enable-shared
make
sudo make install

使用 git 克隆 Opus 的源代码,执行 autogen.sh 脚本,然后进行配置、编译和安装。

编译安装 FFmpeg

在安装完所有必要的依赖库后,就可以开始编译安装 FFmpeg 了。步骤如下:

cd ~
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure \
  --prefix="/usr/local" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I/usr/local/include" \
  --extra-ldflags="-L/usr/local/lib" \
  --bindir="/usr/local/bin" \
  --enable-gpl \
  --enable-libfdk_aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
make
sudo make install

首先,使用 git 克隆 FFmpeg 的源代码。进入克隆后的目录,执行 configure 脚本进行配置。这里通过设置 PKG_CONFIG_PATH 环境变量和一系列配置选项,指定了安装路径、编译标志、启用的库等信息。然后进行编译和安装操作。编译过程可能会比较耗时,具体时间取决于你的系统性能。

配置系统环境

安装完成后,为了让系统能够找到 FFmpeg 的共享库,需要更新系统的动态库缓存。可以使用以下命令:

sudo ldconfig

这个命令会重新构建系统的动态链接库缓存,使得系统在运行时能够正确加载 FFmpeg 的共享库。

为了验证 FFmpeg 是否安装成功,可以使用以下命令检查其版本信息:

ffmpeg -version

如果安装成功,会输出 FFmpeg 的版本号和相关配置信息。

使用示例

安装和配置好 FFmpeg 后,就可以使用它进行各种音视频处理了。以下是一些常见的使用示例。

视频格式转换:将一个 MP4 格式的视频转换为 AVI 格式,可以使用以下命令:

ffmpeg -i input.mp4 output.avi

其中,-i 选项指定输入文件,后面跟着输入文件的名称,最后指定输出文件的名称。

视频剪辑:截取视频的指定时间段,可以使用以下命令:

ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 -c copy output.mp4

-ss 选项指定开始时间,-t 选项指定持续时间,-c copy 选项表示直接复制音视频流,不进行重新编码,这样可以提高处理速度。

音频提取:从视频文件中提取音频,可以使用以下命令:

ffmpeg -i input.mp4 -vn -acodec copy output.aac

-vn 选项表示不处理视频流,-acodec copy 选项表示直接复制音频流。

通过以上步骤,你已经成功在 CentOS7 系统上安装和配置了 FFmpeg,并可以使用它进行各种音视频处理操作。希望这篇指南对你有所帮助。