REQUIREMENTS ============ ffmpeg-0.4.9pre1 or higher built with the --enable-shared option and without the --enable-swscale option (ffmpeg svn recommended) php-5.0.x or higher. For php-4.x.x, use ffmpeg-php-0.5.1 or older. 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 these 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.x.x.tbz2 -C /path/to/php_sources/ext/ 3. cd into the ffmpeg extension directory cd /path/to/php_sources/ext/ffmpeg-php.X.X.X/ 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.x.x.tbz2 -C /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, reconfigure the build with '--enable-skip-gd-check' to force ffmpeg-php to build 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. Q: Can I just pay you to install it? A: Yes. I will install ffmpeg-php and prerequisites on your server for $75 USD. Shoot me an email at ffmpeg.php AT gmail.com if you are interested. FURTHER HELP ------------ If you get stuck, post a message to the ffmpeg-php google group (http://groups-beta.google.com/group/ffmpeg-php)