?編輯?白眉大叔? 發布于 2025年4月16日 評論關閉 閱讀(341)
centos 編譯安裝 ffmpeg 7.0.2 :連接https://www.baimeidashu.com/19668.html
下載 FFmpeg 源代碼 在文章最后
一、在CentOS上編譯安裝FFmpeg
以常見的CentOS為例,FFmpeg的編譯說明頁面為https://trac.ffmpeg.org/wiki/CompilationGuide/Centos,這里給出了在CentOS上編譯安裝FFmpeg的詳細步驟。
部署需要的 下載的文件都放在阿里云 oss 上了
1、安裝工具包
根據FFmpeg官網的說明,首先要通過yum安裝下列工具:
yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
然后創建 一個版本的 目錄
mkdir /opt/ffmpeg/ffmpeg7.0.2
然后
cd /opt/ffmpeg/ffmpeg7.0.2mkdir ffmpeg_sources
mkdir ffmpeg_build
mkdir bin
ffmpeg_sources– 源文件的下載位置。如果需要,可以在完成指南后刪除此 URL。
ffmpeg_build– 構建文件和安裝庫的位置。
bin– 將安裝生成的二進制文件 (、、、) 的位置。ffmpegffprobex264x265
2、安裝NASM
某些庫使用的匯編程序。強烈建議使用,否則生成的版本可能會非常緩慢。
NASM的編譯和安裝命令如下:
cd ~/ffmpeg_sources
curl -O -L 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./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install
運行 autogen.sh 的截圖
運行 configure 后 的截圖:
3、安裝Yasm
某些庫使用的匯編程序。強烈建議使用,否則生成的版本可能會非常緩慢。
Yasm的編譯和安裝命令如下:
cd ~/ffmpeg_sources
curl -O -L https://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 --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install
4、安裝libx264
H.264視頻編碼器。libx264依賴nasm-2.13以上版本。需要FFmpeg增加配置選項“ --enable-gpl --enable-libx264”。
libx264的編譯和安裝命令如下:
先對 做個軟連接 nasm ,
ln /opt/ffmpeg/ffmpeg7.0.2/bin/nasm /usr/bin/nasm
不然下邊的編譯報錯,找不到它
cd ~/ffmpeg_sources
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --enable-static
make
make install
5、安裝libx265
H.265/HEVC視頻編碼器。如果需要FFmpeg增加配置選項“ --enable-gpl --enable-libx265 ,必須安裝libx265
libx265的編譯和安裝命令如下:
cd ~/ffmpeg_sources
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_gitcd /opt/ffmpeg/ffmpeg7.0.2/ffmpeg_sources/x265_git/build/linuxcmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" -DENABLE_SHARED:bool=off ../../sourcemake
make install
6、安裝libfdk_aac
AAC音頻編碼器。需要FFmpeg增加配置選項“ --enable-nonfree --enable-libfdk_aac”。
libfdk_aac的編譯和安裝命令如下
cd ~/ffmpeg_sourcesgit clone --depth 1 https://github.com/mstorsjo/fdk-aaccd fdk-aacautoreconf -fiv./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-sharedmake
make install
7、安裝libmp3lame
MP3音頻編碼器。需要FFmpeg增加配置選項“ --enable-libmp3lame”。
libmp3lame的編譯和安裝命令如下:
cd ~/ffmpeg_sourcescurl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gztar xzvf lame-3.100.tar.gzcd lame-3.100./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --disable-shared --enable-nasmmake
make install
8、安裝libopus
Opus音頻解碼器和編碼器。需要FFmpeg增加配置選項“ --enable-libopus”。
libopus的編譯和安裝命令如下:
cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gztar xzvf opus-1.3.1.tar.gzcd opus-1.3.1./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-sharedmake
make install
9、安裝libvpx
VP8/VP9視頻編碼器和解碼器。需要FFmpeg增加配置選項“ --enable-libvpx”。
libvpx的編譯和安裝命令如下:
需要做個軟連接:
ln -s /opt/ffmpeg/ffmpeg7.0.2/bin/yasm /usr/bin/yasm
cd ~/ffmpeg_sourcesgit clone --depth 1 https://chromium.googlesource.com/webm/libvpx.gitcd libvpx./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasmmake
make install
注意: 在 alios 上出錯
需要安裝
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
10、安裝FFmpeg
下載 FFmpeg 源代碼
從 FFmpeg 官方 Git 倉庫或其官網獲取源代碼。
cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
如果你不想使用 Git,可以直接從官網下載壓縮包:
wget https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.gz
tar xf ffmpeg-7.0.2.tar.gz
FFmpeg的編譯和安裝命令如下:
cd ffmpeg-7.0.2/PATH="/opt/ffmpeg/ffmpeg7.0.2/bin:$PATH" PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/include" \--extra-ldflags="-L/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib" \--extra-libs=-lpthread \--extra-libs=-lm \--bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" \--enable-gpl \--enable-libfdk_aac \--enable-libfreetype \--enable-libmp3lame \--enable-libopus \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree
makemake install
成功:如下圖:
配置環境變量:
vi /etc/profile
export LD_LIBRARY_PATH=/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/opt/ffmpeg/ffmpeg7.0.2/bin/
source /etc/profile
驗證:
ffmpeg -version
---
Operating System: os 上安裝 出現的問題
--enable-libvpx \ 這個庫編譯失敗,最后沒有帶
總是提示 /usr/include? 缺少文件。
中間有個地址下不下來的時候看看這個,好像是libvpx鏈接
幾種視頻編碼器的編譯及使用方法 - Windeal - 博客園