Ver Mensaje Individual
  #43 (permalink)  
Antiguo 13/04/2008, 11:23
franco190453
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: comprimir mp3 para meterlos a mi telefono celular !

Reducir MP3 y convertir wma o wav a MP3 y a su vez comprimir,
fundamentado en los kbps y en la modalidad mono, estereo, etc es sencillo.
1.- SE bajan el FFMPEG.rev11870 que es un archivo winrar, lo desempacan y obtengran el ffmpeg, ffplay y pthreadGC2.dll
2.- Se bajam el LAME-3.97 que es un archivo winrar, lo desempacan y obtengran el lame.
3.- jjmpeg, ffplay, pthreadGC2.dll y lame lo copian en su web.
El codigo php inicial es el siguiente:
Recibe la info para procesar el archivo.
<?php
echo "<body bgcolor=\"#33FF00\">";
echo "<img src=\"MyIcono.jpg\" alt=\"Franco\"><br>
<b>ARCHIVO CONVERTIR<br>
<b>Y/O COMPRIMIR:<br>";
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>";
echo "<b>franco7777.com";
?>
Seguidamente procedemos a compactar los MP3 seleccionando los KBPS y MONO o ESTEREO; este script acepta archivos MP3, WAV y WMA. No he probado con otros pero existe un "default" que podria funcionar con otros pero NO lo garantizo.
Aqui el codigo php:
<?php
$fuente = $_POST['audio']; //Asegurarse que la fuente existe
$fuente = rtrim($fuente;
$fuente = strtolower($fuent);
$sonido = $_POST['estereomono']; //Asegurarse que solo sea Mono o Estereo
$sonido = rtrim($sonido);
$sonido = strtolower($sonid);
$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');
$monoestereo = array('j','s','m','f');
$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','%1s -v 0 -i 2$s -f wav '),
'mov'=>array('ffmpeg','%1%s -v 0 -i 2$s -f wav '),
'wma'=>array('ffmpeg','%1s -v 0 -i 2$s -f wav '),
'm4a'=>array('ffmpeg','%1%s -v 0 -i 2$s -f wav '),
'mov'=>array('ffmpeg','%1s -v 0 -i 2$s -f wav '),
'3gp'=>array('ffmpeg','%1%s -v 0 -i 2$s -f wav'),
'x'=>array('ffmpeg','%1s -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>";
?>
Saludos
Y espero les ayude.
Aqui no hay nada que instalar; solamente colocar en un sitio web, subir imagenes y procesarlas.
El sistema o los codificadores y decodificadores son excelentes al procesar los audios.
FRANCO

Última edición por franco190453; 08/08/2008 a las 17:47