Step 1. 下載FFmpeg(download)
注意若要在MinGW下編譯,ffmpeg.org版本會有問題
這裡使用zeranoe FFmpeg builds版本,可正常編譯
Step 2. 編譯FFmpeg
在編譯FFmpeg前有幾個相依性套件需先安裝(pkg-config、glib、zlib、SDL、yasm)
相關安裝請參考前幾篇網誌。
(1) ./configure --enable-static --enable-shared
--enable-memalign-hack --enable-ffplay
(2) make
(3) make install
注意在這裡編譯後並不會產生ffserver.exe,是因為在MinGW平台並無對應網路API,若要編譯出ffserver.exe可在cygwin平台或Linux平台即可
2012年9月5日 星期三
在MinGW下編譯FFmpeg
在MinGW安裝pkg-config
Step1. 到GTK下載套件(download)
Step2. 安裝套件
- 將GLib Package中的libglib-2.0-0.dll複製到C:\MinGW\bin
- 將Zlib Package中的zlib1.dll複製到C:\MinGW\bin
- 將pkg-config Package中的pkg-config.exe複製到C:\MinGW\bin
- 將gettext-runtime Package中的intl.dll複製到C:\MinGW\bin
隱藏文章
在MinGW下編譯yasm
Yasm是一個NASM Assembler因編譯ffmpeg需要,我們將嘗試在MinGW環境下編譯Yasm函式庫
Step1. 下載YASM函式庫(download)
Step2. 編譯YASM函式庫
./configure -prefix=/mingw
make
make install
隱藏文章
2012年9月4日 星期二
安裝MinGW
Step 1. 下載MinGW(download)
Step 2. 安裝MinGW(勾選以下組合)
C Compiler
C++ Compiler
MSYS Basic System
MSYS Developer Toolkit
Step 3. 安裝其他套件
mingw-get install msys-wget
mingw-get install msys-zip
mingw-get install msys-unzip
Step4. 環境設定
MSYS是一個相當精簡的系統這個系統內含與
POSIX相容的Shell和一些必備的基本工具,在
預設狀況下MSYS安裝的路徑會被Mount為root
目錄或/usr目錄,MinGW安裝路徑會被Mount為
/mingw,而其它磁碟D:\會被Mount為/d。
除此之我們還要Mount幾個額外目錄
/opt : 安裝額外套件的地方
/build : 存放編譯原始碼以及編譯的地方
/usr/local : 存放編譯完套件安裝的地方
Mount這些目錄如下所示,值得一提的是MSYS
與正規Linux不同的是下了Mount指令後會直接更
新/etc/fstab設定。
mount 'C:\MinGW\local\' /usr/local
mount 'C:\MinGW\opt\' /opt
mount 'C:\MinGW\build\' /build
mkdir /opt/bin /usr/local/{bin,etc,include,lib,share}
mkdir /usr/local/lib/pkgconfig
Step 5. 建構profile.local
cat > /usr/local/etc/profile.local << "EOF"
#
# /usr/local/etc/profile.local
#
alias dir='ls -la --color=auto'
alias ls='ls --color=auto'
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
CPPFLAGS="-I/usr/local/include"
CFLAGS="-I/usr/local/include -mms-bitfields"
CXXFLAGS="-I/usr/local/include -mms-bitfields"
LDFLAGS="-L/usr/local/lib"
export PKG_CONFIG_PATH CPPFLAGS CFLAGS
CXXFLAGS LDFLAGS
PATH="${PATH}:/opt/bin"
PS1='\[\033[32m\]\u@\h \[\033[33m\w\033[0m\]$ '
export PATH PS1
EOF
Step6. 確認在登錄時可以執行:
cat >> /etc/profile << "EOF"
if [ -f /usr/local/etc/profile.local ]; then
source /usr/local/etc/profile.local
fi
EOF
Step7. 新增兩個額外的環境變數來指示套件建構目錄
以及安裝的前置字串,這份指南的後面會依賴
這些變數來指到正確的目錄。
cat >> /usr/local/etc/profile.local << "EOF"
# package build directory
LOCALBUILDDIR=/build
# package installation prefix
LOCALDESTDIR=/usr/local
export LOCALBUILDDIR LOCALDESTDIR
EOF
Step8. 套用新設定
source /usr/local/etc/profile.local
隱藏文章