Пересборка пакета ffmpeg CentOS 5

Представлен лог самостоятельной пересборки пакета ffmpeg с подключением дополнительных модулей не входящих в стандартный пакет RPM.

Все действия производятся из под пользователя root.

Скачиваем архив и последний spec файл для сборки пакета:
cd /usr/src/redhat/SOURCES/
wget http://www.ffmpeg.org/releases/ffmpeg-0.6.1.tar.bz2
cd /usr/src/redhat/SPECS/ 
wget http://svn.rpmforge.net/svn/trunk/rpms/ffmpeg/ffmpeg.spec 
Редактируем файл ffmpeg.spec. Включаем необходимые опции.
Подключаем репозитории: /etc/yum.repos.d/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 
/etc/yum.repos.d/epel.repo 
[epel] 
name=Extra Packages for Enterprise Linux 5 - $basearch 
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch 
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch 
failovermethod=priority 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL 
/etc/yum.repos.d/altrpms.repo 
[atrpms] 
name=Fedora Core $releasever - $basearch - ATrpms 
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable 
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms 
enabled=1 
gpgcheck=1 
[atrpms-testing] 
name=Fedora Core $releasever - $basearch - ATrpms 
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing 
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms 
enabled=1 
gpgcheck=1 
yum install libnut libtheoraenc1 libtheoradec1 
Отключаем репозитории atrpms: /etc/yum.repos.d/atrpms.repo 
[atrpms] 
name=Fedora Core $releasever - $basearch - ATrpms 
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable 
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms 
enabled=0 
gpgcheck=1 
[atrpms-testing] 
name=Fedora Core $releasever - $basearch - ATrpms 
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing 
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms 
enabled=0 
gpgcheck=1
Устанавливаем кодеки:
yum install lua mjpegtools yamdi faac faac-devel faad2 faad2-devel gsm gsm-devel lame lame-devel amrnb amrnb-devel opencore-amr opencore-amr-devel libvorbis libvorbis-devel x264 x264-devel 
xvidcore xvidcore-devel libdc1394-devel texi2html libogg-devel libtheora-devel openjpeg-libs openjpeg-devel libtheora-devel libvpx-devel 
Собираем пакет:
rpmbuild -bb ffmpeg.spec --without schroedinger --without rtmp 
(Резульаты компиляции в Приложении ниже)

Получили файлы: 
/usr/src/redhat/RPMS/i386/ffmpeg-0.6.1-2.i386.rpm 
/usr/src/redhat/RPMS/i386/ffmpeg-devel-0.6.1-2.i386.rpm 
/usr/src/redhat/RPMS/i386/ffmpeg-libpostproc-0.6.1-2.i386.rpm  Устанавливаем собранный ffmpeg:
cd /usr/src/redhat/RPMS/i386/ 
rpm -ivh ffmpeg-* 
Устанавливаем php-ffmpeg для связки с php:
cd /var/tmp
wget http://dfn.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.6.0.tbz2 
tar -xjf ffmpeg-php-0.6.0.tbz2 
cd ffmpeg-php-0.6.0 
phpize 
./configure 
make 
make install
Подключаем к php: /etc/php.d/ffmpeg.ini 
; Enable ffmpeg 
extension=ffmpeg.so 
Перезапускаем apache для применения новой версии ffmpeg:
/etc/init.d/httpd restart 

Приложение:


Результат компиляции: 
CFLAGS='-O2 -g -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' 
./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth '--extra-cflags=-O2 -g -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' 
--enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb 
--disable-librtmp --disable-libschroedinger --disable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-gpl --enable-nonfree --enable-libopenjpeg --enable-postproc --enable-pthreads 
--enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab 

install prefix /usr 
source path /usr/src/redhat/BUILD/ffmpeg-0.6.1 
C compiler gcc 
.align is power-of-two no 
ARCH x86 (generic) 
big-endian no 
runtime cpu detection no 
yasm no 
MMX enabled yes 
MMX2 enabled yes 
3DNow! enabled yes 
3DNow! extended enabled yes 
SSE enabled yes 
SSSE3 enabled yes 
CMOV enabled no 
CMOV is fast no 
EBX available yes 
EBP available yes 
10 operands supported yes 
gprof enabled no 
debug symbols yes 
strip symbols yes 
optimizations yes 
static yes 
shared yes 
postprocessing support yes 
new filter support yes 
filters using lavformat yes 
network support yes 
threading support pthreads 
SDL support yes 
Sun medialib support no 
AVISynth enabled no 
libdc1394 support yes 
libdirac enabled yes 
libfaac enabled yes 
libfaad enabled yes 
libfaad dlopened yes 
libgsm enabled yes 
libmp3lame enabled yes 
libnut enabled yes 
libopencore-amrnb support yes 
libopencore-amrwb support yes 
libopenjpeg enabled yes 
librtmp enabled no 
libschroedinger enabled no 
libspeex enabled no 
libtheora enabled yes 
libvorbis enabled yes 
libvpx enabled yes 
libx264 enabled yes 
libxvid enabled yes 
zlib enabled yes 
bzlib enabled yes 

Enabled decoders: 
aac dxa mpegvideo 
aasc eac3 msmpeg4v1 
ac3 eacmv msmpeg4v2 
adpcm_4xm eamad msmpeg4v3 
adpcm_adx eatgq msrle 
adpcm_ct eatgv msvideo1 
adpcm_ea eatqi mszh 
adpcm_ea_maxis_xa eightbps nellymoser 
adpcm_ea_r1 eightsvx_exp nuv 
adpcm_ea_r2 eightsvx_fib pam 
adpcm_ea_r3 escape124 pbm 
adpcm_ea_xas ffv1 pcm_alaw 
adpcm_g726 ffvhuff pcm_bluray 
adpcm_ima_amv flac pcm_dvd 
adpcm_ima_dk3 flashsv pcm_f32be 
adpcm_ima_dk4 flic pcm_f32le 
adpcm_ima_ea_eacs flv pcm_f64be 
adpcm_ima_ea_sead fourxm pcm_f64le 
adpcm_ima_iss fraps pcm_mulaw 
adpcm_ima_qt frwu pcm_s16be 
adpcm_ima_smjpeg gif pcm_s16le 
adpcm_ima_wav h261 pcm_s16le_planar 
adpcm_ima_ws h263 pcm_s24be 
adpcm_ms h263i pcm_s24daud 
adpcm_sbpro_2 h264 pcm_s24le 
adpcm_sbpro_3 huffyuv pcm_s32be 
adpcm_sbpro_4 idcin pcm_s32le 
adpcm_swf iff_byterun1 pcm_s8 
adpcm_thp iff_ilbm pcm_u16be 
adpcm_xa imc pcm_u16le 
adpcm_yamaha indeo2 pcm_u24be 
alac indeo3 pcm_u24le 
als indeo5 pcm_u32be 
amrnb interplay_dpcm pcm_u32le 
amv interplay_video pcm_u8 
anm jpegls pcm_zork 
ape kgv1 pcx 
asv1 kmvc pgm 
asv2 libdirac pgmyuv 
atrac1 libfaad pgssub 
atrac3 libgsm png 
aura libgsm_ms ppm 
aura2 libopencore_amrnb ptx 
avs libopencore_amrwb qcelp 
bethsoftvid libopenjpeg qdm2 
bfi libvpx qdraw 
bink loco qpeg 
binkaudio_dct mace3 qtrle 
binkaudio_rdft mace6 r210 
bmp mdec ra_144 
c93 mimic ra_288 
cavs mjpeg rawvideo 
cdgraphics mjpegb rl2 
cinepak mlp roq 
cljr mmvideo roq_dpcm 
cook motionpixels rpza 
cscd mp1 rv10 
cyuv mp2 rv20 
dca mp3 rv30 
dnxhd mp3adu rv40 
dpx mp3on4 sgi 
dsicinaudio mpc7 shorten 
dsicinvideo mpc8 sipr 
dvbsub mpeg1video smackaud 
dvdsub mpeg2video smacker 
dvvideo mpeg4 smc 
snow tta vqa 
sol_dpcm twinvq wavpack 
sonic txd wmapro 
sp5x ulti wmav1 
sunrast v210 wmav2 
svq1 v210x wmavoice 
svq3 vb wmv1 
targa vc1 wmv2 
theora vcr1 wmv3 
thp vmdaudio wnv1 
tiertexseqvideo vmdvideo ws_snd1 
tiff vmnc xan_dpcm 
tmv vorbis xan_wc3 
truehd vp3 xl 
truemotion1 vp5 xsub 
truemotion2 vp6 yop 
truespeech vp6a zlib 
tscc vp6f zmbv 

Enabled encoders: 
aac libopencore_amrnb pcm_u16le 
ac3 libtheora pcm_u24be 
adpcm_adx libvorbis pcm_u24le 
adpcm_g726 libvpx pcm_u32be 
adpcm_ima_qt libx264 pcm_u32le 
adpcm_ima_wav libxvid pcm_u8 
adpcm_ms ljpeg pcm_zork 
adpcm_swf mjpeg pcx 
adpcm_yamaha mp2 pgm 
alac mpeg1video pgmyuv 
asv1 mpeg2video png 
asv2 mpeg4 ppm 
bmp msmpeg4v1 qtrle 
dnxhd msmpeg4v2 rawvideo 
dvbsub msmpeg4v3 roq 
dvdsub nellymoser roq_dpcm 
dvvideo pam rv10 
ffv1 pbm rv20 
ffvhuff pcm_alaw sgi 
flac pcm_f32be snow 
flashsv pcm_f32le sonic 
flv pcm_f64be sonic_ls 
gif pcm_f64le svq1 
h261 pcm_mulaw targa 
h263 pcm_s16be tiff 
h263p pcm_s16le v210 
huffyuv pcm_s24be wmav1 
jpegls pcm_s24daud wmav2 
libdirac pcm_s24le wmv1 
libfaac pcm_s32be wmv2 
libgsm pcm_s32le xsub 
libgsm_ms pcm_s8 zlib 
libmp3lame pcm_u16be zmbv 

Enabled hwaccels: 

Enabled parsers: 
aac dvdsub mpeg4video 
ac3 h261 mpegaudio 
cavsvideo h263 mpegvideo 
dca h264 pnm 
dirac mjpeg vc1 
dnxhd mlp vp3 
dvbsub 

Enabled demuxers: 
aac ingenient pcm_u16le 
ac3 ipmovie pcm_u24be 
aea iss pcm_u24le 
aiff iv8 pcm_u32be 
amr libnut pcm_u32le 
anm lmlm4 pcm_u8 
apc m4v pva 
ape matroska qcp 
asf mjpeg r3d 
ass mlp rawvideo 
au mm rl2 
avi mmf rm 
avs mov roq 
bethsoftvid mp3 rpl 
bfi mpc rtsp 
bink mpc8 sdp 
c93 mpegps segafilm 
caf mpegts shorten 
cavsvideo mpegtsraw siff 
cdg mpegvideo smacker 
daud msnwc_tcp sol 
dirac mtv sox 
dnxhd mvi str 
dsicin mxf swf 
dts nc thp 
dv nsv tiertexseq 
dxa nut tmv 
ea nuv truehd 
ea_cdata ogg tta 
eac3 oma txd 
ffm pcm_alaw vc1 
filmstrip pcm_f32be vc1t 
flac pcm_f32le vmd 
flic pcm_f64be voc 
flv pcm_f64le vqf 
fourxm pcm_mulaw w64 
gsm pcm_s16be wav 
gxf pcm_s16le wc3 
h261 pcm_s24be wsaud 
h263 pcm_s24le wsvqa 
h264 pcm_s32be wv 
idcin pcm_s32le xa 
iff pcm_s8 yop 
image2 pcm_u16be yuv4mpegpipe 
image2pipe 

Enabled muxers: 
ac3 m4v pcm_s16le 
adts matroska pcm_s24be 
aiff matroska_audio pcm_s24le 
amr mjpeg pcm_s32be 
asf mlp pcm_s32le 
asf_stream mmf pcm_s8 
ass mov pcm_u16be 
au mp2 pcm_u16le 
avi mp3 pcm_u24be 
avm2 mp4 pcm_u24le 
crc mpeg1system pcm_u32be 
daud mpeg1vcd pcm_u32le 
dirac mpeg1video pcm_u8 
dnxhd mpeg2dvd psp 
dts mpeg2svcd rawvideo 
dv mpeg2video rm 
eac3 mpeg2vob roq 
ffm mpegts rtp 
filmstrip mpjpeg rtsp 
flac mxf sox 
flv mxf_d10 spdif 
framecrc null swf 
gif nut tg2 
gxf ogg tgp 
h261 pcm_alaw truehd 
h263 pcm_f32be vc1t 
h264 pcm_f32le voc 
image2 pcm_f64be wav 
image2pipe pcm_f64le webm 
ipod pcm_mulaw yuv4mpegpipe 
libnut pcm_s16be 

Enabled protocols: 
concat rtmp rtmpte 
file rtmpe rtp 
gopher rtmps tcp 
http rtmpt udp 
pipe 

Enabled filters: 
aspect null scale 
crop nullsink slicify 
format nullsrc unsharp 
noformat pixelaspect vflip 

Enabled bsfs: 
aac_adtstoasc mjpega_dump_header noise 
dump_extradata mov2textsub remove_extradata 
h264_mp4toannexb mp3_header_compress text2movsub 
imx_dump_header mp3_header_decompress 

Enabled indevs: 
alsa libdc1394 v4l 
dv1394 oss v4l2 

Enabled outdevs: 
alsa oss 

Контакты
Найти