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_videofalse);
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() * 60)->resize($width$height)->toGDImage();

$finalImage imagecreatetruecolor($newWidth$newHeight);
$bgColorResource imagecreatecolor($finalImage$bgColor[0], $bgColor[1], $bgColor[2]);
imagefill($finalImage00$bgColorResource);
imagecopy($finalImage$frameImage00, ($newWidth-$width)/2, ($newheight-$height)/2$width$height);
imagejpeg($finalImage$path_to_thumbnail85); 
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/