REQUIREMENTS ============ ffmpeg-0.4.9pre1 or higher built with the --enable-shared option (ffmpeg cvs recommended) php-4.3.x or higher gd-2.0.x or higher or the version of GD bundled with PHP INSTALLATION INSTRUCTIONS ========================= These instructions are for Linux since I don't have windows. If you successfully build on windows, let me know how you did it and I'll update the instructions. BUILDING FFMPEG --------------- cd /path/to/ffmpeg ./configure --enable-shared --prefix=/usr make clean && make [become root] make install BUILDING FFMPEG-PHP AS A SHARED EXTENSION ----------------------------------------- 1. Build php if not already built or installed by your distro (See the file INSTALL in your php source directory) 2. Unpack the archive tar -xjf ffmpeg-php.X.XX.tar.gz 3. cd into the ffmpeg extension directory cd ffmpeg-php.X.XX/ 4. Run phpize (included with your php install) to build configuration files phpize 5. Configure and build ./configure && make 6. Install the shared extension make install (as root) If everything went as planned, ffmpeg-php is now installed as a shared library. You must explicitly load it in your scripts using dl(ffmpeg.so) or if you want it available to all scripts by default add extension=ffmpeg.so to your php.ini file which will tell php to load it when starting up. BUILDING FFMPEG-PHP AS PART OF THE PHP BINARY --------------------------------------------- 1. Unpack the archive and copy the ffmpeg extension directory into your the php sources extensions directory tar -xjf ffmpeg-php.X.XX.tar.gz cp ffmpeg /path/to/php_sources/ext 2. Run autoconf to rebuild the php configure script and add the --with-ffmpeg option cd /path/to/php_sources autoconf 2. configure php using... ./configure --with-ffmpeg=yes ...and build and install php. The ffmpeg-php methods should now be built directly into php and so no need to explicitly load the extension at runtime. TESTING THE INSTALLATION ------------------------ 1. Put the directory test_media and test_ffmpeg.php script under your web root somewhere (put both in the same directory). 2. Load test_ffmpeg.php into your browser. RESULTS: You should get a listing of the methods provided by the ffmpeg-php module as well as some test output from the methods. TROUBLESHOOTING --------------- Q: I get '`gdImage' undeclared or `gdImagePtr''undeclared when I try to 'make' ffmpeg-php A: Your version of php is compiled without gd support. Make sure to use the '--with-gd' flag when configuring php. If you're sure you have gd but it is not being detected you can change the line... //#define HAVE_LIBGD20 ...to... #define HAVE_LIBGD20 ...in ffmpeg_frame.h and run... make clean && make ...to force ffmpeg to recompile with gd support. Q: I get 'avcodec.h: No such file or directory' when I try to 'make' ffmpeg-php A: ffmpeg-php can't find ffmpeg header files. Make sure when you configure ffmpeg you use the '--enable-shared' option and make sure it installs somewhere where other programs can find the libs/headers. See 'BUILDING FFMPEG' above for an example. HELP ---- This INSTALL doc is not very comprehensive. If you get stuck, post a message to the ffmpeg-php google group (http://groups-beta.google.com/group/ffmpeg-php) and I'll try to help. - Todd Kirby