FFMPEG을 가장쉽게 설치하는 방법(ffmpeg-php)
========================================================================================================
rpmforge로 yum repogetory 추가하면 yum으로 설치 가능하다.
rpm -Uhv http://rpmforge.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install -y ffmpeg.i386 ffmpeg-devel.i386 ffmpeg-libpostproc.i386 gstreamer-ffmpeg.i386
설치 후 php.ini에 모듈을 추가한다.
extension=ffmpeg.so
========================================================================================================
yum install gcc gcc-c++ libgcc gd gd-devel gettext freetype \
freetype-devel ImageMagick ImageMagick-devel libjpeg* libjpeg-devel* \
libpng* libpng-devel* libstdc++* libstdc++-devel* libtiff* \
libtiff-devel* libtool* libungif* libungif-deve* libxml* libxml2* \
libxml2-devel* zlib* zlib-devel* automake* autoconf* samba-common* \
ncurses-devel ncurses patch make
gifsicle.i386 요거는 GIF,PNG 그림파일 애니메이션 라이브러리 rpm포지에서 yum설치
Apache, Mysql, Php 가 정상적으로 설치되어 있으며 정 안되면 그냥 Full옵션으로 깔려있다는
전제 하에 아래를 작업하시면 됩니다.
1. 우선 디렉토리 생성.. /home/ 방이 있다면...암튼 아무곳에나 방 만듬
mkdir /home/ffmpeg
cd /home/ffmpeg
2.소스 가져오기..
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 .
wget http://rubyforge.org/frs/download.php/9225/flvtool2_1.0.5_rc6.tgz .
wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz .
wget http://superb-west.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2 .
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz .
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz .
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
wget http://downloads.xiph.org/releases/theora/libtheora-1.0
3. 소스 압축풀기
bunzip2 essential-20061022.tar.bz2; tar xvf essential-20061022.tar
tar zxvf flvtool2_1.0.5_rc6.tgz
tar zxvf lame-3.97.tar.gz
bunzip2 ffmpeg-php-0.5.0.tbz2; tar xvf ffmpeg-php-0.5.0.tar
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.1.2.tar.gz
4. 코덱디렉토리 만들고 가져오기.
mkdir /usr/local/lib/codecs/
mv ./essential-20061022/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
5. 최신버젼으로 가져오기위해.. SVN 설치...
yum install subversion
yum install ruby
yum install ncurses-devel
more..
6. SVN을 이용해 최신버젼가져오기
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
7. LAME 컴파일
cd ~/ffmpeg/lame-3.97
./configure
make
make install
-----------------------------------
8. libOGG 컴파일
cd ~/ffmpeg/libogg-1.1.3
./configure
make
make install
9. libVorbis 컴파일
cd ~/ffmpeg/libvorbis-1.1.2
./configure
make
make install
-----------------------------------
=> 그냥 yum install libvorbis -y 하면됨.
10. flvtool2 컴파일(flv파일의 인덱스를 재생성해주는 유틸리티입니다.)
cd ~/ffmpeg/flvtool2_1.0.5_rc6
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
11. MPlayer 컴파일
cd ~/ffmpeg/mplayer
./configure
make
make install
more..
12. 코덱 셋업해주기..
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50 <--없음
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
13. FFMPEG 컴파일..
cd ~/ffmpeg/ffmpeg
./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared
[ --enable-libogg 버전 업으로 인하여 옵션 빠짐 ]
--------------------------------------------------------------------------------
컴파일 시 svn 에러나 libvorbis 을 찾을수 없다고 나어면
svn최신 update 및 libvorbis도 업데이트 하고 libvorbis- dev도 설치한다.
yum update
--------------------------------------------------------------------------------
echo '#define HAVE_LRINTF 1' >> config.h
make
make install
*** ffmpeg rpm ************
wget http://dag.wieers.com/rpm/packages/ffmpeg/ffmpeg-devel-0.4.9-0.9.20070530.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/ffmpeg/ffmpeg-libpostproc-0.4.9-0.9.20070530.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/ffmpeg/ffmpeg-0.4.9-0.9.20070530.el5.rf.i386.rpm
****************************
14. FFMPEG-PHP 컴파일 ..
cd ~/ffmpeg/ffmpeg-php-0.5.0
phpize
./configure --enable-shared --with-php-config=/usr/bin/php-config
make
make install 하고나면
[root@fmpg ffmpeg-php-0.5.0]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20060613/ <-- 또는
Installing shared extensions: /usr/local/php4/ <-- 뭐 이런식으로 표시됨 (php가 설치된 환경에 따라 다름)
15. FFMPEG-PHP 확장모듈..(php.ini 경로 정확하게)
echo 'extension=ffmpeg.so' >> /usr/local/Zend/etc/php.ini
16. 아파치 재시작하기.
service httpd restart (또는 소스컴파일작업자 등에 따라 apachectl restart ..)
17. 올라왔는지 확인은 phpinfo();에서 확인하심 됩니다.
php -r 'phpinfo();' | grep ffmpeg
ffmpeg
ffmpeg support (ffmpeg-php) => enabled
ffmpeg-php version => 0.5.0
ffmpeg.allow_persistent => 0 => 0
# 위와 같이 보이면 성공
Then everything is installed and working. FFMPEG, FFMPEG-PHP, MPlayer, MEncoder, flv2tool, LAME MP3 encoder & libOGG.
# 17번에서 Error:cannot restore segment prot after reloc: Permission denied 이런 메세지가 있으면..
vi /etc/sysconfig/selinux
SELINUX=enforcing
위와 같은 설정이 있다면 위부분을
SELINUX=disabled 로 변경
시스템 부팅 selinux가 커널쪽에 무슨 설정이 있다고 합니다 그래서 리붓
차후 확인 php -r 'phpinfo();' | grep ffmpeg 정상적으로 보임
[테스트]
ffmpeg -i video.wmv -ar 22050 -ab 32 -f flv -s 320x240 video.flv | flvtool2 -U stdin video.flv