Convertir vídeo en mp4 con Codeigniter y ffmpeg

imagen principal Fecha de publicación: 30/04/2015

Para convertir cualquier tipo de vídeo en formato MP4 de alta calidad utilizaremos el programa FFmpeg.

1) Instalación del FFmpeg

Lo primero será instalar el programa FFmpeg. Dependiendo de la distro de nuestro servidor, la instalación seguirá unos pasos u otros. Para Ubuntu podemos seguir estos pasos: https://gist.github.com/xdamman/e4f713c8cd1a389a5917

Es importante instalarte la librería H264. En el link de arriba ya la incluye pero en otras instalaciones tendrás que buscar el comando para instalar la librería con su distribución correspondiente.

2) Función en Codeiniter

function convertir($ruta,$fichero,$ficherosalida){
        if (file_exists($ruta.$fichero)){
            extension_loaded('ffmpeg') or die('Error in loading ffmpeg');
            $vid = realpath($ruta.$fichero);
            $ffmpegInstance = new ffmpeg_movie($vid);
            $dimensiones = $this->determinar_ancho($ffmpegInstance->getFrameWidth(), $ffmpegInstance->getFrameHeight(), 1280);
            exec("ffmpeg -i ".$ruta.$fichero." -y -c:v libx264 -preset medium -crf 30 -threads 4 -s ".$dimensiones[0]."x".$dimensiones[1]." -acodec libfaac -ac 2 -ar 48000 -ab 192k ".$ruta.$ficherosalida);
        }
}

private function determinar_ancho($ancho,$alto,$maxx){
        $a[0]=0;$a[1]=0;
        if ($ancho<=$maxx){
            $a[0]=$ancho;
            $a[1]=$alto;
        }else{
            $a[0]=$maxx;
            $n=$ancho/$alto;
            $a[1]=intval($a[0]/$n);
            if ($a[1]%2!=0){
                $a[1]++;
            }
        }
        return $a;
    }

Con la función convertir realizaremos la conversión del vídeo a MP4 de alta calidad. Los parámetros que le pasaremos a la función son estos:

ruta: La ruta donde se halla el fichero a convertir. Ejemplo: "./peliculas/". Es importante que la ruta que introduzcamos acabe en /

fichero: El nombre del fichero a convertir. Ejemplo: prueba.avi

ficherosalida: El nombre del fichero que se convertirá. Ejemplo: salida.mp4. Es importante que al fichero de salida le pongamos la extensión mp4.

Si te gusta este artículo compártelo en las redes sociales

Comentarios

No se han publicado comentarios

Publicar un comentario

Introduzca un comentario

Nombre:
Comentario:
Introduce los números
de la imagen de arriba
Introducir

Si te gusta o te es útil esta página puedes hacer una donación para permitir su mantenimiento