flac to mp3 one-liner

Scris de spyked la data 27 Februarie, 2010

Deși flac-ul este un codec cu mult superior mp3-ului, deoarece face encoding fără pierderi, multe persoane preferă – din motive precum lipsa suportului pentru flac pe un anumit mp3 player sau spațiul prea mare ocupat – să țină fișiere audio în format mp3.

Pentru cei care au utilitarele flac (pentru codare/decodare de fluxuri în format flac) și lame (la fel, pentru mp3-uri), conversia flac-mp3 a fișierelor dintr-un director se poate face într-o linie de script bash, în felul următor (sursa):

for i in *.flac; do $(flac -cd “$i” | lame -h -b 320 – “${i%.flac}.mp3″); done

După cum se observă, toată linia este de fapt o buclă de tip for, care parcurge toate fișierele *.flac (cu extensia .flac) din directorul curent. Interiorul buclei apelează flac cu flag-urile -c (trimite ieșirea către stdout) și -d (face decodare). Ieșirea comenzii flac e preluată de lame, care face encoding în mp3: -h face encoding la calitate mare, iar -b 320 setează bitrate-ul la 320Kbps.

Output-ul lui lame este făcut în fișierul ${i%.flac}.mp3. Construcția ${i%.flac} îi spune shell-ului să facă expandarea variabilei i (care conține numele fișierului flac) și să caute și să elimine extensia .flac de la coada acesteia, dacă extensia există. Apoi este adăugată extensia .mp3 la coadă.

Lasă un răspuns

Linux: Director ce contine multe fisiere
Google Real Page Rank