Ставим и настраиваем FFmpeg, FFmpeg-PHP и дополнительные кодеки
![]()
Итак, ниже я подробно опишу как поставить на ваш Linux-сервер FFmpeg, FFmpeg-PHP, Mplayer, Mencoder , flv2tool, LAME MP3 Encoder, Libogg, Libvorbis.
А нафиг это всё мне нужно – спросите вы, отвечу – при помощи этого набора вы сможете конвертировать видео у себя на сервере, делать скриншоты из видео роликов и много чего другого, а всё это вам приходиться если вы надумаете у себя поднять сервис типа или ещё более гениальную вещь ![]()
Начну с описания своего дистрибутива
[root@server /]# uname -a
Linux server.clientservers.org.ua 2.6.18-8.1.1.el5 #1 SMP Mon Apr 9 09:46:54 EDT 2007 i686 i686 i386 GNU/Linux
cd /usr/local/src
#для начала выкачаем всё необходимое:
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://downloads.sourceforge.net/ffmpeg-php/ffmpeg-php-0.5.2.1.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
#извлекаем архивы:
tar zxvf flvtool2_1.0.5_rc6.tgz
tar zxvf lame-3.97.tar.gz
tar zxvf libogg-1.1.3.tar.gz
tar zxvf libvorbis-1.1.2.tar.gz
tar zxvf flvtool2_1.0.5_rc6.tgz
tar jxvf essential-20061022.tar.bz2
tar jxvf ffmpeg-php-0.5.2.1.tbz2
#сделаем папочку под это дело:
mkdir /usr/local/lib/codecs/
#JUST IN CASE:
yum install gcc gmake make libcpp libgcc libstdc++ gcc4 gcc4-c++ gcc4-gfortran ruby svn
#проверяем SVN репозитарии:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
cd /usr/local/src/mplayer
svn update
cd /usr/local/src
#Копируем кодеки для MPLAYER:
mv /usr/local/src/essential-20061022/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
#делаем temp директорию
mkdir /usr/local/src/tmp
chmod 777 /usr/local/src/tmp
export TMPDIR=/usr/local/src/tmp
#LAME:
cd /usr/local/src/lame-3.97
./configure
make && make install
#LIBOGG:
cd /usr/local/src/libogg-1.1.3
./configure && make && make install
#LIBVORBIS:
cd /usr/local/src/libvorbis-1.1.2
./configure && make && make install
#FLVTOOL2:
cd /usr/local/src/flvtool2_1.0.5_rc6/
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
cd /usr/local/src/
cd /usr/local/src/mplayer
./configure && make && make install
#FFMPEG:
cd /usr/local/src/ffmpeg/
./configure --enable-libmp3lame --disable-mmx --enable-shared
make
make install
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
ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
cd /usr/local/src/
#FFMPEG-PHP:
cd /usr/local/src/ffmpeg-php-0.5.2.1/
phpize
./configure
make
make install
#добавляем расширение в наш php.ini
echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so' >> /usr/local/Zend/etc/php.ini
#рестартуем веб-серве
service httpd restart
Дальше запускаем Скрипт с phpinfo() и ищем раздел ffmpeg
У меня вот так получилось:
ffmpeg
ffmpeg support (ffmpeg-php) enabled
ffmpeg-php version 0.5.2.1
libavcodec version Lavc51.57.0
libavformat version Lavf52.14.0
ffmpeg-php gd support enabled
Directive Local Value Master Value
ffmpeg.allow_persistent 0 0
Всё работает, всё круто
Если у кого-то не получилось – не отчаивайтесь а пишите в коментах.
Пишу на PHP, работаю с различными CMS, люблю решать сложные задачи.
нико
14 Jul, 2008
./configure
нико
14 Jul, 2008
коро
admin
14 Jul, 2008
николай
18 Jul, 2008
напишите ICQ 9367226
Vladimir
18 Sep, 2008
checking for ffmpeg support… yes, shared
checking whether to force gd support in ffmpeg-php… no
checking for ffmpeg headers…
configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the –enable-shared option
leoo
21 Feb, 2009
Спасибо, реально помогло ))))
Saint_Byte
28 мая, 2009
Вот как надо компилить ffmpeg, потому что если его просто так скомпилить он не фига поддерживать не будет http://dotblog.ru/2009/05/20/sborka-ffmpeg-s-maksimalnojj-podderzhkojj-kodekov-i-prochikh-funkcijj/
BadArt
2 Jun, 2009
У меня выводит: ffmpeg-php gd support disabled, как включить?
Евгений
15 Jul, 2010
Могди бы Вы написать для НЕ ПРОГРАММИСТА как пошагово (для совсем тупых) установить на сервер ffmpeg?