@Konboi memo

主に技術に関してつらつらと。

CentOSにffmpegインストールした

はじめに

サーバー側で動画を変換する必要があったのですが、 yum で入るffmpegだとバージョンが古く、エラーが多発するのでソースから入れてみたので、それのメモ


ffmpeg のインストール

ライブラリのインストール

sudo yum install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel -y
sudo yum install freetype-devel giflib imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel -y
sudo yum install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel -y
sudo yum install id3tag-devel libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel xvidcore xvidcore-devel zlib-devel -y
sudo yum install amrnb-devel amrwb-devel libtheora theora-tools -y
sudo yum install glibc gcc gcc-c++ autoconf automake libtool make git-core -y
sudo yum install ncurses-devel nasm libvpx* opencore-amr-devel  -y
sudo yum install yasm --enablerepo=epel

基本コーデックのインストール

cd ~/ 
mkdir tmp
cd tmp
wget http://www8.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2
bunzip2 all-20110131.tar.bz2; tar xvf all-20110131.tar

sudo mkdir /usr/local/lib/codecs/
sudo mkdir /usr/local/lib64/codecs/
sudo cp all-20110131/* /usr/local/lib/codecs/
sudo cp all-20110131/* /usr/local/lib64/codecs/
sudo chmod -R 755 /usr/local/lib/codecs/
sudo chmod -R 755 /usr/local/lib64/codecs/

LibOgg

cd ~/tmp
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.0.tar.gz
cd libogg-1.3.0
./configure
make
sudo make install

Libvorbis

cd ~/tmp
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
tar xzvf libvorbis-1.3.3.tar.gz
cd libvorbis-1.3.3
./configure
make
sudo make install

Libtheora

cd ~/tmp
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure
make
sudo make install

Libvpx

cd ~/tmp
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --enable-shared --extra-cflags=-fPIC
make
sudo make install

Aacenc

cd ~/tmp
wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.2.tar.gz
tar xzvf vo-aacenc-0.1.2.tar.gz
cd vo-aacenc-0.1.2
./configure --enable-shared
make
sudo make install

X264

cd ~/tmp
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared --extra-cflags=-fPIC --extra-asflags=-D__PIC__
make
sudo make install

libfdk_aac

cd ~/tmp
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure
make 
sudo make install 

ライブラリの登録

export LD_LIBRARY_PATH=/usr/local/lib/
sudo sh -c "echo /usr/local/lib > /etc/ld.so.conf.d/custom-libs.conf"
sudo ldconfig

ffmpeg のコンパイル

cd ~/tmp
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
git branch -a 
git checkout -b n1.2 origin/release/1.2 #最新版のブランチをチェックアウト
./configure --enable-shared --enable-libx264 --enable-gpl --enable-nonfree --enable-libvpx --enable-libfdk-aac --enable-libtheora  --enable-libvorbis
make 
make install 

ffmpegでoggへの変換コマンド

ffmpeg -i 変換元ファイル名 -vcodec libtheora -acodec libvorbis 変換後ファイル名.ogg

まとめ

  • 依存があったりするのでメモの順番にやってくと問題ないと思います。