• 首頁
  • 文件
  • 下載
  • 狀態
  • 常見問題
  • 郵件列表
  • 應用程式
  • 外部鏈結
  • 版權
  • 志願者
  • 聯繫

FFmpeg函式庫編譯

FFmpeg的官方網站:http://www.ffmpeg.org

編譯任何平台的FFmpeg事實上都是一項相當大的挑戰,因為相關連的函式庫數量相當多,而組合狀態也相當多,相依函式庫變動率也十分高。這裡說明的只是一般的設定及建議,如果您想要自行編譯FFmpeg,可能要多花一點時間來嘗試適合自己的組態。

FFmpeg on Windows

預先編譯好的FFmpeg on Windows的函式庫在:http://ffmpeg.zeranoe.com/builds可以找到。 我們建議您使用這個版本。

下載完成後,我們建議您執行下列指令,用以保證產生的.lib檔是可以鏈結的:

x64架構

LIB /machine:x64 /def:avcodec-56.def /OUT:avcodec.lib
LIB /machine:x64 /def:avdevice-56.def /OUT:avdevice.lib
LIB /machine:x64 /def:avfilter-5.def /OUT:avfilter.lib
LIB /machine:x64 /def:avformat-56.def /OUT:avformat.lib
LIB /machine:x64 /def:avutil-54.def /OUT:avutil.lib
LIB /machine:x64 /def:postproc-53.def /OUT:postproc.lib
LIB /machine:x64 /def:swresample-1.def /OUT:swresample.lib
LIB /machine:x64 /def:swscale-3.def /OUT:swscale.lib


重建完成以後,include內的檔案請複製到
CiosAudio/Platforms/Windows/FFmpeg/include

*.lib請複製到
CiosAudio/Platforms/Windows/FFmpeg/lib/x64

x86架構

LIB /machine:x86 /def:avcodec-56.def /OUT:avcodec.lib
LIB /machine:x86 /def:avdevice-56.def /OUT:avdevice.lib
LIB /machine:x86 /def:avfilter-5.def /OUT:avfilter.lib
LIB /machine:x86 /def:avformat-56.def /OUT:avformat.lib
LIB /machine:x86 /def:avutil-54.def /OUT:avutil.lib
LIB /machine:x86 /def:postproc-53.def /OUT:postproc.lib
LIB /machine:x86 /def:swresample-1.def /OUT:swresample.lib
LIB /machine:x86 /def:swscale-3.def /OUT:swscale.lib


重建完成以後,include內的檔案請複製到
CiosAudio/Platforms/Windows/FFmpeg/include

*.lib請複製到
CiosAudio/Platforms/Windows/FFmpeg/lib/x86


FFmpeg on Mac OS X

Mac OS X平台上,我們建議您全部都編譯成靜態函式庫。

編譯的方式:

export ARENA=/usr/local
./configure \
--cc=clang \
--prefix=$ARENA \
--extra-cflags="-I$ARENA/include" \
--extra-ldflags="-L$ARENA/lib" \
--disable-shared \
--enable-static \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--disable-ssse3 \
--disable-programs \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-network \
--disable-sdl \
--disable-indev=qtkit \
--disable-indev=x11grab_xcb \
--enable-hardcoded-tables \
--enable-runtime-cpudetect \
--enable-pthreads \
--enable-postproc \
--enable-filters \
--enable-mdct \
--enable-rdft \
--enable-fft \
--enable-bzlib \
--enable-zlib \
--enable-libtwolame \
--enable-libmp3lame \
--enable-libgsm \
--enable-libwavpack \
--enable-libvorbis \
--enable-libfaac

make

sudo make install


由於每台編譯的機器環境均不相同,編譯成應用程式時,如果缺少了某個函式庫,通常都出現許多錯誤訊息,您必須自行尋找缺少的項目,一般而言,詢問其他人的幫助並不太大。

這個版本編譯出來需要與以下的函式庫鏈結:
  • CaCore
  • avcodec
  • avdevice
  • avfilter
  • avformat
  • avutil
  • swresample
  • swscale
  • postproc
  • iconv
  • z
  • bz2
  • pthread
  • twolame
  • mp3lame
  • gsm
  • wavpack
  • ogg
  • vorbis
  • vorbisenc
  • vorbisfile
  • faac

Framework需要以下列表:
  • CoreAudio
  • CoreServices
  • AudioUnit
  • AudioToolBox
  • CoreFoundation
  • CoreVideo
  • VideoDecodeAcceleration
  • Accelerate

Two LAME

Two LAME的官方網址位於:http://www.twolame.org
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


LAME

LAME的官方網址位於:http://lame.sourceforge.net
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


GSM

GSM的官方網址位於:http://libgsm.sourcearchive.com
編譯的方式:

make

sudo cp -f inc/gsm.h /usr/local/include

sudo cp -f lib/libgsm.a /usr/local/lib


Wav Pack

Wav Pack的官方網址位於:http://www.wavpack.com
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


ogg

ogg的官方網址位於:http://xiph.org/ogg
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


vorbis

vorbis的官方網址位於:http://xiph.org/vorbis
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


FAAC

FAAC的官方網址位於:http://www.audiocoding.com/faac.html
編譯的方式:

./configure --disable-shared --enable-static --prefix=/usr/local

make

sudo make install


FFmpeg on Linux


FFmpeg on FreeBSD


FFmpeg on Solaris


FFmpeg on iPhone OS


FFmpeg on Android