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

+ Recent posts