Skip to content

[CentOS] ffmpeg 설치

조회 수 24495 추천 수 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/de4/trackback
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
107 장비를 복제해서 옮겼을 경우 네트워크가 eth0_rename 되... ADMINPLAY 2012-01-31 25796
106 FFMpeg + rtspdump + segmenter 를 이용한 iPhone 스트리... ADMINPLAY 2012-02-07 31367
105 HTTP Live Streaming 구축 ADMINPLAY 2012-02-07 33148
104 Http Live Streaming 으로 아이폰 동영상 서비스 ADMINPLAY 2012-02-07 29100
103 iPhone에서 streaming video 서비스 ADMINPLAY 2012-02-07 20906
102 CentOS ffmpeg yum install ADMINPLAY 2012-02-07 25577
» [CentOS] ffmpeg 설치 ADMINPLAY 2012-02-07 24495
100 ffmpeg 설치 및 활용 ADMINPLAY 2012-02-07 35508
99 linux - cp 덮어쓰기옵션 ADMINPLAY 2012-02-24 25692
98 [squid] 캐시 로그 결과 값(access_log) ADMINPLAY 2012-03-07 19786
97 squid.conf ADMINPLAY 2012-03-07 22738
96 lighttpd와 Apache의 성능 차이 file [2] l2zeo 2012-03-08 24246
95 ssh 특정 ip or 특정대역폭만 접속 허용 ADMINPLAY 2012-03-20 19527
94 squid.conf : Reverse Proxy ADMINPLAY 2012-04-13 11862
93 HTML5 멀티미디어 태그 - <video>,<audio>,<embed> ADMINPLAY 2012-05-02 8317
92 allowScriptAccess 설정 l2zeo 2012-05-05 8425
91 rsync 를 이용하여 동기화 할때 특정 폴더 2개 이상 제외하기 ADMINPLAY 2012-05-09 10736
90 Squid 의 캐시 저장 기간 설정 ( refresh_pattern ) ADMINPLAY 2012-05-18 6873
89 스퀴드(squid) 로그 로테이트 방법 ADMINPLAY 2012-05-18 7609
88 Centos 6.0 사용장비 교체후 eth0,1이 eth2,3으로 밀리거... ADMINPLAY 2012-05-29 15122

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234