PHP wrapper for FFmpeg application

Installs: 8 856

Dependents: 0

Stars: 237

Watchers: 26

Forks: 51

Open Issues: 9

Language: PHP

2.7.0 2013-05-05 09:10 UTC


FFmpegPHP is a pure OO PHP port of ffmpeg-php (written in C). It adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP image functions. This works well for automatically creating thumbnail images from movies. FFmpegPHP is also useful for reporting the duration and bitrate of audio files (mp3, wma...). FFmpegPHP can access many of the video formats supported by ffmpeg (mov, avi, mpg, wmv...)


  • PHP 5.3 and higher
  • ffmpeg or ffprobe


Tested environment

  • Xubuntu Linux 12.04.2 LTS precise 64-bit
  • ffmpeg version N-37798-gcd1c12b
  • PHPUnit 3.7.18
  • PHP 5.3.10

Running tests

To run the test install phpunit ( and run:

$ phpunit --bootstrap test/bootstrap.php test/


You can easily install FFmpegPHP via PEAR framework:

$ sudo pear channel-discover
$ sudo pear install codescale/FFmpegPHP2

or download package from

$ wget

or to install via composer ( place the following in your composer.json file:

   "require": {
       "codescale/ffmpeg-php": "dev-master"

Using FFmpegPHP

Package installed via PEAR channel:

require_once 'FFmpegPHP2/FFmpegAutoloader.php';

Package downloaded from and unpacked into certain directory:

require_once 'PATH_TO_YOUR_DIRECTORY/FFmpegAutoloader.php';


char0n (Vladimír Gorej, CodeScale s.r.o.) email: web:


FFmpegPHP documentation can be build from source code using PhpDocumentor with following commnad:

$ phpdoc -o HTML:Smarty:HandS -d . -t docs

Generating package.xml

First temporarily remove .git/ directory from project root. It causes pfm not to work correctly.

$ pear install PEAR_PackageFileManager2
$ pear install PEAR_PackageFileManager_Cli
$ pfm
$ pear package package.xml
$ pear install/upgrade ./{PACKAGE_NAME} # Verify is package is installable

Create test.php with contents and verify installation was successful::

require_once 'FFmpegPHP2/FFmpegAutoloader.php';

And run the file with::

$ php test.php