[FFMPEG] linux - php

Pagina: 1
Acties:
  • 281 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Voor een website waar ik mee bezig ben gebruik ik ffmpeg om een frame uit een film te halen en die als plaatje op te slaan, dit gaat via php en ffmpeg. Dit werkt allemaal prima, op een windows server that is, nu staat de site op een linux server en werkt het niet, omdat linux de .exe niet kan openen.

Voor linux heb ik waarschijnlijk een ander bestand nodig, en zo ja welke? Heb al wat rondgezocht maar zie eigenlijk alleen maar .exe's van ffmpeg, terwijl het programma ook onder linux moet kunnen werken volgens mij.

Weet iemand welke bestand(en) ik nodig heb om het onder linux werkend te krijgen? :)

En kan ik die bestanden dan gewoon uploaden en op dezelfde manier aanroepen als ik nu doe? (dmv de exec() functie)

Ik heb nu een lijst gevonden met FFMPEG voor de verschillende linux distributies (http://dag.wieers.com/rpm/packages/ffmpeg/) , maar hoe kan ik zien welke linux variant er op mijn host draait?

Met de functie phpinfo() kan ik het niet vinden, en de variabele $_SERVER['SERVER_SOFTWARE'] zegt ook niet welke linux er op draait.
Apache/1.3.37 (Unix) mod_ssl/2.8.28 OpenSSL/0.9.7a PHP/5.2.1 mod_perl/1.29 FrontPage/5.0.2.2510

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Misschien een idee om het aan de hostingpartij te vragen?
Daarnaast kan ik me voorstellen dat dit onder Linux niet zo gemakkelijk gaat werken als onder Windows omdat er in Linux vaak dynamisch gelinkt wordt naar libraries die mogelijk niet geinstalleerd zijn bij je webhost.

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
--MeAngry-- schreef op zaterdag 08 september 2007 @ 12:29:
Misschien een idee om het aan de hostingpartij te vragen?
Daarnaast kan ik me voorstellen dat dit onder Linux niet zo gemakkelijk gaat werken als onder Windows omdat er in Linux vaak dynamisch gelinkt wordt naar libraries die mogelijk niet geinstalleerd zijn bij je webhost.
Ik heb ondertussen een mailtje naar de hosting verstuurd met de vraag welke versie ze van linux gebruiken.

Maar het is dus niet zo als in windows dat ik een bestand upload, en die via de exec() command kan aanroepen?
Ik heb naast mijn hostingspakketje (ftp, controlpanel) geen toegang om software e.d te installeren.

[ Voor 22% gewijzigd door ZpAz op 08-09-2007 12:36 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Nee, zo werkt het niet.
ffmpeg is geen PHP library, maar een volledig losstaand programma. Dat programma zal geinstalleerd moeten worden. Ik nem aan het het programma meer voorstelt dan alleen een executable, maar ook wat libraries nodig heeft.

Na installatie kunje de executable aanspreken met php's exec().

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Onder windows stelt het niet meer voor dan 1 exe, met een aantal dll's, deze kon ik gewoon via ftp uploaden, zonder installatie en dat werkte prima.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

--MeAngry-- schreef op zaterdag 08 september 2007 @ 12:29:
Misschien een idee om het aan de hostingpartij te vragen?
Daarnaast kan ik me voorstellen dat dit onder Linux niet zo gemakkelijk gaat werken als onder Windows omdat er in Linux vaak dynamisch gelinkt wordt naar libraries die mogelijk niet geinstalleerd zijn bij je webhost.
Het kan net zo gemakkelijk werken hoor :). Compileer thuis gewoon even ffmpeg van source, inclusief alle opties die je nodig hebt, en zorg dat je de lib's static compileert. Vervolgens maak je een dir aan (i.e. ~/bin oid), en gooi je die in $PATH van je host-omgeving (als je shell-toegang hebt). Heb je dit niet, dan kan je dat misschien oplossen via een hardcoded path in pho? Van php heb ik namelijk geen verstand :+
ZpAz schreef op zaterdag 08 september 2007 @ 12:35:
[...]


Ik heb ondertussen een mailtje naar de hosting verstuurd met de vraag welke versie ze van linux gebruiken.

Maar het is dus niet zo als in windows dat ik een bestand upload, en die via de exec() command kan aanroepen?


[...]


Ik heb naast mijn hostingspakketje (ftp, controlpanel) geen toegang om software e.d te installeren.
Controlpanel? Geen shell-toegang dus? Je hoeft het niet te installeren hoor, als je puur in bash, dash etc, komt is het goed, je hoeft alleen de userspace $PATH aan te passen namelijk.

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
icyx schreef op zaterdag 08 september 2007 @ 12:43:
[...]

Het kan net zo gemakkelijk werken hoor :). Compileer thuis gewoon even ffmpeg van source, inclusief alle opties die je nodig hebt, en zorg dat je de lib's static compileert. Vervolgens maak je een dir aan (i.e. ~/bin oid), en gooi je die in $PATH van je host-omgeving (als je shell-toegang hebt). Heb je dit niet, dan kan je dat misschien oplossen via een hardcoded path in pho? Van php heb ik namelijk geen verstand :+


[...]

Controlpanel? Geen shell-toegang dus? Je hoeft het niet te installeren hoor, als je puur in bash, dash etc, komt is het goed, je hoeft alleen de userspace $PATH aan te passen namelijk.
Er worden nu met termen gegooid waar ik geen weet van heb ;) Heb eigenlijk weinig tot geen ervaring met linux.

Ik zal even kijken welke opties ik in mijn control panel heb.

edit:

Een screen van de control panel: http://siteslicing.com/blaat.jpg

[ Voor 4% gewijzigd door ZpAz op 08-09-2007 12:51 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Frash
  • Registratie: Mei 2002
  • Laatst online: 13:28
Hosting bedrijven zijn niet echt blij met ffmpeg, omdat het best zware software is. Ik zou voor een VPS/dedicated server gaan.. heb je alle flexibiliteit van de wereld zonder gezemel.

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Frash schreef op zaterdag 08 september 2007 @ 12:53:
Hosting bedrijven zijn niet echt blij met ffmpeg, omdat het best zware software is. Ik zou voor een VPS/dedicated server gaan.. heb je alle flexibiliteit van de wereld zonder gezemel.
Ja, ik maak de website niet voor mezelf, maar voor iemand anders. Denk niet dat een eigen server 1 van de opties is. Mischien een overstap op een windows server. Dan werkt het iig wel, maar als het gewoon op linux kan is dat natuurlijk beter.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

ZpAz schreef op zaterdag 08 september 2007 @ 12:49:
[...]

Er worden nu met termen gegooid waar ik geen weet van heb ;) Heb eigenlijk weinig tot geen ervaring met linux.

Ik zal even kijken welke opties ik in mijn control panel heb.

edit:

Een screen van de control panel: http://siteslicing.com/blaat.jpg
Ok, met shell-toegang bedoel ik 'gewoon' ssh-toegang. Dus dat je naar een command line zit te staren om het maar zo te zeggen. Heb je dit niet, dan kan je het $PATH verhaal ook vergeten. Heb je dit wel, dan zeg je het maar :).
Als je ook geen shell toegang hebt, dan heb ik een vraag aan jou. Het hele verhaal van ffmpeg uitvoeren kan nog gewoon werken, als je soort een 'direct pad' in die exec call zet. Ik heb geen verstand van PHP, maar het lijkt me dat je dan gewoon exec(/home/user/bin/ffmpeg -$OPTIONS) kan doen, ik weet alleen niet of dit een nette, of zelfs mogelijke manier is van PHP, ik ben een leek :+

Verder over static compilen, dit houd in dat je op je eigen pc gewoon de source van ffmpeg binnenhaalt, en vervolgens gaat compileren met je eigen wensen (codec support vooral in dit geval), en nu dus ook static gecompiled. Dit houd in dat, even simpel gezegd, de dll's in je ffmpeg binary zitten; je hoeft dus geen dynamic library's bij je hoster meer te gebruiken. Als jij dus ffmpeg static gecompiled hebt, kan je als het goed is gewoon ffmpeg gebruiken :).

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
icyx schreef op zaterdag 08 september 2007 @ 13:10:
[...]

Ok, met shell-toegang bedoel ik 'gewoon' ssh-toegang. Dus dat je naar een command line zit te staren om het maar zo te zeggen. Heb je dit niet, dan kan je het $PATH verhaal ook vergeten. Heb je dit wel, dan zeg je het maar :).
Als je ook geen shell toegang hebt, dan heb ik een vraag aan jou. Het hele verhaal van ffmpeg uitvoeren kan nog gewoon werken, als je soort een 'direct pad' in die exec call zet. Ik heb geen verstand van PHP, maar het lijkt me dat je dan gewoon exec(/home/user/bin/ffmpeg -$OPTIONS) kan doen, ik weet alleen niet of dit een nette, of zelfs mogelijke manier is van PHP, ik ben een leek :+

Verder over static compilen, dit houd in dat je op je eigen pc gewoon de source van ffmpeg binnenhaalt, en vervolgens gaat compileren met je eigen wensen (codec support vooral in dit geval), en nu dus ook static gecompiled. Dit houd in dat, even simpel gezegd, de dll's in je ffmpeg binary zitten; je hoeft dus geen dynamic library's bij je hoster meer te gebruiken. Als jij dus ffmpeg static gecompiled hebt, kan je als het goed is gewoon ffmpeg gebruiken :).
Je kan idd via de exec() methode gewoon een bestand aanroepen met parameters, zo heb ik het ook voorelkaar gekregen op een windows machine.

Zelf draai ik gewoon windows, en heb eigenlijk geen kaas gegeten van compilen. De source is idd wel ergens te downloaden. Maar wat dan te doen? :)

Volgens de Host draait dit op hun machine:
CentOs 4.4
Die staat niet in dit lijstje, dat wordt dus waarschijnlijk zelf compilen? (En hoe gaat dat in zijn werk?)

http://dag.wieers.com/rpm/packages/ffmpeg/

[ Voor 6% gewijzigd door ZpAz op 08-09-2007 13:30 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

ZpAz schreef op zaterdag 08 september 2007 @ 13:28:
[...]


Je kan idd via de exec() methode gewoon een bestand aanroepen met parameters, zo heb ik het ook voorelkaar gekregen op een windows machine.

Zelf draai ik gewoon windows, en heb eigenlijk geen kaas gegeten van compilen. De source is idd wel ergens te downloaden. Maar wat dan te doen? :)

Volgens de Host draait dit op hun machine:


[...]
Het best is dan om ffmpeg in centos 4.4 te compilen. Aangezien je windows draait, is het misschien het makkelijkst om in een VM centos 4.4 te installeren, en dan de source + benodigde libs / headers te downloaden, en dan ffmpeg static te compileren. Het is echt niet moeilijk, als centos geinstalleer is, download je de laatste, stabiele ffmpeg source, en pak je die uit tar -xv{j,z}f ffmpeg-source-$VERSIE.tar.{bz2,gz}. Vervolgens ga je die map in, en doe je ./configure en kijk je wat eruit komt. Bij idere missende library krijg je een error, bijvoorbeeld 'missing libx264.h' Dan moet je dus de devel files van libx264 installeren, etc. Zodra je geen errors meer krijgt doe je het volgende:
code:
1
2
3
4
make clean
./configure --help [alle compile opties]
./configure --$NET_GEKOZEN_OPTIES --$OPTIE_OM_STATIC_TE_COMPILEN
make

Na bij make compileert gcc (de compiler) een static ffmpeg voor je, welke je gelijk kan uppen naar je server, en er vervolgens gebruik van maken :).

Mocht je via je hoster wel software mogen installeren, laat ze dan een rpm van ffmpeg installeren, dat is sneller en makkelijker natuurlijk, maar ik ga er vanuit dat dat niet mag ;)

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Een rpm is dus een installatie pakketje voor linux. En is deze ook weer Linux versie afhankelijk? Want in het lijstje wat ik eerder heb gegeven staat een rpm voor Centos niet tussen, ik zal eens googlen of ik er 1 kan vinden.

Ik zie nu op google dat je de 'EL4' package kan installeren.
http://www.centos.org/mod...ewtopic.php?topic_id=3660

Maar die is dus eigenlijk voor redhat, kan ik het pakketje gewoon naar de hoster sturen en vragen of ze het willen installeren, en dan kan ik het bestand aanroepen via php oid?

[ Voor 67% gewijzigd door ZpAz op 08-09-2007 13:42 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Een RPM is een installatie pakketje voor RPM-based linux'es, dus ja, bij mate linux versie afhankelijk. 90 % van de tijd kan je gewoon een van deze rpm's pakken hoor, verschillende versie's haalt vaak niet uit. Maar je kan toch zelf geen RPM's installeren, dus een centos versie zoeken heeft geen zin. Als je hoster het voor je wil installeren, kunnen ze het zelf beter vinden dan jou, aangezien zij die servers zo geregeld hebben voor je ;). Alleen als ze het niet willen installeren ben je klaar, dan mag je zelf gaan compileren, tenzij anderen nog een idee hebben, maar volgens mij is dat dan de enige manier :)

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Okee, hartelijk dank voor alle informatie die je tot nu toe hebt gegeven, ik zal de hoster even lief aankijken, ik zal hier wel weer een reactie plaatsen zodra ik response heb. :)

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Is goed, ik zal het topic in de gaten houden :)

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
ZpAz schreef op zaterdag 08 september 2007 @ 12:41:
Onder windows stelt het niet meer voor dan 1 exe, met een aantal dll's, deze kon ik gewoon via ftp uploaden, zonder installatie en dat werkte prima.
Dat kan onder Linux ook gewoon. Enige verschil is dat Windows automatisch naar libraries (dll's) zoekt in de installatiedirectory, en Linux niet, maar dat kun je oplossen door de LD_LIBRARY_PATH environmental variable in te stellen:
LD_LIBRARY_PATH=/pad/naar/libraries /pad/naar/executable

Omdat dit een constructie is die door de shell geëvalueerd wordt, moet je in php dan system gebruiken in plaats van exec.
ZpAz schreef op zaterdag 08 september 2007 @ 13:39:
Een rpm is dus een installatie pakketje voor linux. En is deze ook weer Linux versie afhankelijk? Want in het lijstje wat ik eerder heb gegeven staat een rpm voor Centos niet tussen
RPM is eigenlijk niet veel meer dan een veredelde archive met wat scriptjes en infobestanden; ze zijn inderdaad distro (en platform!) afhankelijk. CentOS is een clone van Redhat Enterprise Linux (ze nemen simpelweg de patches die Redhat beschikbaar moet stellen omdat ze GPL'ed code gebruiken om een vergelijkbaar systeem te maken) dus in principe zou een RPM voor een corresponderende versie van Redhat Enterprise Linux gewoon moeten werken. Die "EL4" is dus een goede keus.
Maar die is dus eigenlijk voor redhat, kan ik het pakketje gewoon naar de hoster sturen en vragen of ze het willen installeren, en dan kan ik het bestand aanroepen via php oid?
Dat kan je doen. Je kunt ook het zelf uploaden proberen. Dan moet je eerst even de bestanden uit de rpm halen; met 7-zip kan dat bijvoorbeeld. In die RPM vind je dan de volgende directories:
usr/bin/: hierin zitten je executables; ffmpeg is waarschijnlijk degene die je wil gebruiken;
usr/share/: hierin zit documentatie; heb je niet op de server nodig waarschijnlijk;
usr/lib/: hierin zitten de benodigde libraries.
Je kunt in principe dezelfde directorystructuur aanhouden, of de executables en libraries die je nodig hebt in een enkele directory gooien. In elk geval kun je die gewoon uploaden op de server, en aanroepen met system, mits je de juiste paden gebruikt.

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Hartelijk dank, ik zal het zsm proberen. Als het werkt meld ik het wel, mocht het niet werken, ik heb een mailtje gestuurd naar de hoster met de vraag of ze het rpm archief willen installeren.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Soultaker schreef op zaterdag 08 september 2007 @ 14:22:
[...]

Dat kan onder Linux ook gewoon. Enige verschil is dat Windows automatisch naar libraries (dll's) zoekt in de installatiedirectory, en Linux niet, maar dat kun je oplossen door de LD_LIBRARY_PATH environmental variable in te stellen:
LD_LIBRARY_PATH=/pad/naar/libraries /pad/naar/executable

Omdat dit een constructie is die door de shell geëvalueerd wordt, moet je in php dan system gebruiken in plaats van exec.


[...]

RPM is eigenlijk niet veel meer dan een veredelde archive met wat scriptjes en infobestanden; ze zijn inderdaad distro (en platform!) afhankelijk. CentOS is een clone van Redhat Enterprise Linux (ze nemen simpelweg de patches die Redhat beschikbaar moet stellen omdat ze GPL'ed code gebruiken om een vergelijkbaar systeem te maken) dus in principe zou een RPM voor een corresponderende versie van Redhat Enterprise Linux gewoon moeten werken. Die "EL4" is dus een goede keus.


[...]

Dat kan je doen. Je kunt ook het zelf uploaden proberen. Dan moet je eerst even de bestanden uit de rpm halen; met 7-zip kan dat bijvoorbeeld. In die RPM vind je dan de volgende directories:
usr/bin/: hierin zitten je executables; ffmpeg is waarschijnlijk degene die je wil gebruiken;
usr/share/: hierin zit documentatie; heb je niet op de server nodig waarschijnlijk;
usr/lib/: hierin zitten de benodigde libraries.
Je kunt in principe dezelfde directorystructuur aanhouden, of de executables en libraries die je nodig hebt in een enkele directory gooien. In elk geval kun je die gewoon uploaden op de server, en aanroepen met system, mits je de juiste paden gebruikt.
Dat is inderdaad een goede, die rpm uitpakken, daar had ik nog niet aan gedacht :+. Als hij dan maar wel even checkt of hij de support heeft die hij wil, ik weet niet of de TS exotische codecs gebruikt? Maar voor zover ik begrepen heb kan hij die path niet aanpassen, hij heeft geen shell toegang, dus kan de $PATH & $LD_LIBRARY_PATH niet aanpassen, wat een beetj ejammer is.

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
PATH en LD_LIBRARY_PATH et cetera zijn gewoon environmental variables dus als je shell access hebt via de system functie van PHP dan kun je die gewoon aanpassen. Het is niet alsof dat systeeminstellingen zijn ofzo. Waarschijnlijk kun je via FTP ook nog wel de initrc van je shell aanpassen.

Wat overigens nog wel problematisch kan zijn is dat ffmpeg waarschijnlijk dependencies heeft op andere libraries, die wellicht ook niet geïnstalleerd zijn. Dan moet je daar ook weer packages van vinden en daar de goede bestanden uithalen, en zo blijf je wel even bezig. (Daarom is een package manager gebruiken aan te bevelen.) Als dat zo is, dan zal je hoster daar ook wel tegenaanlopen, want dan kunnen ze die rpm niet los installeren. (Als je daarom tegen problemen aanloopt, vermeldt dan vooral de volledige foutmelding die je krijgt.)

Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Soultaker schreef op zaterdag 08 september 2007 @ 14:30:
PATH en LD_LIBRARY_PATH et cetera zijn gewoon environmental variables dus als je shell access hebt via de system functie van PHP dan kun je die gewoon aanpassen. Het is niet alsof dat systeeminstellingen zijn ofzo. Waarschijnlijk kun je via FTP ook nog wel de initrc van je shell aanpassen.

Wat overigens nog wel problematisch kan zijn is dat ffmpeg waarschijnlijk dependencies heeft op andere libraries, die wellicht ook niet geïnstalleerd zijn. Dan moet je daar ook weer packages van vinden en daar de goede bestanden uithalen, en zo blijf je wel even bezig. (Daarom is een package manager gebruiken aan te bevelen.) Als dat zo is, dan zal je hoster daar ook wel tegenaanlopen, want dan kunnen ze die rpm niet los installeren. (Als je daarom tegen problemen aanloopt, vermeldt dan vooral de volledige foutmelding die je krijgt.)
DIe systemfuntie wist ik niet, ik heb, zoals eerder gemeld, geen verstand van php :). Maar het is toch makkelijker om ffmpeg static te compilen dan om allemaal dependency's met de had te tracken? Ik spreek nu natuurlijk voor mezelf, maar ik zou echt compleet gek worden :p

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
icyx schreef op zaterdag 08 september 2007 @ 14:34:
Die systemfuntie wist ik niet, ik heb, zoals eerder gemeld, geen verstand van php :). Maar het is toch makkelijker om ffmpeg static te compilen dan om allemaal dependency's met de had te tracken? Ik spreek nu natuurlijk voor mezelf, maar ik zou echt compleet gek worden :p
Dat is uiteindelijk inderdaad makkelijker, maar leek me voor ZpAz wat te hoog gegrepen (NOFI).

Sowieso moet je dan op een compatible host compileren, óf met een crosscompiler werken, en het werkt alleen als ffmpeg niet at runtime nog libraries laadt (wat software met een plug-in-achtige opzet nog wel eens willen doen) anders moet je die libraries alsnog los meenemen. Dan is het wellicht nog makkelijker om even in VMWare ofzo een CentOS 4 installatie te doen, daar ffmpeg op te installeren, en vervolgens met ldd uitzoeken welke libraries je precies nodig hebt.

En dan heb ik het er nog niet eens over gehad dat bepaalde libraries (of ffmpeg zelf) misschien configuratie- of databestanden nodig hebben, en die in bepaalde locaties verwachten te kunnen vinden. :X Het kan dus behoorlijk ingewikkeld worden (eerlijk gezegd denk ik dat het in het geval van ffmpeg wel beperkt blijft tot een paar libraries bij elkaar zoeken).

[ Voor 4% gewijzigd door Soultaker op 08-09-2007 14:49 ]


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Ik heb nu die EL4 rdp geopent met 7zip, maar er zit niet de mappen in die genoemd werden? Het enige bestand wat er in zit is:

ffmpeg-0.4.9-0.7.20061215.el4.rf.i386.cpio.gz

Welke een bestand bevat genaamd:

ffmpeg-0.4.9-0.7.20061215.el4.rf.i386.cpio

edit:

Nu ik het cpio bestand ook open in 7zip krijg ik de bestanden wel te zien :)

[ Voor 14% gewijzigd door ZpAz op 08-09-2007 15:14 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Ik heb nu de EL4 package uitgepakt en upgeload, nu roep ik deze code aan:


code:
1
2
3
4
        ini_set("",DOCUMENTROOT . "classes/ffmpeg/linux/lib/ " . DOCUMENTROOT . "classes/ffmpeg/linux/bin/"); //set right dir
        $val = system(DOCUMENTROOT . 'classes/ffmpeg/linux/bin/ffmpeg -i ' . $file . ' -ss 00:00:10 -t 00:00:01 ' . $dim . '-f image2 -vcodec mjpeg ' . $file . '.jpg',$return);
    
        echo $val  . '<br> ' . $return;


Wat ik als return krijg ik '126' voorderest gebeurt er niets?

edit:

Google heeft haast vandaag, als ik op google zoek is het eerste topic wat ik tegen kom deze :+

edit:

De opdrachtgever wil mischien wel verhuizen naar een windows server, dat scheelt een hoop werk :)

[ Voor 17% gewijzigd door ZpAz op 09-09-2007 19:05 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
ffmpeg kan niet uitgevoerd worden; waarschijnlijk omdat 'ie libraries mist, want je stelt sowieso het library path niet goed in (ik weet niet wat je met die ini_set call beoogt?). Zie mijn eerdere post over LD_LIBRARY_PATH.

Verder kun je aan het einde van je command line 2>&1 zetten, om foutmeldingen (stream 2) naar standaard uitvoer (stream 1) te redirecten, zodat ze in de browser terechtkomen. Je krijgt dan waarschijnlijk een foutmelding als: "ffmpeg: library foo.so.12 not found" of iets dergelijks.

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Kun je de linux binary niet uploaden en die dan de rechten (chmod) 755 geven? Bij mij werkt nconvert (ook een applicatie) zo prima.

Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Er is overigens een php extensie waarmee je een handige ffmpeg interface krijgt. Daarmee kan je veel gemakkelijker frames en andere informatie extracten uit een filmpje :)

http://ffmpeg-php.sourceforge.net/

Maargoed, dat gaat natuurlijk pas werken zodra je ffmpeg goed aan de praat hebt ;)

Als ffmpeg niet wil werken op de productieserver kan je nog overwegen om een statische executable te bakken op bijvoorbeeld je devserver, dan heb je verder geen libraries meer nodig op je productieserver. Het is dan wel een gedrocht van een executable, maar dat maakt voor het extracten van een framepje niet zoveel uit natuurlijk :)

[ Voor 39% gewijzigd door eamelink op 08-09-2007 20:57 ]


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Soultaker schreef op zaterdag 08 september 2007 @ 14:42:
[...]
Sowieso moet je dan op een compatible host compileren, óf met een crosscompiler werken, en het werkt alleen als ffmpeg niet at runtime nog libraries laadt (wat software met een plug-in-achtige opzet nog wel eens willen doen) anders moet je die libraries alsnog los meenemen. Dan is het wellicht nog makkelijker om even in VMWare ofzo een CentOS 4 installatie te doen, daar ffmpeg op te installeren, en vervolgens met ldd uitzoeken welke libraries je precies nodig hebt.
icyx schreef op zaterdag 08 september 2007 @ 13:35:
[...]
Het best is dan om ffmpeg in centos 4.4 te compilen. Aangezien je windows draait, is het misschien het makkelijkst om in een VM centos 4.4 te installeren, en dan de source + benodigde libs / headers te downloaden, en dan ffmpeg static te compileren. Het is echt niet moeilijk, als centos geinstalleer is, download je de laatste, stabiele ffmpeg source, en pak je die uit tar -xv{j,z}f ffmpeg-source-$VERSIE.tar.{bz2,gz}.
[...]
:+
ZpAz schreef op zaterdag 08 september 2007 @ 15:52:
Ik heb nu de EL4 package uitgepakt en upgeload, nu roep ik deze code aan:


code:
1
2
3
4
        ini_set("",DOCUMENTROOT . "classes/ffmpeg/linux/lib/ " . DOCUMENTROOT . "classes/ffmpeg/linux/bin/"); //set right dir
        $val = system(DOCUMENTROOT . 'classes/ffmpeg/linux/bin/ffmpeg -i ' . $file . ' -ss 00:00:10 -t 00:00:01 ' . $dim . '-f image2 -vcodec mjpeg ' . $file . '.jpg',$return);
    
        echo $val  . '<br> ' . $return;


Wat ik als return krijg ik '126' voorderest gebeurt er niets?

edit:

Google heeft haast vandaag, als ik op google zoek is het eerste topic wat ik tegen kom deze :+
Ik heb, zoals eerder gemeld, echt totaal geen kaas gegeten van PHP, maar die return 126 houd iets met permissions in bij bash, wat precies moet je maar even op googlen, ik heb dr geen zin meer in nu, ik ga zo slapen, mijn avond is al geslaagd^^

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

Verwijderd

je host moet ffmpeg supporten simpel. of je moet het compilen met SSH Toegang. anders krijg je het niet aan de praat.

Er is geen andere oplossing voor.

PS: Shared hosts zullen meestal nee zeggen, als je een eigen server hebt kan je het wel. ffmpeg vebruikt namelijk enorm veel cpu.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
Verwijderd schreef op zondag 09 september 2007 @ 10:50:
je host moet ffmpeg supporten simpel. of je moet het compilen met SSH Toegang. anders krijg je het niet aan de praat.

Er is geen andere oplossing voor.
Als er geen andere oplossing is, kun je dan aangeven waarom de diverse andere oplossingen die door anderen in deze thread aangedragen zijn niet werken?

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Frash schreef op zaterdag 08 september 2007 @ 12:53:
Hosting bedrijven zijn niet echt blij met ffmpeg, omdat het best zware software is. Ik zou voor een VPS/dedicated server gaan.. heb je alle flexibiliteit van de wereld zonder gezemel.
Ik lever het gewoon op shared hosting, meest recente stable inclusief alle gangbare codecs, maar ik lever dan ook alleen maatwerk hosting. Bij 3 euro/mnd hostingboertjes ga je het niet krijgen nee.

ZpaZ: je direct messaging staat uit, maar je kunt desgewenst contact met me opnemen via DM of email.

[ Voor 14% gewijzigd door curry684 op 09-09-2007 13:47 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:14
Ik denk sowieso dat het nogal uitmaakt hoe je het gebruikt. Een gedeelde MySQL server kun je ook flink overbelasten als je weigert indices te gebruiken of veel te vaak veel te complexe queries wil uitvoeren, en een MySQL server is wél behoorlijk standaard.

Ik kan me voorstellen dat je ffmpeg maar af en toe gebruikt (als je bijvoorbeeld een film upload en je wil er een plaatje bij genereren) en dat de overhead in absolute termen dan wel meevalt.

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Mijn klanten gebruiken het met name voor het converteren van zelfopgenomen fimpjes naar FLV, dus da's redelijk incidentele load waar een dikke hostingserver niet al teveel last van heeft. Sowieso kun je onder het kopje fair use altijd eisen dat conversies alleen in background-crons mogen gebeuren en dat die alleen mogen runnen als de systeemload onder X ligt.

Professionele website nodig?

Pagina: 1