FFMPEG, XAMPP and Windows


cdl_capture_2011-05-06-20_ 000

Step 1
Install xampp, use latest version. After installation there should be a directory C:\xampp
In this example i use C:\xampp as default directory.
Step 2
Check if gd2 is installed, you can do this by using phpinfo() in you script.
Step 3
Download ffmpeg.exe from one of the following links:
Step 4
Unpack the downloaded zip or 7z file, three files should show up namely ffmpeg.exe, ffplay.exe, pthreadGC2.dll .
Step 5
Download the ffmpeg windows dll files:
Step 6
Unpack the downloaded zip file, five dlls should show up namely php_ffmpeg_20050123.dll, php_ffmpeg_20050212.dll, php_ffmpeg_20050618.dll and also avcodec.dll and avformat.dll
Step 7
Copy 1 of 3 dlls which you’ve unpacked in step 6 into C:\xampp\php\extensions. Rename the dll to php_ffmpeg.dll
Step 8
Open your php.ini file which you find in C:\xampp\php .Add the following line to the list with dlls:
Check also if extension=php_gd2.dll is uncommented. If not then remove the ;
Step 9
Copy the avcodec.dll and avformat.dll which you’ve unpacked in step 6 to C:\WINDOWS\system32
Step 10
Copy pthreadGC2.dll which was unpacked in step 4 to C:\WINDOWS\system32
Step 11
Restart xampp
Simple Example
Step 12
Create a directory in C:\xampp\htdocs for example www.test.dev\www
Step 13
Open the httpd.conf file, this one you find in C:\xampp\apache\conf
Add under the line
NameVirtualHost localhost:80
the next data
<VirtualHost localhost:80>
ServerName www.test.dev
DocumentRoot C:/xampp/htdocs/www.test.dev/www
Step 14
Find the hosts file on your computer, somewhere in the windows directory and add the following line: www.test.dev
Step 15
Restart xampp
Step 16
Make a php file in the DocumentRoot (C:\xampp\htdocs\www.test.dev\www) for example test.php
Step 17
Add a flv file to the DocumentRoot. In this example i call it wattan.flv.
Step 18
Copy ffmpeg.exe which you’ve unpacked in step 4 into the DocumentRoot.(C:\xampp\htdocs\www.test.dev\www)
Step 19
Add the following code to the test.php file:
$ffmpegpath = "ffmpeg.exe";
$input = ‘wattan.flv’;
$output = ‘wattan.jpg’;
if (make_jpg($input, $output)){
echo ‘success’;
echo ‘bah!’;
function make_jpg($input, $output, $fromdurasec="01") {
global $ffmpegpath;
if(!file_exists($input)) return false;
$command = "$ffmpegpath -i $input -an -ss 00:00:$fromdurasec -r 1 -vframes 1 -f mjpeg -y $output";
@exec( $command, $ret );
if(!file_exists($output)) return false;
if(filesize($output)==0) return false;
return true;
Step 19
Open the url http:\\www.test.dev\test.php in firefox.

Join the Conversation


  1. Brilliant this worked, my only problem is when I load Apache in xampp it tells me “the program can’t start because php4ts.dll is missing” then it tells me “PHP Startup: Unable to load dynamic library ‘C:\xampp\php\ext\php_ffmpeg.dll’ – The specified module could not be found” But it`s in there so I think I need to get php4ts.dll and install it to system32?

  2. Hi! yeah same problem as alan and ace, can’t start because php4ts.dll

    cool “PHP version changed to older”

    so does that mean this only works with an older version of PHP? What version there’s only a couple hundred to choose from. Really helpful comment.

Leave a comment