Bekijk Volledige Versie : ffmpeg
wiekanmehelpen
02/06/07, 10:45
Ik ben bezig met ffmpeg aan het installeren op centos maar ik krijg steeds deze error:
[root@serv01 ffmpeg]# TMPDIR="/root/tmp" ./configure --enable-libmp3lame --enabl e-libogg --enable-libvorbis --disable-mmx --enable-shared
install prefix /usr/local
source path /root/ffmpeg/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_64 (generic)
big-endian no
MMX enabled no
CMOV enabled no
CMOV is fast no
gprof enabled no
debug symbols yes
strip symbols yes
optimize yes
static yes
shared yes
postprocessing support no
software scaler enabled no
video hooking yes
Imlib2 support no
FreeType support yes
network support yes
IPv6 support yes
threading support no
SDL support no
Sun medialib support no
AVISynth enabled no
liba52 support no
liba52 dlopened no
libamr-nb support no
libamr-wb support no
libfaac enabled no
libfaad enabled no
faadbin enabled no
libgsm enabled no
libmp3lame enabled yes
libnut enabled no
libogg enabled yes
libtheora enabled no
libvorbis enabled yes
x264 enabled no
XviD enabled no
zlib enabled yes
License: LGPL
Creating config.mak and config.h...
config.h is unchanged
[root@serv01 ffmpeg]# make
make -C libavutil all
make[1]: Entering directory `/root/ffmpeg/ffmpeg/libavutil'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ffmpeg/ffmpeg/libavutil'
make -C libavcodec all
make[1]: Entering directory `/root/ffmpeg/ffmpeg/libavcodec'
gcc -I"/root/ffmpeg/ffmpeg"/libswscale -I"/root/ffmpeg/ffmpeg"/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I"/root/ffmpeg/ffmpeg" -I"/root/ffmpeg/ffmpeg" -I"/root/ffmpeg/ffmpeg"/libavutil -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -O3 -fPIC -DPIC -c -o dsputil.o dsputil.c
In file included from dsputil.c:30:
avcodec.h:2501: warning: `ImgReSampleContext' is deprecated (declared at avcodec.h:2480)
avcodec.h:2507: warning: `ImgReSampleContext' is deprecated (declared at avcodec.h:2480)
dsputil.c: In function `ff_check_alignment':
dsputil.c:3824: warning: cast from pointer to integer of different size
dsputil.c:3837: error: unrecognizable insn:
(insn 64 10 12 0 dsputil.c:3824 (set (reg:SI 0 ax [61])
(subreg:SI (plus:DI (subreg:DI (reg:SI 7 sp) 0)
(const_int -4 [0xfffffffffffffffc])) 0)) -1 (nil)
(nil))
dsputil.c:3837: internal compiler error: in extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccvIEL0k.out file, please attach this to your bugreport.
make[1]: *** [dsputil.o] Error 1
make[1]: Leaving directory `/root/ffmpeg/ffmpeg/libavcodec'
make: *** [lib] Error 2
[root@serv01 ffmpeg]#
ik draai het op centos 4.4 64bit
intel pentium 3ghz
512mb werk
2x80gb
ik gebruik deze tut: http://vexxhost.com/blog/2007/03/03/installing-ffmpeg-ffmpeg-php-mplayer-mencoder-flv2tool-lame-mp3-encoder-libogg-%E2%80%93-the-easy-way/
Bij voorbaat dank
ik krijg nu deze error:
[root@serv01 ffmpeg]# ffmpeg
ffmpeg: error while loading shared libraries: libavutil.so.49: cannot open shared object file: No such file or directory
[root@serv01 ffmpeg]#
Tip: Pak gewoon yum en de goede repository dan hoef je nix te compilen ;)
wiekanmehelpen
02/06/07, 11:17
[root@serv01 ffmpeg]# yum install ffmpeg
Setting up Install Process
Setting up repositories
update 100% |=========================| 951 B 00:00
rpmforge 100% |=========================| 1.1 kB 00:00
base 100% |=========================| 1.1 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
Excluding Packages in global exclude list
Finished
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package ffmpeg.x86_64 0:0.4.9-0.8.20070109.el5.rf set to be updated
--> Running transaction check
--> Processing Dependency: libxvidcore.so.4()(64bit) for package: ffmpeg
--> Processing Dependency: libmp3lame.so.0()(64bit) for package: ffmpeg
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: ffmpeg
--> Processing Dependency: libgsm.so.1()(64bit) for package: ffmpeg
--> Processing Dependency: libImlib2.so.1()(64bit) for package: ffmpeg
--> Processing Dependency: a52dec for package: ffmpeg
--> Processing Dependency: libfaad.so.0()(64bit) for package: ffmpeg
--> Processing Dependency: libx264.so.54()(64bit) for package: ffmpeg
--> Processing Dependency: rtld(GNU_HASH) for package: ffmpeg
--> Processing Dependency: libfaac.so.0()(64bit) for package: ffmpeg
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package imlib2.x86_64 0:1.2.2-1.el5.rf set to be updated
---> Package xvidcore.x86_64 0:1.1.2-1.el5.rf set to be updated
---> Package a52dec.x86_64 0:0.7.4-8.el5.rf set to be updated
---> Package gsm.x86_64 0:1.0.10-6.el5.rf set to be updated
---> Package faac.x86_64 0:1.25-2.el5.rf set to be updated
---> Package lame.x86_64 0:3.97-1.el5.rf set to be updated
---> Package faad2.x86_64 0:2.5-2.el5.rf set to be updated
---> Package x264.x86_64 0:0.0.0-0.3.20061214.el5.rf set to be updated
--> Running transaction check
--> Processing Dependency: rtld(GNU_HASH) for package: a52dec
--> Processing Dependency: libpng12.so.0(PNG12_0)(64bit) for package: imlib2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: lame
--> Processing Dependency: rtld(GNU_HASH) for package: lame
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: faac
--> Processing Dependency: rtld(GNU_HASH) for package: ffmpeg
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: imlib2
--> Processing Dependency: libgif.so.4()(64bit) for package: imlib2
--> Processing Dependency: rtld(GNU_HASH) for package: x264
--> Processing Dependency: libid3tag.so.0()(64bit) for package: imlib2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: ffmpeg
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: gsm
--> Processing Dependency: rtld(GNU_HASH) for package: gsm
--> Processing Dependency: rtld(GNU_HASH) for package: faac
--> Processing Dependency: libmp4v2.so.0()(64bit) for package: faac
--> Processing Dependency: rtld(GNU_HASH) for package: faad2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: a52dec
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: x264
--> Processing Dependency: rtld(GNU_HASH) for package: imlib2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: faad2
--> Processing Dependency: rtld(GNU_HASH) for package: xvidcore
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: xvidcore
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package libid3tag.x86_64 0:0.15.1b-3.el5.rf set to be updated
---> Package libmp4v2.x86_64 0:1.5.0.1-3.el5.rf set to be updated
--> Running transaction check
--> Processing Dependency: rtld(GNU_HASH) for package: a52dec
--> Processing Dependency: rtld(GNU_HASH) for package: libmp4v2
--> Processing Dependency: libpng12.so.0(PNG12_0)(64bit) for package: imlib2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: lame
--> Processing Dependency: rtld(GNU_HASH) for package: lame
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: libmp4v2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: faac
--> Processing Dependency: rtld(GNU_HASH) for package: ffmpeg
--> Processing Dependency: rtld(GNU_HASH) for package: libid3tag
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: imlib2
--> Processing Dependency: libgif.so.4()(64bit) for package: imlib2
--> Processing Dependency: rtld(GNU_HASH) for package: x264
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: ffmpeg
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: gsm
--> Processing Dependency: rtld(GNU_HASH) for package: gsm
--> Processing Dependency: rtld(GNU_HASH) for package: faac
--> Processing Dependency: rtld(GNU_HASH) for package: faad2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: a52dec
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: x264
--> Processing Dependency: rtld(GNU_HASH) for package: imlib2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: faad2
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: libid3tag
--> Processing Dependency: rtld(GNU_HASH) for package: xvidcore
--> Processing Dependency: libc.so.6(GLIBC_2.4)(64bit) for package: xvidcore
--> Finished Dependency Resolution
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package ffmpeg
Error: Missing Dependency: rtld(GNU_HASH) is needed by package ffmpeg
Error: Missing Dependency: rtld(GNU_HASH) is needed by package a52dec
Error: Missing Dependency: libpng12.so.0(PNG12_0)(64bit) is needed by package imlib2
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package lame
Error: Missing Dependency: rtld(GNU_HASH) is needed by package lame
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package faac
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package imlib2
Error: Missing Dependency: libgif.so.4()(64bit) is needed by package imlib2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package x264
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package gsm
Error: Missing Dependency: rtld(GNU_HASH) is needed by package gsm
Error: Missing Dependency: rtld(GNU_HASH) is needed by package faac
Error: Missing Dependency: rtld(GNU_HASH) is needed by package faad2
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package a52dec
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package x264
Error: Missing Dependency: rtld(GNU_HASH) is needed by package imlib2
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package faad2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package xvidcore
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package xvidcore
Error: Missing Dependency: rtld(GNU_HASH) is needed by package libmp4v2
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package libmp4v2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package libid3tag
Error: Missing Dependency: libc.so.6(GLIBC_2.4)(64bit) is needed by package libid3tag
[root@serv01 ffmpeg]#
krijg ik dan
Zoek even een goede repo waar ook de codecs inzitten.
Om legale redenen vind je die niet in de standaard.
wiekanmehelpen
02/06/07, 15:50
ik heb hem handmatig geinstallerd maar als ik de command geef krijg ik dit:
[root@serv01 ffmpeg]# ffmpeg
ffmpeg: error while loading shared libraries: libavutil.so.49: cannot open shared object file: No such file or directory
[root@serv01 ffmpeg]#
SebastiaanStok
02/06/07, 16:41
1. Kan zijn dat hij een installatie conflict heeft met de vorige installatie.
2. Hij geeft dat hij een bepaalde library niet kan vinden.
Je kan met whereis ffmpeg kijken waar hij staat geïnstalleerd
Als je dan het volledige peth hebt.
Type je ldd /locatie/van/ffmpeg dan krijg je te zien waar het fout gaat.
3. Dat de lib op een andere dan standaard locatie staat.
In het bestand /etc/ld.so.conf staan alle directory's waar hij moet zoeken naar de so files. Maar als libavutil.so.49 niet in die lijst staat zal hij hem ook niet vinden.
Je kan kijken wat de locatie is libavutil.so.49 met find / -name "libavuti"
Als hij niets vind bestaat het bestand gewoon niet. En zit het probleem ergens anders.
Ik ben ook bezig met ffmpeg :-)
# ldd /usr/local/bin/ffmpeg
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/tls/libm.so.6 (0x0054e000)
libz.so.1 => /usr/local/lib/libz.so.1 (0xb7f09000)
libdl.so.2 => /lib/libdl.so.2 (0x00548000)
libc.so.6 => /lib/tls/libc.so.6 (0x0041c000)
/lib/ld-linux.so.2 (0x00403000)
Komt er bij als ik het laatste doe. Ffmpeg lijkt niet correct te werken. Is er iets fout?
SebastiaanStok
06/06/07, 18:28
Jouw melding geeft geen fout aan, heb je misschien iets meer informatie ? :)
Ik heb een how-to overlopen. Ik wil volgende iets uitvoeren:
echo 'extension=/usr/local/lib/php/extensions/ no-debug-non-zts-20020429/ffmpeg.so' >> /usr/local/Zend/etc/php.ini
Er komt:
-bash: /usr/local/Zend/etc/php.ini: No such file or directory
Als fout
SebastiaanStok
06/06/07, 19:59
Dan bestaat het bestand nog niet.
Standaard staat php.ini in /usr/local/lib (Uit me hooft), de locatie die de how-to aangeeft bestaat alleen als je ZendOptimizer hebt geïnstalleerd staan.
Bij Linux is het verstandig om als je hem zelf compileert om niet een vast pad op te geven, dan pakt hij hem altijd zelf goed.
Bij php wil nog wel is de map van de exties veranderen. Alleen niet altijd, dit geeft een hoop problemen weet ik uit ervaring :(
Daarom wil ik morgen een shell script schijven dat controleert of de map van de extensies is veranderd en zo alle aangeven aparte modules opnieuw installeert.
Uiteraard zal ik dit met jullie delen ;)
Hpe moet ik dit commando dan uitvoeren?
Geen vast pad? Hoe gaat dit
Dit vind ik in mijn phpinfo:
Configuration File (php.ini) Path /usr/local/lib
Loaded Configuration File /usr/local/lib/php.ini
Ok het is gelukt. Ffmpeg is geinstalleerd :)
SebastiaanStok
07/06/07, 14:12
Even voor de andere :)
In php.ini kan je een vaste locatie opgeven voor de extensie map, echter is het zodat dat PHP op Linux per zoveel veel versies (Zend API versie) de oude extensies niet meer accepteert!
Maar als je geen locatie opgeeft pakt PHP zelf de goede map. Als die map dan anders is dan de vorige versie, moet je alle extra extensies opnieuw compileren.
Dit probleem heb ik zelf dus ook, daarom laat ik php zelf de extensies map zoeken en controleer (momenteel) handmatig of er een nieuwe extensie map is, zo ja dan doe ik alle extra extensies opnieuw compileren.
Het geen leuk werk :( Maar het is niet anders.
Ik had eerder vermeld dat ik vandaag een shell script zou schrijven voor dit probleem, alleen zal deze vandaag ben ik niet afkomen :o
Maar ik ben blij dat het is gelukt voor jouw :)
Edit: Ik zit te denken dat ik misschien (misbruik) kan maken van Pear :D
Zelf een pear package maken en die dan installeren, als hij al bestaat word hij genegeerd :W:
Als ik whereis ffmpeg doe dan geeft hij 2 mappen. Ik geef in php.ini geen locatie op kan het zijn dat het daardoor niet niet werkt? En hie controleer ik in welke map het wel zit? gewoon door die te listen?
SebastiaanStok
07/06/07, 14:37
Als php-ffmpeg is geïnstalleerd heeft hij hem standaard in de goede map gezet, je moet hem alleen nog laden in php.ini
Of bedoel je dit niet?
Je bericht is een beetje onduidelijk :huh:
Misschien niet helemaal netjes maar dit vond ik op mijn zoektocht :)
http://nl3.php.net/manual/en/install.pecl.static.php
http://jehiah.cz/archive/compiling-shared-php-modules
Het trucje is dan dat je de extensie in php-source zelf plaats en het configure script opnieuw opbouwt, maar als je hem dan installeert dan toch kiest voor shared :D Zodat mocht hij problemen geven hij toch kan worden uitgeschakeld! Maar bij het installeren hoef je niet te controleren of de extensie map is veranderd :D
Wel in mijn php.ini staat: gewoon ffmpeg zonder exact pad.
Als ik vanuit ssh 'whereis ffmpeg' doe toont hij twee mappen. Kan het zijn dat er in php.ini niet de juiste wwordt gekozen?
SebastiaanStok
17/06/07, 12:13
Dat weet ik pas als je vermeld welke mappen dat zijn ;)
Het is al gelukt om te installeren. Eigenlijk was dat zo moeilijk niet.
wiekanmehelpen
27/06/07, 18:55
Ik heb na heel lang klote ffmpeg aan de praat gekregen maar nu als ik ffmpeg-php wil installeren krijg ik dit:
[root@serv01 ffmpeg-php-0.5.0]# make
/bin/sh /root/ffmpeg/ffmpeg-php-0.5.0/libtool --mode=link gcc -DPHP_ATOM_INC -I/root/ffmpeg/ffmpeg-php-0.5.0/include -I/root/ffmpeg/ffmpeg-php-0.5.0/main -I/root/ffmpeg/ffmpeg-php-0.5.0 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/include/ffmpeg -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -o ffmpeg.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/ffmpeg/ffmpeg-php-0.5.0/modules ffmpeg-php.lo ffmpeg_movie.lo ffmpeg_frame.lo ffmpeg_animated_gif.lo -lavformat -lavcodec
gcc -shared .libs/ffmpeg-php.o .libs/ffmpeg_movie.o .libs/ffmpeg_frame.o .libs/ffmpeg_animated_gif.o -lavformat -lavcodec -Wl,-soname -Wl,ffmpeg.so -o .libs/ffmpeg.so
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libavformat.so when searching for -lavformat
/usr/bin/ld: /usr/local/lib/libavformat.a(utils.o): relocation R_X86_64_32 against `first_iformat' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavformat.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [ffmpeg.la] Error 1
[root@serv01 ffmpeg-php-0.5.0]#
SebastiaanStok
27/06/07, 20:11
Het lijk of hij een bepaald iets niet kan vinden.
Het kan misschien komen omdat het 64bit is, of dat de dependicys niet kan vinden.
Zelf heb ik een poos geleden ffmpeg geinstalleerd met de genoemde ondersteuning.
Ik zal morgen mijn configure optie hier plaatsen.
Ik heb wel Ubuntu maar meestal zijn die namen wel het zelfde.
Deze debs heb geïnstalleerd liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev
Daarna heb ik ffmpeg zelf zo geïnstalleerd.
./configure --enable-gpl --enable-pp --enable-zlib --enable-vorbis --enable-libogg --enable-theora --enable-a52 --enable-dts --enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame --enable-faad --enable-faac --enable-xvid --enable-shared