優雅的FFmpeg安裝
FFmpeg 功能
FFmpeg(全名是Fast Forward MPEG(Moving Picture Experts Group))是全球領先的多媒體框架,能夠解碼(decode)、編碼(encode)、轉碼(transcode)、複用(mux)、解複用(demux)、流化(stream)、濾波(filter)和播放幾乎任何人類和機器創造的多媒體文件。
CT歸納:FFmpeg可以讓我們執行終端命令,一鍵完成對視頻圖片所有你想要的操作。
Centos 篇
走完流程後的文件目錄
/usr/local/src/ffmpeg_sources下載安裝包路徑
/root/ffmpeg_build構建和函數庫目錄
/root/bin安裝函數庫後的執行目錄
安裝依賴庫
# yum installautoconf automake bzip2cmake freetype-devel gcc gcc-c++ git libtool makemercurial pkgconfig zlib-devel
# cd/usr/local/src/mkdirffmpeg_sourcescdffmpeg_sources
NASM 安裝
$HOME 爲用戶目錄 ,echo $HOME 查看位置
# curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2
# tar xjvf nasm-2.13.01.tar.bz2
# cd nasm-2.13.01
# ./autogen.sh
# ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
# make && make install
Yasm 安裝
# cd ..
# curl -O -L 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 --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make && make install
libx264 安裝
H.264 視頻編碼器
ffmpeg 編譯時要加上參數 --enable-gpl --enable-libx264
# cd ..
# git clone --depth 1 http://git.videolan.org/git/x264
# cd x264
# PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
# make && make install
有可能會出現這樣的錯誤
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with
--disable-asm.
請安裝對應版本或更高版本的 nasm,不好意思我沒有出現
libx265 安裝
H.265/HEVC 視頻編碼器
ffmpeg 編譯時要加上參數 --enable-gpl --enable-libx265
# cd ..
# hg clone https://bitbucket.org/multicoreware/x265
# cd x265/build/linux/
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
# make && make install
libfdk_aac 安裝
AAC 音頻編碼器
ffmpeg 編譯時要加上參數 --enable-libfdk_aac (和 --enable-nonfree 若你加了 –enable-gpl 參數的話)
# cd /usr/local/src/ffmpeg_sources/
# git clone --depth 1 https://github.com/mstorsjo/fdk-aac
# cd fdk-aac
# autoreconf -fiv
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make && make install
libmp3lame 安裝
mp3 音頻編碼器
ffmpeg 編譯時要加上參數 --enable-libmp3lame
# cd ..
# curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
# tar xzvf lame-3.99.5.tar.gz
# cd lame-3.99.5
# ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
# make && make install
libopus 安裝
Opus 音頻解碼器和編碼器
ffmpeg 編譯時要加上參數 --enable-libopus
# cd ..
# curl -O -L https://archive.mozilla.org/pub/opus/opus-1.2.tar.gz
# tar xzvf opus-1.2.tar.gz
# cd opus-1.2
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make && make install
libogg 安裝
比特流庫,需要 libtheora 和 libvorbis
# cd ..
# curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
# tar xzvf libogg-1.3.2.tar.gz
# cd libogg-1.3.2
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make && make install
libvorbis 安裝
Vorbis 音頻編碼器,需要 libogg
ffmpeg 編譯時要加上參數 --enable-libvorbis
# cd ..
# curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
# tar xzvf libvorbis-1.3.5.tar.gz
# cd libvorbis-1.3.5
# ./configure --prefix="$HOME/ffmpeg_build"--with-ogg="$HOME/ffmpeg_build" --disable-shared
# make && make install
可能會報找不到OGG錯誤,請重新裝libogg,失敗可多嘗試幾次。
libvpx 安裝
VP8/VP9 編碼器和解碼器
ffmpeg 編譯時要加上參數 --enable-libvpx
# git clone --depth 1 https://github.com/webmproject/libvpx.git
# cd libvpx
# ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
# make && make install
FFmpeg 安裝
# cd ..
# curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
# tar xjvf ffmpeg-snapshot.tar.bz2
# cd ffmpeg
# PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
# make
# make install
安裝完成,測試一下。我在 /mnt/hgfs/www/test 目錄下放了個視頻 test.mp4 ,使用 ffmpeg 提取視頻中圖像
cd /mnt/hgfs/www/test
ffmpeg -ss 00:00:20 -i test.mp4 -f mjpeg -r 1 -vframes 1 -an image.jpg
若提示 ffmpeg 命令不存在,就將 /root/bin/ 下面的文件複製一份到 /usr/local/bin/
cp -i /root/bin/ffmpeg /usr/local/bin/ffmpeg
cp -i /root/bin/ffprobe /usr/local/bin/ffprobe
....
提取的圖片 image.jpg 在/mnt/hgfs/www/test目錄下
Windows篇
- 下載FFmpeg https://ffmpeg.zeranoe.com/builds/
- 解壓 文件 ffmpeg-20181205-953bd58-win64-static 到自定義位置
- 打開文件,進入到 bin 目錄
- 複製路徑,將路徑添加到全局環境中。
- 如何添加?(右鍵我的電腦,->屬性->高級系統設置->環境變量->雙擊系統變量下的Path->新建->將路徑粘貼->全部確定)
+OK,打開CMD,輸入ffmpeg -version