Spero che vi possa essere d'aiuto e utile per i vostri progetti. Se riscontrate malfunzionamenti contattatemi e cerchiamo insieme di trovare le soluzioni al problema.
Vi saluto e buon lavoro.
Per prima cosa inserire la seguente riga all'inizio della pagina .php:
<?php
define('FFMPEG_LIBRARY', '/usr/bin/ffmpeg');
?>
Per aiutarvi a comprendere come è semplice convertire un file vi scrivo un esempio di codice.
Esempio Funzione Conversione File AVI - MP4 - M4V - OGG - FLV "coverti_video.php" :
<?php
define('FFMPEG_LIBRARY', '/usr/bin/ffmpeg');
$input = "upload/video/test.avi"; //percorso dove leggere il file .avi
$estenzione = ".mp4"; //estenzione file qui cambiate come volete .mp4, ogg, flv, mpeg, m4v ec..
$nome_file = "Test"; //Nome del File da salvare
$output = "upload/video/"; //percorso cartella destinazione
$salva = $output . $nome_file . $estenzione;
$risultato_conversione = Converti_video($input,$salva);
if($risultato_conversione == "TRUE"){ echo "Convertito con sucesso";}else{ echo "Errore conversione";}
function Converti_video($percorso_file,$destinazione){
$boolean = "FALSE";
$exec_string = FFMPEG_LIBRARY.' -i ' . $percorso_file . ' -an ' . $destinazione;
exec($exec_string); //commando di shell php
return $boolean = "TRUE";
}
?>
Si può utilizzare un'altro metodo per la conversione :
<?php
$input = "upload/video/test.avi"; //percorso dove leggere il file .avi
$estenzione = ".m4v"; //estenzione file qui cambiate come volete .mp4, ogg, flv, mpeg, m4v ec..
$nome_file = "Test"; //Nome del File da salvare
$output = "upload/video/"; //percorso cartella destinazione
$salva = $output . $nome_file . $estenzione;
$risultato_conversione = Converti_File_AVI_to_M4V($input,$salva);
if($risultato_conversione == "TRUE"){ echo "Convertito con sucesso";}else{ echo "Errore conversione";}
function Converti_File_AVI_to_M4V($file_name,$destinazione){
$boolean = "FALSE";
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
// load extension
if(!extension_loaded($extension))
{
dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
// Set our source file
$srcFile = $file_name;
$destFile = $destinazione;
$ffmpegPath = "/usr/bin/ffmpeg";
// Call our convert using exec()
exec($ffmpegPath ." -i " . $srcFile . " ". $destFile);
//echo $ffmpegPath ." -i " . $srcFile . " -ar " . $destFile;
$boolean = "TRUE";
return $boolean;
}
?>
Scrivere e salvare in un array Durata Video e Grandezza Video :
<?php
$video_file = "upload/video/test.avi";
$Array_Video = Durata_Video($video_file); // così facendo scrive i valori e poi li salva nella variabile Array_Video
$durata = $Array_Video['durata'];
$altezza = $Array_Video['h'];
$larghezza = $Array_Video['w'];
function Durata_Video($video_file){
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
// load extension
if(!extension_loaded($extension))
{
dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
//$file = "robot.avi";
$file = $video_file;
$frame = 150;
$max_width = 400;
$movie = new ffmpeg_movie($file);
echo "Durata Video: ";
echo "<b>".gmdate("H:i:s",$movie->getDuration())."</b><br />";
echo "Grandezza: ";
echo "<b>".$movie->getFrameWidth()." x ".$movie->getFrameHeight()."</b>";
$valore['durata'] = gmdate("H:i:s",$movie->getDuration());
$valore['w'] = $movie->getFrameWidth();
$valore['h'] = $movie->getFrameHeight();
return $valore;
}
?>
Cattura immagine dal video e salvala :
<?php
$video_file = "upload/video/test.avi";
$destinazione_jpg = "upload/video/test.jpg";
$risultato_cattura_img = Crea_Immagine_Anteprima_Video($video_file, $destinazione_jpg);
if($risultato_cattura_img == "TRUE"){ echo "creato file .jpg";}else{ echo "errore file non salvato";}
function Crea_Immagine_Anteprima_Video($video_file, $destinazione_jpg){
$boolean = "FALSE";
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
// load extension
if(!extension_loaded($extension))
{
dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
//$file = "ffmpeg1/tests/test_media/robot.avi";
$file = $video_file;
$frame = 2;
$max_width = 400;
$movie = new ffmpeg_movie($file);
$image = $movie->getFrame($frame);
$show_img = $image->toGDImage();
$new_image = new ffmpeg_frame($show_img);
$old_width = $new_image->getWidth();
$old_heighgt = $new_image->getHeight();
$mov_ratio = $old_width/$old_heighgt;
if($old_width > $max_width){
$new_width = $max_width;
}
//$new_height = $new_width / $mov_ratio;
//$new_image->resize($new_width, $new_height);
$new_image->resize(300, 300);
$new_show_img = $new_image->toGDImage();
//header("Content-type: image/jpeg");
imagejpeg($new_show_img,$destinazione_jpg);
imagedestroy($new_show_img);
$boolean = "TRUE";
return $boolean;
}
?>
This post has been edited by davide86: 01 dicembre 2011 - 04:28













