Foros del Web » Administración de Sistemas » LAMP »

instalar ffmpeg en xampp

Estas en el tema de instalar ffmpeg en xampp en el foro de LAMP en Foros del Web. como puedo intalar ffmpeg en xammp esque siempre que lo instalo no me lo muestra en el phpinfo()... merciii...
  #1 (permalink)  
Antiguo 26/03/2009, 11:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
instalar ffmpeg en xampp

como puedo intalar ffmpeg en xammp esque siempre que lo instalo no me lo muestra en el phpinfo()...


merciii
  #2 (permalink)  
Antiguo 26/03/2009, 11:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

FFMPEG es una librería muy aparte de lo que es XAMPP, tienes que instalarla en tu sistema operativo, y posteriormente solo la invocas usando exec().

Saludos.
  #3 (permalink)  
Antiguo 26/03/2009, 11:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

y como la instalo me he bajado un archivo con los dll, y dll los pongo en system32 excepto uno que lo coloco en la carpeta ext de php...
i despues configuro el php.ini

tal como veo en las guias pero hago un phpinfo y no me aparece y en las guias dice que tiene que aparecer no?
  #4 (permalink)  
Antiguo 26/03/2009, 14:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

No, como te comento ffmpeg es una libería para el manejo de archivos multimedia, es independiente de PHP/XAMPP, lo que tienes que hacer es instalar este programa en tu sistema operativo primeramente y luego vía PHP ejecutar el ejecutable de ffmpeg usando exec().

Hay actualmente una libería ffmpeg-php pero solo sirve para extraer información de los archivos, no sirve para todo el proceso necesario que hace ffmpeg.

Saludos.
  #5 (permalink)  
Antiguo 26/03/2009, 19:27
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 7 meses
Puntos: 33
Respuesta: instalar ffmpeg en xampp

scorpionhack:

Siguiendo con lo que te ha expuesto el amigo GatorV y sin saber exactamente para que lo piensas utilizar, te explico lo que hice y lo utilizo para reducir el tamaño de los mp3, wav y wma de, por ejemplo 3MB a 400-500Kb para despues utilizarlos en mi celular ya que un audio de 3MB es para escucharse en equipos stereofonicos, etc en cambio en celulares se escucha igual si es de 3MB que si es de 400-500KB con la ventaja que utiliza poco espacio.

Proceso que segui ->
1.- Baje el ffmpeg.rev11870.7z de 2.4MB archivo (Winrar-Comprimido)
lo desempaque y puse el DLL que trae y los dos EXE el ffmpeg y el ffplay
en mi sitio web diseñado para ello
2.- Baje el lame-3.97.zip 513Kb(Comprimido) lo desempaque y puse el
EXE lame junto con los de arriba.
3.- Buscando en phpclases encontre algo parecido que eventualmente
modifique para mis necesidades especificas resultando lo siguiente.

a.- Un index.php con esta FORM asi ->

Cita:
echo "<form action=\"convertidor_audio.php\" method=\"post\">
<b>Archivo A Procesar:<br><input name=\"audio\" type=\"text\" value=\"franco.wma\"><br>
<b>Obtener:<br><input name=\"clase\" type=\"text\" value=\"mp3\"><br>
<b>Escoga Estereo O Mono::<br><input name=\"estereomono\" type=\"text\" value=\"estereo\"><br>
<b>Escoga Los kbps::<br><input name=\"loskbps\" type=\"text\" value=\"16\"><br>
<input name=\"submit\" type=\"submit\" value=\"Procesar Archivo!\"><br>
<input type=\"reset\" value=\"Reset\">
</form>";
b.- Las variables del FORM son recibidas y procesadas asi ->

Cita:
<?php
$fuente = $_POST['audio']; //Asegurarse que la fuente existe
$fuente = rtrim($fuente);
$fuente = strtolower($fuente);
$sonido = $_POST['estereomono']; //Asegurarse que solo sea Mono o Estereo
$sonido = rtrim($sonido);
$sonido = strtolower($sonido);
$tipofinal = $_POST['clase'];
$tipofinal = rtrim($tipofinal);
$tipofinal = strtolower($tipofinal);
$compresion = $_POST['loskbps']; //Asegurarse que sea 8 o 16 o 32 solamente
$compresion = rtrim($compresion);

$kbpersecond = array('8','16','24','32','40','48','56'); // Permite : '48','56','64','80','96','112','128' hasta 256
$monoestereo = array('j','s','m','f'); // f=Modo Rapido, m=Modo Mono, s=Modo Stereo y j=Modo Stereo Juntos
$codificador = array(
'wav'=>array('lame','%1$s --silent --nores -h -m %3$s -b %4$d %2$s -'),
'mp3'=>array('lame','%1$s --silent --nores -h -m %3$s -b %4$d --mp3input %2$s -'),
'x'=>array('lame','%1$s --silent --nores -h -m %3$s -b %4$d - -'), //Usa Lame Si No encuentra otro
);
$decodificador = array(
'wav'=>array('lame',''),
'mp3'=>array('lame',''),
'3gp'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'mov'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'wma'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'm4a'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'mov'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'3gp'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '),
'x'=>array('ffmpeg','%1$s -v 0 -i %2$s -f wav - | '), //Usa ffmpeg Si no encuentra otro
);

echo "<body bgcolor=\"#33FF00\">";
//$fuente = "inicio/$fuente";
$fuente = "wap6entrada/$fuente";
$type = strtolower(pathinfo($fuente, PATHINFO_EXTENSION)); //Aqui sale el tipo de archivo mp3 o wma en minuscula
$name = basename($fuente, '.' . $type); //Aqui sale Akira y JohnKano

if(file_exists($fuente)) { //Checar si el archivo fuente existe!.
$tamano = filesize($fuente);
$fuente = realpath($fuente);
} else {
echo "El Archivo No Existe!.<br>";
exit();
}
if(strpos($fuente, ' ')) {
$fuente = '"' . $fuente . '"';
}

if(array_key_exists($type, $decodificador)) { //Checar si el tipo de archivo existe en los decodificadores
$decodificar = $decodificador[$type];
} else {
if(array_key_exists('x', $decodificador)) { //Checar si existe el default de los decodificadores
$decodificar = $decodificador['x'];
} else {
echo "No Hay Decodificador Disponible para $type!.<br>";
exit();
}
}

if(array_key_exists($type, $codificador)) { //Checar si el tipo de archivo existe en los codificadores
$codificar = $codificador[$type];
} else {
if(array_key_exists('x', $codificador)) { //Checar si existe el default de los codificadores
$codificar = $codificador['x'];
} else {
echo "No Hay Codificador Disponible para $type!.<br>";
}
}
if($tipofinal != "mp3" && $tipofinal != "wav") {
echo "Usted Debe Utilizar,<br>";
echo "mp3 o wav,<br>";
echo "Solamente!-<br>";
echo "Vuelva A Intentar!.<br>";
exit();
}

if($sonido != "estereo" && $sonido != "mono" && $sonido != "estereomono" && $sonido != "rapido") {
echo "Usted Debe Utilizar,<br>";
echo "estereo, mono, estereomono,<br>";
echo "o rapido Solamente!-<br>";
echo "Vuelva A Intentar!.<br>";
exit();
}
if($compresion != "8" && $compresion != "16" && $compresion != "24" && $compresion != "32" && $compresion != "40" && $compresion != "48" && $compresion != "56") {
echo "Usted Debe Utilizar,<br>";
echo "8 o 16 o 24 o 32 o<br>";
echo "40 o 48 o 56 kbps Solamente!!.<br>";
echo "Vuelva A Intentar!.<br>";
exit();
}
if($compresion == "8") {
$kbpersecond = intval($kbpersecond[0]);
}
if($compresion == "16") {
$kbpersecond = intval($kbpersecond[1]);
}
if($compresion == "24") {
$kbpersecond = intval($kbpersecond[2]);
}
if($compresion == "32") {
$kbpersecond = intval($kbpersecond[3]);
}
if($compresion == "40") {
$kbpersecond = intval($kbpersecond[4]);
}
if($compresion == "48") {
$kbpersecond = intval($kbpersecond[5]);
}
if($compresion == "56") {
$kbpersecond = intval($kbpersecond[6]);
}

if($sonido == "estereo") {
$calidad = "e";
$monoestereo = strtolower($monoestereo[1]);
}
if($sonido == "mono") {
$calidad = "m";
$monoestereo = strtolower($monoestereo[2]);
}
if($sonido == "estereomono") {
$calidad = "em";
$monoestereo = strtolower($monoestereo[0]);
}
if($sonido == "rapido") {
$calidad = "r";
$monoestereo = strtolower($monoestereo[3]);
}

if($tipofinal == "mp3") {
$salida = "kbps.mp3";
}
if($tipofinal == "wav") {
$salida = "kbps.wav";
}

$objetivo = $name . '+' . $calidad . '+' . $kbpersecond . $salida;

$command = sprintf($decodificar[1], $decodificar[0], $fuente) . sprintf($codificar[1], $codificar[0], $fuente, $monoestereo, $kbpersecond);
//$rutafinal = "audiosx/$objetivo";
$rutafinal = "salidawap6/$objetivo";
system($command . ' > ' . $rutafinal);
echo "<body bgcolor=\"#33FF00\">";
$nuevotamano = filesize($rutafinal);
echo "Size Inicial:<br> $tamano bytes<br>";
echo "Size Final:<br> $nuevotamano bytes<br>";
echo "Nombre:<br> $objetivo<br>";
echo "Trabajo terminado<br> ENJOY!!!!!!!.<br>";
?>
Los archivo originales deben ser depositados en un directorio creado con
nombre wap6entrada y el audio ya reducido es depositado en el directorio que debes crear que se debera llamar salidawap6.

De todo el codigo, este es el ejecuta las instrucciones finales ->
Cita:
system($command . ' > ' . $rutafinal);
Saludos
Y espero te sirva
Franco
  #6 (permalink)  
Antiguo 27/03/2009, 05:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Funciona perfectamente!!!!!
MUCHISIMAS GRACIAS!!!

una ultima pregunta...

como puedo instalar la extension para sacar datos de los videos...

merciii

Sigo buscando por internet y nada, he mirado la pagina que me ha puesto GatorV y me descargo el archivo pero me sale el archivo sin compilar, y no hay ningun dll el cual poner en ext...

ayudadme por favor utilizo php 5 corriendo en windows XP...

mercii

Última edición por GatorV; 27/03/2009 a las 08:07
  #7 (permalink)  
Antiguo 27/03/2009, 08:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Busca en internet un paquete precompilado ya que en la pagina que te puse creo no vienen por arquitectura.

Una ves que lo consigas solo pones el DLL y ya, sin tener el DLL no vas a poder levantar la extensión y vas a tener que usar system() como te expuso franco190453.

Saludos.
  #8 (permalink)  
Antiguo 27/03/2009, 10:58
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Busca en internet un paquete precompilado ya que en la pagina que te puse creo no vienen por arquitectura.

Una ves que lo consigas solo pones el DLL y ya, sin tener el DLL no vas a poder levantar la extensión y vas a tener que usar system() como te expuso franco190453.

Saludos.
es lo que hecho pero no me aparece en el php info el ffmpeg... pero weno he conseguido obtener un thumnail de un video con ffmpeg ahora solo me falta saber la duracion de un video como puedo saberlo con el comando system...

Gracias
  #9 (permalink)  
Antiguo 27/03/2009, 11:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Te recomendaria esto lo preguntes en el foro de Software General, ya que no es problema de PHP pero con el comando -i puedes saber toda la información de un video:
Código:
ffmpeg -i /path/al/video
Saludos.
  #10 (permalink)  
Antiguo 27/03/2009, 12:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Te recomendaria esto lo preguntes en el foro de Software General, ya que no es problema de PHP pero con el comando -i puedes saber toda la información de un video:
Código:
ffmpeg -i /path/al/video
Saludos.
ya se que es un software aparte pero esque la informacion la quiero pasar a mi pagina no sabes si ay una extension que no sea ffmpeg php que obtenga informacion del video?

gracias
  #11 (permalink)  
Antiguo 27/03/2009, 15:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Si usas ese comando puedes leer la información del video usando exec() o system().

Saludos.
  #12 (permalink)  
Antiguo 27/03/2009, 17:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Si usas ese comando puedes leer la información del video usando exec() o system().

Saludos.
y es lo que hago...

system("ffmpeg -i video.avi");

pero no aparece nada en la pagina...


mercii
  #13 (permalink)  
Antiguo 27/03/2009, 17:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Usa exec() con el segundo parámetro para que se guarde ahí la salida del comando.

Saludos.
  #14 (permalink)  
Antiguo 28/03/2009, 01:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Usa exec() con el segundo parámetro para que se guarde ahí la salida del comando.

Saludos.
vale he puesto el siguiente codigo...

Código PHP:
exec("ffmpeg -i video.avi",$valor);

      echo 
'<pre>';

      
var_dump($valor);

      die(
'</pre>'); 
pero en la pagina me aparece esto...

array(0) {
}

gracias por ayudarme
  #15 (permalink)  
Antiguo 30/03/2009, 08:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Prueba así:
Código php:
Ver original
  1. $result = system("ffmpeg -i video.avi");
  2. echo '<pre>';
  3. var_dump($result);
  4. echo '</pre>';

Saludos.
  #16 (permalink)  
Antiguo 30/03/2009, 18:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Prueba así:
Código php:
Ver original
  1. $result = system("ffmpeg -i video.avi");
  2. echo '<pre>';
  3. var_dump($result);
  4. echo '</pre>';

Saludos.
sigue sin funcionar aparece lo siguiente...

string(0) ""


puff debe de haber alguna forma no??

Gracias
  #17 (permalink)  
Antiguo 31/03/2009, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Prueba poner la ruta completa al binario de ffmpeg, o usar ffmpeg.exe

Saludos.
  #18 (permalink)  
Antiguo 31/03/2009, 09:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Prueba poner la ruta completa al binario de ffmpeg, o usar ffmpeg.exe

Saludos.
de ninguna de las dos formas , debe de haber alguna forma de ver la duracion del video no??

estoy desesperado en internet no encuentro nada

Gracias
  #19 (permalink)  
Antiguo 31/03/2009, 10:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Pues si la hay usando ffmpeg, trata desde la consola usar el mismo comando para ver, si desde la consola no puedes es que hay un problema con tu instalación de ffmpeg.

Saludos.
  #20 (permalink)  
Antiguo 31/03/2009, 13:57
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por GatorV Ver Mensaje
Pues si la hay usando ffmpeg, trata desde la consola usar el mismo comando para ver, si desde la consola no puedes es que hay un problema con tu instalación de ffmpeg.

Saludos.
con el cmd.exe si que funciona y me sale lo siguiente...

http://pixelea.com/ver.php?imagen=efca6848a2.jpg

que puede estar fallando entonces...

GRACIAS
  #21 (permalink)  
Antiguo 31/03/2009, 14:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: instalar ffmpeg en xampp

Pues entonces usa la ruta completa en tu system:
Código:
/path/a/ffmpeg -i /path/al/video.avi
Saludos.
  #22 (permalink)  
Antiguo 31/03/2009, 16:54
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

sigue sin funcionar...me aparece lo mismo...

que puede ser lo que falla?

gracias
  #23 (permalink)  
Antiguo 31/03/2009, 18:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: instalar ffmpeg en xampp

Creo que solo falta esto: 2>&1 para que los resultados de exec sean almacenados en una variable. Me funciona sin problemas en ubuntu.

Código:
exec('/path/a/ffmpeg -i /path/al/video.avi 2>&1', $output);
__________________
- León, Guanajuato
- GV-Foto
  #24 (permalink)  
Antiguo 01/04/2009, 04:23
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por Triby Ver Mensaje
Creo que solo falta esto: 2>&1 para que los resultados de exec sean almacenados en una variable. Me funciona sin problemas en ubuntu.

Código:
exec('/path/a/ffmpeg -i /path/al/video.avi 2>&1', $output);
muchas gracias ahora si que me funciona...


Gracias
  #25 (permalink)  
Antiguo 18/06/2010, 11:09
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: instalar ffmpeg en xampp

Hola scorpion.. tengo el mismo problema que vos!!.. estoy necesitando usar el ffmpeg desde hace tiempo y solo me ha dado dolores de cabeza.. nose porque no lo habrán hecho más facil!!... vos pudiste hacerlo funcionar???

eh visto y leido muchos tutiriales.. y creo que mi problema es que no encuentro los archivos correctos para descargar e instalar...

me gustaría saber si tu tuviste suerte con tu proyecto, y en el caso de ser asi te pedríria un poco de ayuda

gracias y saludos!
  #26 (permalink)  
Antiguo 13/08/2010, 08:55
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: instalar ffmpeg en xampp

Cita:
Iniciado por scorpionhack Ver Mensaje
muchas gracias ahora si que me funciona...


Gracias
Podrias poner el codigo completo por favor, me urge hacer lo mismo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.