Skip to content

[CentOS] ffmpeg 설치

조회 수 24524 추천 수 0 2012.02.07 17:48:02
1. First install subversion and ruby via yum or up2date:

yum -y install subversion ruby

yum install subversion*

yum install ncurses-devel*





2. make ffmpeg

cd /
mkdir ffmpeg





3. Now we need to install MPlayer & FFmpeg sources from SVN:

cd /ffmpeg
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer





4. Now we need some codecs:

wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
tar xvjpf essential-20071007.tar.bz2
cd essential-20071007
mkdir /usr/local/lib/codecs
mv * /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
cd /ffmpeg





5. Next we will install LAME MP3 encoder:

wget http://downloads.sourceforge.net/lame/lame-398-2.tar.gz
tar xvzpf lame-398-2.tar.gz
cd lame-398-2
./configure --prefix=/usr
make
make install
cd /ffmpeg





6. Now we install Libogg:

wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
tar xvzpf libogg-1.1.3.tar.gz
cd libogg-1.1.3
./configure --prefix=/usr
make
make install
cd /ffmpeg







7. We need to make sure the correct lib directories are setup in ldconfig. Edit the /etc/ld.so.conf file and add the following lines:

/usr/lib
/usr/local/lib





8. Now save and run the following command:

ldconfig



※ 7, 8 과정은 생략하여도 문제가 없는듯...






9. To install libvorbis we will run:

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
tar xvzpf libvorbis-1.2.0.tar.gz
cd libvorbis-1.2.0
./configure --prefix=/usr
make
make install
cd /ffmpeg





10. Now we will install FLVTool2:

wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
tar xvzpf flvtool2-1.0.6.tgz
cd flvtool2-1.0.6
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
cd /ffmpeg





11. Next we should build MPlayer & MEncoder and it will take a while unless you have a nice dual or quad core machine. Note that I’ve seen the SVN version of these packages break before, so you can always download the source code from their site (a stable copy) if it fails on make:

cd mplayer
./configure --prefix=/usr
make
make install
cd /ffmpeg





12. We will now build FFmpeg:

mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
cd /ffmpeg/ffmpeg
./configure --prefix=/usr --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared
make
make install
cd /ffmpeg

※ 여기서 make하면, error가 발생하는 경우가 있습니다.
In file included from libavdevice/v4l.c:33:
/usr/include/linux/videodev.h:56: error: syntax error before "ulong"
/usr/include/linux/videodev.h:72: error: syntax error before '}' token
libavdevice/v4l.c: In function `grab_read_header':
libavdevice/v4l.c:75: error: storage size of 'tuner' isn't known
libavdevice/v4l.c:133: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:140: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:75: warning: unused variable `tuner'
make: *** [libavdevice/v4l.o] 오류 1

이런 error가 뜨신다면!
vi /usr/include/linux/videodev.h 해서 ulong을 unsigned long으로 바꿔주시면 문제 해결!




13. Symlink some libraries if needed (ignore file exists errors):

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





14. Now build FFmpeg-PHP:

wget http://downloads.sourceforge.net/ffmpeg-php/ffmpeg-php-0.6.0.tbz2
tar xvjpf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0
phpize
./configure --prefix=/usr
make
make install
cd /ffmpeg

※ 저는 이 과정은 생략하였습니다.
허나 실행은 잘되는군요!ㅋ




15. Now you need to copy the ffmpeg.so file that was created from it’s location (from the build) to /usr/local/lib/php/extensions/, it should look something like:

cp /usr/local/lib/php/extensions/no-debug-non-zts-????????????/ffmpeg.so /usr/local/lib/php/extensions/



16. Modify your php.ini. Try /etc/php.ini or /usr/lib/php.ini or /usr/local/Zend/etc/php.ini as they are common locations, you can do php -i | grep -i ini to find the proper location. Change the extension_dir value as seen below and add the extension as seen below:

extension_dir = “/usr/local/lib/php/extensions/”
extension=ffmpeg.so





17. Now save and restart apache and test php for ffmpeg on both apache via phpinfo() and from shell:


/etc/rc.d/init.d/httpd restart

php -r 'phpinfo();' | grep ffmpeg
profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/77048/d0e/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

도메인 Status 상태별 설명 안내

HDD Guardian (a graphical user interface for smartctl)

dpkg 사용법

top 화면 내용중 load average와 PRI : priority(우선순위...

ubuntu 10.04 에서 Nginx, Mysql, PHP5

HP 서버 disk 증설 (hpacucli 사용)

리눅스 메모리 관리, 왜 메모리 여유공간이 없을까? (top ...

windows smartctl

ZFS 파일에 ACL 설정

make 정리

SSL 패스워드 삭제 하기

EXT4 파일 시스템을 Btrfs 파일 시스템으로 변환하기

tar 압축을 실수로 디렉토리 생성 안하고 풀었을때 대처법

ll 명령시 날짜 전체가 보이도록 하기

hddtemp와 mrtg를 이용한 하드디스크 온도 체크 file

python과 mysql 연동시 libmysqlclient_r.so.* 에러가 날 ...

linux 커널 파라메터 수정

우분투(Ubuntu) ssh 설정하기

error: Hm, kex protocol error: type 30 seq 1 [preauth]... file

운영중인 Linux 서버에서 NTFS 파일 시스템 삭제하기

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234