優雅的FFmpeg安裝

優雅的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
    alt text
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章