MinGW의 GCC 컴파일러를 사용하여 Windows용 MPlayer와 Mencoder를 컴파일해 보자. MPlayer는 동영상을 보는 프로그램이고 Mencoder는 동영상이나 음악을 인코딩하는 프로그램이다. 예전에는 정적으로 컴파일하였지만 이번에는 동적으로 컴파일해 보자.
우선 MinGW를 설치한다. MPlayer는 FFmpeg 라이브러리에 의존하므로 먼저 FFmpeg 라이브러리를 동적으로 컴파일하도록 한다.
시작 메뉴를 열어 MinGW (rxvt)를 실행한다. 노란 창이 나타날 것이다. 그럼 다음과 같이 MPlayer와 의존 라이브러리를 컴파일하자.
- LZO 압축 라이브러리 컴파일 (옵션)
tar xzvf lzo-2.03.tar.gz
cd lzo-2.03/
./configure --prefix=/mingw
make
make install - Fribidi 라이브러리 컴파일 (옵션)
Fribidi는 아랍어와 히브리어의 표시에 필요하다. 솔직히 이 기능은 빠뜨려도 된다.tar xzvf fribidi-0.19.2.tar.gz
cd fribidi-0.19.2/
./configure --prefix=/mingw --disable-debug
make
make install
자세한 내용은 Fribidi에 관한 글을 참조. - giflib 라이브러리 컴파일 (옵션)
tar xjvf giflib-4.1.6.tar.bz2
cd giflib-4.1.6/
./configure --prefix=/mingw
make
make install - Live555 라이브러리 컴파일 (권장)
Live 라이브러리는 인터넷 동영상을 보는 데 쓰인다. live555.com에서 최신 버전을 받아 다음과 같이 컴파일한다:export CC=/mingw/bin/gcc.exe
cd /mingw/lib/
tar xzvf live.2010.04.01.tar.gz
cd live/
./genMakefiles mingw
make - JPEG 라이브러리 컴파일 (권장)
tar xzvf jpegsrc.v8a.tar.gz
cd jpeg-8a/
./configure --prefix=/mingw
make
make install - PNG 라이브러리 컴파일 (권장)
tar xzvf libpng-1.4.1.tar.gz
cd libpng-1.4.1
./configure --prefix=/mingw
make
make install - FreeType 라이브러리 컴파일 (필수)
자막 표시에 필요하다.
그리고 Freetype를 컴파일한다.tar xzvf freetype-2.3.12.tar.gz
cd freetype-2.3.12/
./configure --prefix=/mingw
make install - 만일 iconv 라이브러리가 설치되어 있지 않다면 컴파일한다. libXML2 그리고 fontconfig 에 필요하다.
- libXML2 컴파일
만약에 fontconfig 라이브러리를 컴파일하려면 필요하다. 먼저 testThreads.c를 고친다.--- testThreads.c.orig 2009-09-11 18:09:00.268640135 +0200
+++ testThreads.c 2009-09-11 18:12:43.412653512 +0200
@@ -107,7 +107,7 @@
for (i = 0; i < num_threads; i++) {
results[i] = NULL;
- tid[i] = (pthread_t) -1;
+ memset(&tid[i], 0, sizeof(pthread_t));
}
for (i = 0; i < num_threads; i++) {그리고 컴파일한다:
./configure --prefix=/mingw
make install - Fontconfig 라이브러리 컴파일 (권장)
SSA 자막 표시에 필요하다.tar xzvf fontconfig-2.8.0.tar.gz
cd fontconfig-2.8.0/
./configure --prefix=/mingw
make install - Libcdio 컴파일 (옵션)
tar xzvf libcdio-0.83.tar.gz
cd libcdio-0.83/
./configure --prefix=/mingw
make
make install - Libdca 컴파일 (권장)
tar xjvf libdca-0.0.5.tar.bz2
cd libdca-0.0.5/
./configure --prefix=/mingw
make install - DirectX 7 라이브러리 추출 (권장)
cd /mingw/include/
tar xzvf dx7headers.gz - MPlayer, Mencoder 컴파일
ffmpeg 소스를 받아서 mplayer 소스 디렉토리에 넣는다.tar xjvf mplayer-export-snapshot.tar.bz2
cd mplayer-export-2011-11-25/
tar xjvf ffmpeg-snapshot.tar.bz2
CPPFLAGS='-DWIN32 -DHAVE_INT32_T' ./configure --prefix=/mingw --enable-runtime-cpudetection --enable-theora --enable-fribidi --disable-ffmpeg_a --yasm=/mingw/bin/yasm
MPlayer를 컴파일하기 전에 config.mak를 텍스트 에디터(notepad.exe)로 수정한다.EXTRALIBS_MPLAYER = -lgdi32 -lopengl32 -lwinmm -lfaac -lx264 -lmp3lame -lfribidi
EXTRALIBS_MENCODER = -lfaac -lx264 -lfribidi -lmp3lameMPlayer 컴파일 시작한다.
make
- MPlayer.exe와 Mencoder.exe를 복사한다.
strip mencoder.exe mplayer.exe
cp -iv m*.exe /mingw/bin
No comments:
Post a Comment