1. ffmpeg란 : http://helloworld.naver.com/helloworld/8794
2. CentOS에서 FFMPEG 설치
1) Yum 저장소 추가 : Centos-DAG.repo라는 파일에 아래 내용을 추가해 넣는다.
# cd /etc/yum.repos.d
# vi Centos-DAG.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
2) a52dec 설치
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# yum install a52dec-devel.x86_64
참고) 이 부분을 안해주면 아래와 같은 에러가 발생한다.
Public key for a52dec-0.7.4-8.el6.rf.x86_64.rpm is not installed |
3) ffmpeg 설치
# yum install ffmpeg-devel.x86_64
3. ffmpeg-php 설치
- 인터넷에서 검색을 해 보면 굉장히 간단한 설치처럼 보이나 CentOS 6에서는 쉽지 않은 설치였음. 아무래도 패키지가 나온지 오래되다보니, 바뀐 OS와 안 맞는 것처럼 보임.
- 해결책은 소스를 바꾸어야 함..
1) 소스 다운로드
http://ffmpeg-php.sourceforge.net
2) 소스 압축 풀기
# bzip2 -cd ffmpeg-php-0.6.0.tbz2 | tar xf -
3) 소스 수정
ffmpeg-php에서는 크게 2가지 에러가 나는데 이를 위해 두개의 소스를 고치거나 대체해야 한다.
ffmpeg_movie.lo 오류 방지
# wget http://www.9xhost.info/scripts/ffmpeg-php-0.6.0/ffmpeg_movie.c
ffmpeg_movic.c를 다운 받아 원래 있던 파일을 대체한다.
# cd /usr/local/src/ffmpeg-php-0.6.0
# mv {다운받아놓은 위치}/ffmpeg_movic.c ./
ffmpeg_frame.lo 오류 방지
- ffmpeg_frame.c 안에 PIX_FMT_RGBA32를 PIX_FMT_RGB32로 치환해준다.
# vi ffmpeg_frame.c
:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32/g
:w :q!
4) 설치
# /usr/local/php-5.5.5/bin/phpize
# ./configure --prefix=/usr/local/ffmpeg-php-0.6.0 --enable-shared --with-php-config=/usr/local/php-5.5.5/bin/php-config
# make
# make install
5) 모듈 복사
# cd /usr/local/php-5.5.5/lib/php/extensions/no-debug-zts-20121212/
# cp ./ffmpeg.so /usr/local/httpd/modules/
6) 설정
# vi /usr/local/httpd/conf/php.ini
extension_dir = "./" 을
extension_dir = "/usr/local/httpd/modules" 로 수정
extension=ffmpeg.so 추가
7) 설치 확인
# /usr/local/php-5.5.5/bin/php -r 'phpinfo();' | grep ffmpeg
참고 문헌
1) http://chrisjean.com/2009/01/13/install-ffmpeg-and-ffmpeg-php-on-centos-easily/
2) http://www.nazly.net/installing-ffmpeg-and-ffmpeg-php-on-centos/
3) http://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1720&sca=1
5) http://www.9xphp.com/Thread-FFMPEG-ffmpeg-PHP-centos-5-6-easy-install