Ultima cosa per davvero 
Riguardo FFMpeg esiste un'estensione PHP che potrebbe facilitare non di poco l'estrazione delle informazioni riguardanti il video in modo da lasciare all'eseguibile esclusivamente il lavoro di conversione
Qui trovate il link all'estensione
http://ffmpeg-php.sourceforge.net/
Per esempio se volete leggere le informazioni riguardanti un video, una volta uploadato
Codice PHP:
$movie = new ffmpeg_movie($path_to_video, false);
echo 'Titolo: ' . $movie->getTitle() . '
';
echo 'Width x Height x FPS: ' . $movie->getFrameWidth() . 'x' . $movie->getFrameHeight() . 'x' . $movie->getFrameRate()
echo 'Codec Video: ' . $movie->getVideoCodec() . '
';
echo 'Codec Audio: ' . $movie->getVideoCodec() . '
';
se per esempio volete estrarre un frame dal video per fare una thumbnail, prendendolo magari dopo i primi 5 minuti ed inserendolo in una cornice nera della dimensione di 150px per 150px mantenendo le proporzioni, si può fare
Codice PHP:
$newWidth = 150; $newHeight = 150; $bgColor = array(0,0,0);
$width = $movie->getFrameWidth(); $height = $movie->getFrameHeight();
if ($width > $height)
{
$width = $newWidth ; $height = ($height / $width) * $newWidth
}
else
{
$height = $newHeight ; $width = ($width / $height) * $newHeight
}
$frameImage = $movie->getFrame($movie->getFrameRate() * 5 * 60)->resize($width, $height)->toGDImage();
$finalImage = imagecreatetruecolor($newWidth, $newHeight);
$bgColorResource = imagecreatecolor($finalImage, $bgColor[0], $bgColor[1], $bgColor[2]);
imagefill($finalImage, 0, 0, $bgColorResource);
imagecopy($finalImage, $frameImage, 0, 0, ($newWidth-$width)/2, ($newheight-$height)/2, $width, $height);
imagejpeg($finalImage, $path_to_thumbnail, 85);
ovviamente questo è solo un esempio, perché si potrebbe aggiungere a questo l'estrazione di un frame ogni N secondi per creare una piccola gif animata che illustri la sequenza o ancora si potrebberò creare N thumbnail in base alle differenze di immagini tra i vari frame utilizzando come riferimento i frame chiave
Per fare quest'ultima cosa si potrebbe usare:
http://libpuzzle.pureftpd.org/project/libpuzzle
http://libpuzzle.pureftpd.org/project/libpuzzle/doc
http://libpuzzle.pureftpd.org/project/libpuzzle/php
http://download.pureftpd.org/pub/pur...doc/README-PHP
Ovviamente bisogna considerare che non si possono confrontare tutti i frame delle immagini con ogni simile altrimenti ci vorrebbe decisamente troppo, però se si prende un frame ogni minuto al massimo ci sono N confronti da fare corrispondente, in numero, alla lunghezza del minuto.
-------------
Qui ci sono un paio di link utili, ovvero una classe che wrappa le funzionalità di ffmpeg che potete trovare all'indirizzo
http://www.phpclasses.org/browse/package/3747.html
mentre qua potete trovare un pò di idee utili 
http://www.paolomainardi.com/2007/08...outube-in-php/
http://vexxhost.com/blog/2007/05/20/...ng-ffmpeg-php/