Un semplice script php da lanciarsi da shell che, data una cartella, cerca i files wma e li converte in mp3 in un’altra cartella, mantenendo intatta l’alberatura e il naming della directory sorgente.
Prerequisiti:
ffmpeg e php5-cli installabili con il comando
sudo apt-get install ffmpeg php5-cli
Ecco il codice php
<?php
$outDir = "out";
$baseDir= "Music";
$lbaseDir = strlen ($baseDir);
function doDir ($dirname){
global $outDir,$baseDir,$lbaseDir;
$cleandir= substr($dirname,$lbaseDir);
$cleandirout = $outDir.$cleandir;
if ($dirname==$outDir) return;
echo "Processing dir [$dirname] ($cleandir ==> $cleandirout)\n";
$filez = scandir ($dirname);
foreach ($filez as $file) {
if ( ($file == ".") || ($file=="..")) continue;
//echo $file;
$filePath = "${dirname}/${file}";
if (preg_match ("/(.*?)\.wma$/",$file,$arr)) {
$wmain = $filePath;
$fwe = $arr[1];
$mp3out= "${cleandirout}/${fwe}.mp3";
echo "Processing wma [${wmain}]\n";
if (!file_exists ($cleandirout)){
mkdir ($cleandirout,0777,true);
}
if (file_exists ($mp3out)) continue;
system ("ffmpeg -i \"${wmain}\" -ar 44100 -ab 128k \"${mp3out}\"\n");
}
if (is_dir ($filePath)){
doDir ($dirname."/".$file);
}
}
}
doDir ($baseDir);
?>
Nell’esempio lo script esamina la cartella “Music” e deposita i files convertiti nella cartella “out”, ricreando in quest’ultima l’alberatura che trova in “Music”.
Le istruzioni
$outDir = “out”;
$baseDir= “Music”;
si possono cambiare per far lavorare lo script su qualsivoglia cartella.
E’ possibile ovviamente cambiare anche i parametri di bitrate e sample rate di ffmpeg, settati rispettivamente a 128Kbit e 44100Hz.
E’ consigliabile scaricare lo script da qui piuttosto che fare copia e incolla da quello riportato nel post.
#per scaricare wget http://fabrizio.zellini.org/wma2mp3/converter.php.txt -O converter.php # per editare i parametri gedit converter.php # per lanciare php converter.php
XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Nessun commento
commenta | feed commenti [?] | trackback uri [?]