在 CentOS 上安裝 FFmpeg 可以通過以下兩種推薦方法實現(以 CentOS 7/8 為例):
方法一:通過 RPM Fusion 倉庫安裝(推薦)
# 1. 安裝 EPEL 倉庫
sudo yum install epel-release# 2. 啟用 RPM Fusion 倉庫
# CentOS 7:
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm# CentOS 8:
sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm# 3. 安裝 FFmpeg
# CentOS 7:
sudo yum install ffmpeg ffmpeg-devel# CentOS 8:
sudo dnf install ffmpeg ffmpeg-devel# 4. 驗證安裝
ffmpeg -version
方法二:源碼編譯安裝(獲取最新版本)
# 1. 安裝開發工具和依賴庫
sudo yum groupinstall "Development Tools"
sudo yum install yasm-devel libass-devel freetype-devel libmp3lame-devel libtheora-devel libvorbis-devel opus-devel libvpx-devel x264-devel x265-devel# 2. 下載 FFmpeg 源碼
wget https://ffmpeg.org/releases/ffmpeg-latest.tar.gz
tar xvf ffmpeg-latest.tar.gz
cd ffmpeg-*# 3. 配置和編譯
./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265make -j$(nproc)
sudo make install# 4. 添加庫路徑
echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/ffmpeg.conf
sudo ldconfig# 5. 驗證安裝
/usr/local/bin/ffmpeg -version
方法三:使用靜態二進制文件(免安裝)
# 1. 下載預編譯靜態二進制文件(來自官方推薦)
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz# 2. 解壓
tar xvf ffmpeg-release-amd64-static.tar.xz
cd ffmpeg-*-static# 3. 復制到系統路徑
sudo cp ffmpeg ffprobe /usr/local/bin/# 4. 驗證安裝
ffmpeg -version
驗證 FFmpeg 安裝
# 檢查版本
ffmpeg -version# 測試簡單命令
ffmpeg -i input.mp4 -f null -# 無輸出運行測試
常見問題解決
- 依賴項缺失錯誤:
# 安裝常見依賴
sudo yum install autoconf automake bzip2 cmake gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
- 編解碼器支持問題:
- 確保安裝時啟用了
--enable-gpl
和--enable-nonfree
- 安裝缺失的編解碼器開發包(如
x264-devel
,x265-devel
)
- 權限問題:
sudo chmod +x /usr/local/bin/ffmpeg
- 版本沖突:
# 移除舊版本
sudo yum remove ffmpeg
添加到 PATH(如果安裝到自定義路徑)
# 將以下行添加到 ~/.bashrc 或 /etc/profile
export PATH="/usr/local/ffmpeg/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH"# 然后執行
source ~/.bashrc
各方法對比
方法 | 優點 | 缺點 |
---|---|---|
RPM Fusion 倉庫 | 安裝簡單,自動處理依賴 | 版本可能不是最新 |
源碼編譯 | 可定制性強,獲取最新功能 | 安裝復雜,耗時長 |
靜態二進制 | 無需安裝,開箱即用 | 無法自動更新 |
建議大多數用戶使用 RPM Fusion 倉庫安裝,需要最新功能時選擇源碼編譯,快速測試使用靜態二進制。