установка ffmpeg из исходников в CentOS

Posted in Новости on апреля 6, 2010 by admin

итак подготовим все необходимое :

yum install autoconfig automake libtool ruby subversion gcc php-devel checkinstall

Далее тянем и ставим кодеки :

1. faad2

wget http://archive.ubuntu.com/ubuntu/pool/universe/f/faad2/faad2_2.6.1.orig.tar.gz

tar -zxvf  faad2_2.6.1.orig.tar.gz
cd faad2
./bootstrap
./configure —prefix=/usr

make

make install

2. liba52

wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
tar -zxvf a52dec-0.7.4.tar.gz
cd a52dec-0.7.4
./configure —prefix=/usr

make

make install

3.  libgsm

wget http://ftp.debian.org/debian/pool/main/libg/libgsm/libgsm_1.0.12.orig.tar.gz
tar -zxf libgsm_1.0.12.orig.tar.gz
cd gsm-1.0-pl12
./configure —prefix=/usr

make

make install

4. faac

wget http://surfnet.dl.sourceforge.net/sourceforge/faac/faac-1.26.tar.gz
tar -zxf faac-1.26.tar.gz
cd faac
./bootstrap
./configure —prefix=/usr

make

make install

5. lame

wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
tar -zxf lame-3.97.tar.gz
cd lame-3.97
./configure —prefix=/usr

make

make install

6. xvidcore

wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.bz2
tar -jxf xvidcore-1.1.3.tar.bz2
cd xvidcore-1.1.3/build/generic/
./configure —prefix=/usr

make

make install

7. amrnb и amrwb

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
tar -jxvf amrwb-7.0.0.3.tar.bz2
cd amrwb-7.0.0.3
./configure —prefix=/usr

make

make install

cd ..
tar -jxvf amrnb-7.0.0.2.tar.bz2
cd amrnb-7.0.0.2
./configure —prefix=/usr

make

make install

8. тянем theora из SVN

svn co http://svn.xiph.org/trunk/theora
cd theora
./autogen.sh
./configure —prefix=/usr

make

make install

9.  x264

wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20100405-2245.tar.bz2

tar -jxvf x264*

cd x264*

./configure —prefix=/usr —disable-asm —enable-pic

make

make install

10. тянем исходники самого ffmpeg из SVN

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

cd ffmpeg

./configure —prefix=/usr —enable-libamr-nb —enable-libamr-wb —enable-libvorbis —enable-libxvid —enable-liba52 —enable-libmp3lame —enable-libx264 —enable-libtheora —enable-libfaad —enable-gpl —enable-shared —enable-pthreads —enable-libfaac —enable-nonfree —enable-postproc

make

make install

Далее нужно установить ffmpeg-php

тянем новую версию :

wget http://ignum.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

tar jxvf ffmpeg-php*

cd ffmpeg-php*

phpize

./configure

make

но и тут нас поджидает засада в виде

«make: *** [ffmpeg_frame.lo] Error 1»

но у нас есть патч под это дело =) (как видите все проще и проще)

perl -i -p -e ’s/PIX_FMT_RGBA32/PIX_FMT_RGBA/g;’ ffmpeg_frame.c

после этого опять же делаем make && make install

далее проверяем (конфиг должен был обновиться/добавиться автоматически)

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

и

ffmpeg

Как видите все проще простого :  никаких пакетов из репо, все кодеки находятся в разных местах, всевозможные затычки и ошибки при компиляции. Удачи Вам!

Tags: , ,

установка ffmpeg (c любыми нужными библиотеками) на Debian

Posted in Новости on марта 31, 2010 by admin

итак в интернете как я понял происходят эпические эксперименты по поводу установки ffmpeg со своими библиотеками. В стандартном пакете из репо мультимедии нет нужного всем кодека x264 и пары других.

Я поведаю на конкретном примере, как установить нужные кодеки ( не устанавливая ненужные).

Итак я беру за основу то, что мультимедия репо уже подключен (упоминалось заметками ранее)

Если в системе уже был собраны пакеты (или была неудачная попытка то удаляем все :

apt-get remove ffmpeg x264 libx264-dev

Итак начнем :

ставим все необходимое для компиляции

apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev

как видите нам нужно установить следующие видео библиотеки в ffmpeg : libfaac, libfaad, libmp3lame, libx11, libtheora, libxvid и поэтому бы установили их dev версии (для других библиотек можно найти по aptitude search нужные нам dev версии)

Далее можно заметить, что из репо не устанавливаем x264. Там она довольно старая и нам не подходит, так что будем собирать ее отдельно.

git clone git://git.videolan.org/x264.git
cd x264
./configure
make
checkinstall —fstrans=no —install=yes —pkgname=x264 —pkgversion «1:0.svn`date +%Y%m%d`» —default

Как видите мы привлекли еще один сторонний репо. Как я посмотрел на (ftp://ftp.videolan.org/pub/videolan/x264/snapshots/) у них там частые обновления.

Далее тянем ffmpeg :

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure —enable-gpl —enable-nonfree —enable-pthreads —enable-libfaac —enable-libfaad —enable-libmp3lame —enable-libtheora —enable-libx264 —enable-libxvid —enable-x11grab
make
checkinstall —fstrans=no —install=yes —pkgname=ffmpeg —pkgversion «4:0.5+svn`date +%Y%m%d`» —default

Как видите в процесс компиляции включены только те библиотеки, которые нужны для работы. Для подключения своих библиотек пользуемся правилом «—enable-<название библиотеки>». Так же если какой то компонент не установлен, система напишет, чего не хватает. Так что не нужно боятся ошибок, а внимательно их читать. В процессе компиляции выйдет туева куча варнов, но можно их игнорировать.

Итак на выходе получаем полностью рабочий ffmpeg по адресу (/usr/local/bin/ffmpeg) со всеми нужными библиотеками.

Если вдруг захотим обновить эти версии то делаем так :

apt-get remove ffmpeg x264 libx264-dev
cd ~/x264
make distclean
git pull
./configure
make
checkinstall —fstrans=no —install=yes —pkgname=x264 —pkgversion «1:0.svn`date +%Y%m%d`» —default
cd ~/ffmpeg
make distclean
svn update
./configure —enable-gpl —enable-nonfree —enable-pthreads —enable-libfaac —enable-libfaad —enable-libmp3lame —enable-libtheora —enable-libx264 —enable-libxvid —enable-x11grab
make
checkinstall —fstrans=no —install=yes —pkgname=ffmpeg —pkgversion «4:0.5+svn`date +%Y%m%d`» —default

Tags: , ,