ffmpeg ist wohl das wichtigste Tool, wenn man Video auf seiner Webseite zur Verfügung stellen möchte.
Reihenfolge:
Installing Mplayer + Mencoder
Installing LAME MP3 Encoder
Installing Libogg
Installing Libvorbis
Installing FlvTool2
Installing ffmpeg
Installing ffmpeg-php Extension
Vorbereitungen
Verzeichnis wo später die libs, bins usw. reinkommen
1 |
mkdir /homepages/18/d87192397/htdocs/binaries |
Verzeichnis für Resourcen anlegen und Quellcode runterladen
1 2 3 4 5 6 7 8 9 10 11 12 |
mkdir /homepages/18/d87192397/htdocs/src cd /homepages/18/d87192397/htdocs/src wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2 oder all-20071007.tar.bz2 wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-398.tar.gz 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 wget http://superb-west.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2 svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer |
auspacken
1 2 3 4 5 6 |
tar jxvf essential-20071007.tar.bz2 tar zxvf flvtool2-1.0.6.tgz tar zxvf lame-398.tar.gz tar zxvf libogg-1.1.3.tar.gz tar zxvf libvorbis-1.1.2.tar.gz tar jxvf ffmpeg-php-0.5.0.tbz2 |
Ein sicheres tmp Verzeichnis festlegen
1 2 3 |
mkdir /homepages/18/d87192397/htdocs/src/tmp chmod 777 /homepages/18/d87192397/htdocs/src/tmp export TMPDIR=/homepages/18/d87192397/htdocs/src/tmp |
Installing Mplayer + Mencoder
Source: Mplayer + Mencoder http://www.mplayerhq.hu/design7/dload.html
Verzeichnis für Codecs erstellen und für den Mplayer kopieren
1 2 3 |
mkdir /homepages/18/d87192397/htdocs/binaries/lib/codecs/ mv /homepages/18/d87192397/htdocs/src/essential-20061022/* /homepages/18/d87192397/htdocs/binaries/lib/codecs/ chmod -R 755 /homepages/18/d87192397/htdocs/binaries/lib/codecs/ |
1 2 3 4 |
cd /homepages/18/d87192397/htdocs/src/mplayer ./configure --prefix=/homepages/18/d87192397/htdocs/binaries --enable-jpeg make make install |
Installing Lame
LAME MP3 Encoder http://lame.sourceforge.net
1 2 3 4 |
cd /homepages/18/d87192397/htdocs/src/lame-3.97 ./configure --prefix=/homepages/18/d87192397/htdocs/binaries make make install |
Installing Libogg
Libogg http://www.xiph.org/downloads
1 2 3 4 |
cd /homepages/18/d87192397/htdocs/src/libogg-1.1.3 ./configure make make install |
Installing Libvorbis
Libvorbis http://www.xiph.org/downloads
1 2 3 4 |
cd /homepages/18/d87192397/htdocs/src/libvorbis-1.1.2 ./configure make make install |
Installing FlvTool2
Flvtool2 is a flash video file manipulation tool. It can calculate metadata and can cut and edit cue points for flv files.
Flv2tool http://inlet-media.de/flvtool2
1 |
cd /homepages/18/d87192397/htdocs/src/flvtool2_1.0.5_rc6/ |
Installing ffmpeg
1 2 3 4 5 |
cd /homepages/18/d87192397/htdocs/src/ffmpeg ./configure --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-shared hmm... --disable-mmx --enable-nonfree make make install |
Die Symlinks für die Codecs erstellen (unwichtig)
1 2 3 4 5 6 |
ln -s /homepages/18/d87192397/htdocs/binaries/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51 ln -s /homepages/18/d87192397/htdocs/binaries/lib/libavutil.so.49 /usr/lib/libavutil.so.49 ln -s /homepages/18/d87192397/htdocs/binaries/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0 ln -s /homepages/18/d87192397/htdocs/binaries/lib/libavformat.so.51 /usr/lib/libavformat.so.51 ln -s /homepages/18/d87192397/htdocs/binaries/lib/libavformat.so.52 /usr/lib/libavformat.so.52 ln -s /homepages/18/d87192397/htdocs/binaries/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52 |
Lib verzeichnis fix. Globale Variable setzen
1 2 |
export LD_LIBRARY_PATH=/homepages/18/d87192397/htdocs/binaries/lib echo $LD_LIBRARY_PATH |
Installing ffmpeg-php Extension
Source: http://ffmpeg-php.sourceforge.net/
1 2 3 4 5 |
cd /homepages/18/d87192397/htdocs/src/ffmpeg-php-0.5.0/ phpize ./configure --with-ffmpeg=/homepages/18/d87192397/htdocs/binaries/cpffmpeg make make install |
Editing PHP.INI
folgendes in der php.ini einfügen
1 2 |
[ffmpeg] extension=/homepages/18/d87192397/htdocs/binaries/lib/php/extensions/no-debug-non-zts-20020429/ffmpeg.so |
restart apache
schauen ob es läuft: phpinfo(); aufrufen, und schauen ob das modul ffmpeg geladen ist
schauen ob es läuft
1 2 3 |
ffmpeg ffmpeg -formats ffmpeg --help |
Testvideos
1 2 |
cd /homepages/18/d87192397/htdocs/src/ffmpeg-php-0.5.0/tests/test_media/ ffmpeg -i robot.avi -s 320x240 -ar 44100 -r 12 robot.flv |
Fertig
Nutzung:
Die ffmpeg binary ist jetzt in PHP so erreichbar
1 |
/homepages/18/d87192397/htdocs/binaries/bin/ffmpeg |
kann sein das man zur laufzeit der Bash folgendes Fixen muss
1 |
export LD_LIBRARY_PATH=/homepages/18/d87192397/htdocs/binaries/lib |