codeformer 中文文档 下载 App

ffmpeg 缺失报错:Windows / Mac / Linux 安装 + PATH 验证

症状

处理视频时报错:

FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

或:

RuntimeError: ffmpeg not found. Please install ffmpeg and make sure it's in your PATH.

排查:ffmpeg 装了吗

ffmpeg -version

如果这条命令输出 ffmpeg 版本信息 → 已安装。如果报 "command not found" → 没装或没在 PATH 里。

安装(分平台)

最推荐:Conda(所有平台)

conda activate codeformer
conda install -c conda-forge ffmpeg

优点:Conda 环境内装好后自动加到 PATH,不需要手动配置。Windows / Linux / Mac 通用。

Windows:手动下载

  1. 去 gyan.dev 的 ffmpeg Windows build 下载 essentials zip
  2. 解压到 D:\ffmpeg(路径不要有空格和中文)
  3. 把 D:\ffmpeg\bin 加到系统 PATH:
  1. 重开所有终端窗口(PATH 改动只在新终端生效)

Mac:Homebrew

brew install ffmpeg

Linux:apt / yum

# Ubuntu / Debian
sudo apt-get update && sudo apt-get install -y ffmpeg

# CentOS / RHEL
sudo yum install -y ffmpeg
# 或(新版)
sudo dnf install -y ffmpeg

验证安装

重开终端后跑:

ffmpeg -version
# 应输出:ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers...

ffprobe -version
# ffprobe 是 ffmpeg 附带的,CodeFormer 也会用到

常见问题

问题:命令行能跑但 CodeFormer 还是找不到 ffmpeg

这几乎一定是PATH 问题:

  1. CodeFormer 在子进程里调 subprocess.run(['ffmpeg', ...])
  2. 子进程继承父进程的环境变量
  3. 如果你用 GUI 启动 Python(如 VS Code / PyCharm),GUI 应用的 PATH 可能不包含 ffmpeg 路径

验证:在同一个终端里(跑 CodeFormer 的那个)执行:

where ffmpeg   # Windows
which ffmpeg   # Linux / Mac

如果能找到路径 → 路径有效。找不到 → 没在 PATH 里。

问题:VS Code 里装了 ffmpeg 但 Python 跑还是找不到

VS Code 的 Python 环境可能是独立的 Conda 环境。在 VS Code 里:

  1. Ctrl+Shift+P → "Python: Select Interpreter"
  2. 确保选的是 codeformer Conda 环境
  3. 然后在 VS Code 终端里 conda activate codeformer
  4. 此时 ffmpeg 应该可用

问题:ffmpeg 版本太旧

CodeFormer 没硬性要求,但过旧的 ffmpeg(< 3.4)可能不支持某些编码格式。建议 ≥ 4.0。

ffmpeg -version | head -1
# 确认版本号

Colab 里装 ffmpeg

!apt-get install ffmpeg
# Colab 自带 apt,一行命令搞定

AutoDL / 矩池云

国内云 GPU 平台的环境通常预装 ffmpeg,直接 ffmpeg -version 确认一下就行。如果没装:

apt-get update && apt-get install -y ffmpeg

安装完后的视频测试

python inference_codeformer.py \
    -w 1.0 --bg_upsampler realesrgan --face_upsample \
    --input_path test_video.mp4

如果不再报 ffmpeg 错误,就装好了。