* 시험환경
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
1. Yasm 설치
1.1. 소스 다운로드 및 압축 해제
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
$ tar xzvf yasm-1.2.0.tar.gz
1.2. 컴파일 및 설치
$ cd yasm-1.2.0
$ ./configure
$ make
$ make install
$ make distclean
$ . ~/.bash_profile
2. x264 설치
1.1. 소스 다운로드
$ git clone --depth 1 git://git.videolan.org/x264
1.2. 컴파일 및 설치
$ cd x264
$ ./configure --enable-static --disable-opencl --disable-avs --disable-cli --disable-ffms --disable-gpac --disable-lavf --disable-swscale
$ make
$ make install
$ make distclean
3. libfdk_aac 설치
1.1. 소스 다운로드
$ git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
1.2. 컴파일 및 설치
$ cd fdk-aac
$ autoreconf -fiv
$ ./configure --disable-shared
$ make
$ make install
$ make distclean
%% 에러 발생시
* autoreconf -fiv 에서 아래 에러 발생시
Makefile.am: C objects in subdir but `AM_PROG_CC_C_O' not in `configure.ac'
autoreconf: automake failed with exit status: 1
이 에러는 automake, autoconf, libtool 등의 버전이 낮기 때문에 발생한다.
아래 파일을 수정한다.
ㄱ. Makefile.am
libfdk_aac_la_LINK = $(LINK) $(libfdk_aac_la_LDFLAGS)
#libfdk_aac_la_LINK = $(LINK) $(libfdk_aac_la_LDFLAGS)
ㄴ. configure.ac
LT_INIT
AM_PROG_CC_C_O
AC_PROG_LIBTOOL
AC_SUBST(LIBTOOL_DEPS)
4. libmp3lame 설치
1.1. 소스 다운로드 및 압축 해제
$ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
$ tar xvzf lame-3.99.5.tar.gz
1.2. 소스 컴파일 및 설 치
$ cd lame-3.99.5
$ ./configure --disable-shared --enable-nasm
$ make
$ make install
$ make distclean
5. libopus 설 치
1.1. 소스 다운로드 및 압축 해제
$ http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz
$ tar xvzf opus-1.0.3.tar.gz
1.2 소스 컴파일 및 설치
$ cd opus-1.0.3
$ ./configure --disable-shared
$ make
$ make install
$ make distclean
6. libogg 설치
1.1. 소스 다운로드 및 압축 해제
$ wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
$ tar xvzf libogg-1.3.1.tar.gz
1.2. 소스 컴파일 및 설치
$ cd libogg-1.3.1
$ ./configure --disable-shared
$ make
$ make install
$ make distclean
7. libvorbis 설치
1.1. 소스 다운로드 및 압축 해제
$ wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
$ tar xvzf libvorbis-1.3.3.tar.gz
1.2. 소스 컴파일 및 설치
$ cd libvorbis-1.3.3
$ ./configure --with-ogg="/usr/local" --disable-shared
$ make
$ make install
$ make distclean
8. libvpx 설치
1.1. 소스 다운로드
$ git clone --depth 1 http://git.chromium.org/webm/libvpx.git
1.2. 소스 컴파일 및 설치
$ cd libvpx
$ ./configure --disable-examples
$ make
$ make install
$ make clean
9. libopencore-amrnb, libopencore-amrwb 설치
1.1. 소스 다운로드 및 압축 해제
$ wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
$ tar xvzf opencore-amr-0.1.3.tar.gz
1.2. 소스 컴파일 및 설치
$ cd opencore-amr-0.1.3
$ ./configure --disable-shared
$ make
$ make install
$ make distclean
10. FFmpeg 설치
1.1 소스 다운로드
$ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
1.2. 소스 컴파일 및 설치
$ cd ffmpeg
$ ./configure --enable-static --extra-libs=-static --extra-cflags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-pthreads --enable-version3
$ make
$ make install
$ make distclean
1.3. 설치 확인
$ ffmpeg
ffmpeg version N-56254-gb7bd688 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 16 2013 11:52:02 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
configuration: --enable-static --extra-libs=-static --extra-cflags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-pthreads --enable-version3
libavutil 52. 43.100 / 52. 43.100
libavcodec 55. 31.101 / 55. 31.101
libavformat 55. 16.102 / 55. 16.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 84.100 / 3. 84.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'