본문 바로가기

Programing/Linux

[Linux] x264와 faac를 지원하는 FFmpeg 컴파일하기

Linux에서 H.264와 AAC를 지원하는 FFmpeg를 컴파일하는 방법입니다.
FFmpeg를 컴파일하기 전에 H.264와  AAC 코덱을 먼저 컴파일 해야합니다.
여기서는 x264(VideoLAN.org)와 faac(AudioCoding.com)를 사용하며,
FFMpeg는 0.6버전을 사용합니다.

[사전작업]
x264와 FFMpeg에서 asm을 사용하기에 asm 프로그램을 설치해 줘야 합니다.

CentOS or Fedora : yum install yasm
ubuntu : sudo apt-get install nasm


[다운로드 경로]
x264 Library : ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
faac Library : http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
FFMpeg Library : http://www.ffmpeg.org/releases/ffmpeg-0.6.3.tar.gz


[다운로드 및 압축해제]
다운로드 경로는 환경에 맞게 바꾸셔도 됩니다.
- 다운로드 경로 : /src
- x264 버전 : 20110626-2245

- faac 버전 : 1.28
- FFMpeg 버전 : 0.6.3

# mkdir /src
# cd /src
# wget  ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
# wget  http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
# wget  http://www.ffmpeg.org/releases/ffmpeg-0.6.3.tar.gz
# tar xvfl last_x264.tar.bz2
# tar -xzvf  faac-1.28.tar.gz
# tar -xzvf  ffmpeg-0.6.3.tar.gz

1. x264 컴파일

[configure 옵션]
--prefix=설치를 원하는 경로 : 이 옵션을 사용하면 /usr/loacl/이 아닌 지정해준 경로에 설치가 됩니다.
--enable-shared :  shared library를 생성합니다.
--enable-static : static library를 생성합니다.
* 자세한 옵션은 ../configure --help를 이용해 확인하시고, 추가하거나 빼시면 됩니다. 


# cd /src
# cd x264-snapshot-20110626-2245
# ./configure --enable-shared --enable-static
# make
# make install

이렇게 하시면 컴파일과 설치가 완료됩니다.
prefix 옵션을 안 주셨다면, 설치된 라이브러리 경로는 아래와 같습니다.
Library : /usr/local/lib
Header : /usr/local/include

* 압축을 해제한 x264의 폴더를 여기서는 x264-snapshot-20110626-2245 이걸로 사용하였지만,
   버전마다 틀리 수 있으니 확인하고 환경에 맞게 바꿔주시면 됩니다.

2. faac 컴파일 

[configure 옵션]

--prefix=설치를 원하는 경로 : 이 옵션을 사용하면 /usr/loacl/이 아닌 지정해준 경로에 설치가 됩니다.

--enable-shared :  shared library를 생성합니다.

--enable-static : static library를 생성합니다. 
* 자세한 옵션은 ../configure --help를 이용해 확인하시고, 추가하거나 빼시면 됩니다. 


# cd /src
# cd faac-1.28
# ./configure --enable-shared --enable-static
# make
# make install

이렇게 하시면 컴파일과 설치가 완료됩니다.
prefix 옵션을 안 주셨다면, 설치된 라이브러리 경로는 아래와 같습니다.
Library : /usr/local/lib
Header : /usr/local/include

* 압축을 해제한 faac의 폴더를 여기서는 faac-1.28 이걸로 사용하였지만, 
   버전마다 틀리 수 있으니 확인하고 환경에 맞게 바꿔주시면 됩니다.

3. FFMpeg 컴파일

[configure 옵션]

--prefix=설치를 원하는 경로 : 이 옵션을 사용하면 /usr/loacl/이 아닌 지정해준 경로에 설치가 됩니다.

--enable-shared :  shared library를 생성합니다.

--enable-static : static library를 생성합니다.
--enable-gpl : gpl 라이센스를 사용한다.
   (x264 라이브러리가 gpl 라이센스만 지원하므로,  x264 사용시에는 이 옵션을 넣어줘야만 컴파일이 됩니다.)
--enable-libx264 : x264 라이브러리를 사용합니다.
--enable-avfilter : avfilter 라이브러를 생성합니다. 
--enable-libfaac : faac 라이브러리를 사용합니다.
--enable-nonfree :  nonfree code의 사용을 허락합니다.
   (faac 라이브러리가 nonfree code를 사용하므로, faac 사용시에는 이 옵션을 넣어줘야만 컴파일이 됩니다.)
* 자세한 옵션은 ../configure --help를 이용해 확인하시고, 추가하거나 빼시면 됩니다. 


# cd /src
# cd ffmpeg-0.6.3
# ./configure --enable-shared --enable-static --enable-gpl --enable-libx264 --enable-avfilter --enable-libfaac --enable-nonfree
# make
# make install

이렇게 하시면 컴파일과 설치가 완료됩니다.
prefix 옵션을 안 주셨다면, 설치된 라이브러리 경로는 아래와 같습니다.
Library : /usr/local/lib
Header : /usr/local/include

* 압축을 해제한 ffmpeg의 폴더를 여기서는 ffmpeg-0.6.3 이걸로 사용하였지만, 
   버전마다 틀리 수 있으니 확인하고 환경에 맞게 바꿔주시면 됩니다.

'Programing > Linux' 카테고리의 다른 글

[Linux] log4cxx 컴파일  (0) 2011.07.12
[Linux] 64비트로 컴파일하기  (0) 2011.07.12
[Linux]Ace 컴파일하기  (0) 2011.06.24
[Linux] vimrc 설정  (0) 2009.09.25
[Linux] vim 7.0 설정 .vimrc  (0) 2009.09.24