---
url: https://www.chenlj.top/md/develop/env/ffmpeg-install.md
---
# FFmpeg 安装（Linux 静态版）

## 简介

`FFmpeg` 是业界最常用的开源音视频处理工具集（转码、剪辑、推流、提取音频等）。本文采用 [johnvansickle.com](https://johnvansickle.com/ffmpeg/) 提供的 **静态编译版本**：

* **免编译、自带依赖**，解压即可用，避免了在服务器上逐项安装 `libx264`、`libx265` 等编码库的麻烦。
* 适用于 **amd64 架构** 的 Linux（CentOS / Ubuntu / Debian 等均可用）。
* 包含 `ffmpeg`（处理程序）与 `ffprobe`（媒体信息探针）两个核心可执行文件。

> 适用场景：服务器无 root 编译环境、希望快速部署、或不关心最新版特性、只求稳定可用的场景。

## 安装步骤

依次执行以下命令即可完成下载、解压、安装与软链：

```bash
# 1. 下载静态编译包（需提前安装 wget，见下方「注意事项」）
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz

# 2. 解压（tar.xz 用 -xf 即可，无需额外指定 -J）
tar -xf ffmpeg-release-amd64-static.tar.xz

# 3. 将解压出的目录移动到 /usr/local/ffmpeg
#    解压目录名含版本号，用通配符 * 匹配，避免写死具体版本
mv ffmpeg-*-amd64-static /usr/local/ffmpeg

# 4. 建立软链接，使 ffmpeg / ffprobe 在任意目录可直接调用
ln -sf /usr/local/ffmpeg/ffmpeg /usr/local/bin/ffmpeg
ln -sf /usr/local/ffmpeg/ffprobe /usr/local/bin/ffprobe

# 5. 验证安装
ffmpeg -version
```

## 验证

执行 `ffmpeg -version` 应输出类似如下信息（版本号可能不同）：

```text
ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil      59.  8.100 / 59.  8.100
libavcodec     61.  3.100 / 61.  3.100
libavformat    61.  1.100 / 61.  1.100
libavdevice    61.  1.100 / 61.  1.100
libavfilter    10.  1.100 / 10.  1.100
libswscale      8.  1.100 /  8.  1.100
libswresample   5.  1.100 /  5.  1.100
libpostproc    58.  1.100 / 58.  1.100

```

同时可验证探针工具：

```bash
ffprobe -version
```

若能正常输出版本号，说明安装成功，`ffmpeg` 与 `ffprobe` 已加入 `PATH`（`/usr/local/bin`）。

## 注意事项

* **安装 wget**：部分最小化系统没有 `wget`，先安装：
  * CentOS / RHEL：`yum install -y wget`
  * Ubuntu / Debian：`apt-get install -y wget`
  * 若更习惯 `curl`，可把第 1 步换成：`curl -OL https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz`
* **权限问题**：`/usr/local` 通常需要写权限，若当前不是 root，请在涉及 `mv` / `ln` 的命令前加 `sudo`。
* **目录名匹配**：第 3 步使用 `ffmpeg-*-amd64-static` 通配符，是因为解压后目录名形如 `ffmpeg-6.1.1-amd64-static`，写死版本号在升级时会失效，用通配符更通用。
* **仅 amd64**：该静态包只适用于 64 位 x86 架构；ARM（如树莓派、鲲鹏）请改用系统包管理器安装（如 `apt install ffmpeg`）或交叉编译。
* **更新版本**：重新下载新包、解压并覆盖 `/usr/local/ffmpeg` 即可，软链接无需改动。

## 常用示例

```bash
# 视频转码（mp4 -> 转为适合 web 的 h264）
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4

# 提取音频
ffmpeg -i input.mp4 -vn -c:a copy output.aac

# 查看媒体文件信息（无需解码，速度快）
ffprobe -v error -show_format -show_streams input.mp4
```
