CentOS에서 ffmpeg 설치

2015. 10. 20. 13:59MultiMedia Framework/FFMpeg

CENTOS에서 아래와 같은 방법으로 ffmpeg을 빌드하고 사용할 수 있다. 


1. 의존 관계가 있는 library 다운로드 및 업데이트

ffmpeg을 컴파일 하기 위한 dependency가 있는 라이브러리들을 설치한다. 당연히 관리자 권한으로 설치를 진행해야 한다.

$> yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel


2. ffmpeg_sources 폴더 생성

ffmpeg과 관련된 소스를 다운로드 받을 폴더를 생성한다.

$> mkdir ~/ffmpeg_sources


3. Yasm 설치

$> cd ~/ffmpeg_sources

$> git clone --depth 1 git://github.com/yasm/yasm.git

$> cd yasm

$> autoreconf -fiv

$> ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"

$> make

$> make install

$> make distclean


4. libx264 설치

H.264 비디오 인코더를 설치한다. 

$> cd ~/ffmpeg_sources

$> git clone --depth 1 git://git.videolan.org/x264

$> cd x264

$> ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static

$> make

$> make install

$> make distclean


4. libx265 설치

H.265/HEVC 비디오 인코더를 설치한다. 

$> cd ~/ffmpeg_sources

$> hg clone https://bitbucket.org/multicoreware/x265

$> cd ~/ffmpeg_sources/x265/build/linux

$> cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source

$> make

$> make install




5. libfdk-aac 설치

AAC 오디오 인코더를 설치한다. 

$> cd ~/ffmpeg_sources

$> git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac

$> cd fdk-aac

$> autoreconf -fiv

$> ./configure --prefix="$HOME/ffmpeg_build" --disable-shared

$> make

$> make install

$> make distclean


6. libmp3lame 설치

MP3 오디오 인코더를 설치한다. 

$> cd ~/ffmpeg_sources

$> curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

$> tar xzvf lame-3.99.5.tar.gz

$> cd lame-3.99.5

$> ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm

$> make

$> make install

$> make distclean


7. libogg 설치

Ogg bitstream 라이브러리를 설치한다.  

$> cd ~/ffmpeg_sources

$> curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz

$> tar xzvf libogg-1.3.2.tar.gz

$> cd libogg-1.3.2

$> ./configure --prefix="$HOME/ffmpeg_build" --disable-shared

$> make

$> make install

$> make distclean


8. libvorbis 설치

Vorbis 오디오 인코더를 설치한다. 설치시 libogg가 필요하다. 

$> cd ~/ffmpeg_sources

$> curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz

$> tar xzvf libvorbis-1.3.4.tar.gz

$> cd libvorbis-1.3.4

$> LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared

$> make

$> make install

$> make distclean


8. libvpx 설치

VP8/VP9 비디오 인코더를 설치한다.    

$> cd ~/ffmpeg_sources

$> git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git

$> cd libvpx

$> ./configure --prefix="$HOME/ffmpeg_build" --disable-examples

$> make

$> make install

$> make clean




9. ffmpeg 설치

$> cd ~/ffmpeg_sources

$> git clone --depth 1 git://source.ffmpeg.org/ffmpeg

$> cd ffmpeg

$> PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265

$> make

$> make install

$> make distclean

$> hash -r


ffmpeg Update 시

업데이트를 위해서는 처음에는 오래된 파일들을 삭제하고, dependency 라이브러리들을 업데이트 한다.

$> rm -rf ~/ffmpeg_build ~/bin/{ffmpeg, ffprobe, ffserver, lame, vsyasm, x264, x265, yasm, ytasm}

# update Yasm

$> cd ~/ffmpeg_sources/yasm

$> make distclean

$> git pull

# pull이 완료되면 Yasm 설치 시 언급한 ./configure, make, make install 진행.


# update x264

$> cd ~/ffmpeg_sources/x264

$> make distclean

$> git pull

# pull이 완료되면 x264 설치 시 언급한 ./configure, make, make install 진행.


# update x265

$> cd ~/ffmpeg_sources/x265

$> rm -rf ~/ffmpeg_sources/x265/build/linux/*

$> hg update

$> cd ~/ffmpeg_sources/x265/build/linux

# 이 후, x265 설치 시 언급한 cmake, make, make install 진행.


# update libfdk_aac

$> cd ~/ffmpeg_sources/fdk_aac

$> make distclean

$> git pull

# pull이 완료되면 libfdk_aac 설치 시 언급한 ./configure, make, make install 진행.


#update libvpx

$> cd ~/ffmpeg_sources/libvpx

$> make clean

$> git pull

# pull이 완료되면 libvpx 설치 시 언급한 ./configure, make, make install을 진행.


# update FFmpeg

$> cd ~/ffmpeg_sources/ffmpeg

$> make distclean

$> git pull

# pull이 완료되면 ffmpeg 설치 시 언급한 ./configure, make, make install을 진행.


ffmpeg 삭제 시

$> rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg, ffprobe, ffserver, lame, vsyasm, x264, yasm, ytasm}

$> hash -r