Para ello he instalado la extensión ffmpeg en php. el caso es que tengo el form, el proceso, pero la aplicación no hace nada. y desconozco el motivo. Aquí os dejo el código para ver si me podéis echar una mano:
archivo form.php
Código PHP:
<?php
echo '<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="FILE" name="archivo">
<input type="submit" value="Subir">
</form>';
?>
Código PHP:
<?php
// Creo una matriz de los archivos permitidos
$matriz[0]="3g2";
$matriz[1]="3gp";
$matriz[2]="aac";
$matriz[3]="aiff";
$matriz[4]="amr";
$matriz[5]="asf";
$matriz[6]="avi";
$matriz[7]="flv";
$matriz[8]="mov";
$matriz[9]="mp4";
$matriz[10]="mpeg";
$matriz[11]="mpeg1video";
$matriz[12]="mpeg2video";
$matriz[13]="mpegvideo";
$matriz[14]="rm";
$matriz[15]="vob";
$matriz[16]="wmv";
if(!$_GET['output'] or !$_GET['soutvideo']){
$ruta_server="movies/"; //Ruta donde quieras que se guarde el video temporal
$nombre_temporal=$_FILES['archivo']['tmp_name'];
$nombre_archivo = $_FILES['archivo']['name'];
$tipo_archivo = $_FILES['archivo']['type'];
$tamano_archivo = $_FILES['archivo']['size'];
$ubicacion = $ruta_server.$nombre_archivo;
if(is_uploaded_file($nombre_temporal)){
$tamanoKB = $HTTP_POST_FILES['archivo']['size']/1024;
$ext = strtolower(array_pop(explode(".",$nombre_archivo)));
$clave = array_search($ext, $matriz);
if (!$clave and ($tamanoKB < 50000)){
echo "Lo sentimos pero no se pudo subir el archivo porque no tiene el formato correcto o el peso del archivo no es el indicado";
echo " Los Formatos permitidos son: 3g2, 3gp, aac, aiff, amr, asf, avi, flv ,mov ,mp4, mpeg, mpeg1video, mpeg2video, mpegvideo, rm, vob, wmv";
echo "El peso Maximo de los archivos es 50 Mb";
}
else{
//Si subió correctamente el archivo
if(move_uploaded_file($_FILES['archivo']["tmp_name"],$ubicacion))
{
// Guardas el nombre del archivo en la base de datos con la variable $nombre_archivo
$aleatorio=rand(0,10000);
$nom=$fecha."_".$aleatorio;
$nameImage="img_".$nom;
$videoname=$nombre_archivo.$nom;
$ffmpegPath = "/usr/bin/ffmpeg";
// Creo la clase (eh usado esto ffmpeg-php)
$ffmpegObj = new ffmpeg_movie($ubicacion);
// Guardando los parametros del video con las variables
$srcFPS = $ffmpegObj->getFrameRate();
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000);
$srcAR = $ffmpegObj->getAudioSampleRate();
//convierto el video al formato flv (formato usado por youtube)
exec($ffmpegPath . " -i " .$ubicacion." -ar 22050 -ab " . $srcAB . " -f flv -acodec mp3 -s 400x320 video/".$videoname.".flv");
// convierto el primer frame del video en imagen para tener un thumbnail de video
exec($ffmpegPath." -i ".$ubicacion." -vframes 1 -s 100x100 video_imagen/".$nameImage."%d.jpg 2>&1",$soutvideo);
//Borro el archivo temporal del video
if(file_exists($ubicacion)){
$archivo= "video_temp/".$nombre_archivo;
unlink($archivo);
$_SESSION['Valor']=1;
}
}
}
?>