Skrypt do konwersji mp3 [bash]
Nadszedł moment, w którym po raz pierwszy zgrywałem muzykę na mój odtwarzacz mp3 poprzez Linuxa. Jako że jest to stosunkowo mało pojemna „empetrójka” – 512 mb – zawsze wszystkim plikom mp3 przygotowanym do kopiowania, zmieniałem bitrate na 128kbps w celu zaoszczędzenia miejsca. Teoretycznie po takiej zmianie jest spadek jakości dźwięku, ale ja osobiście nie odróżniam 320kbps od 128kpbs ( http://mp3ornot.com/ ). Tak więc pogooglowałem i znalazłem pakiet lame, dzięki któremu taka konwersja jest możliwa, i właśnie na lame bazuje mój skrypt.
Całośc może wyglądać ( i ma prawo ^^ ) kulawo, ponieważ to mój pierwszy skrypt w bashu.
zewnętrzny link -> http://wklej.org/txt/3dd3d15532
#!/bin/bash
# Autor: Jarosław Zywert / www.inquistor.info/blog
if [ -x /usr/bin/lame ]
then
echo "Lame: OK"
else
echo "Nie masz zainstalowanego pakietu Lame
Zainstaluj pakiet za pomocą aptitude, apt-get lub innego managera pakietów"
exit
fi
bitrate="$2"
nazwa_pierwotna="$3"
nazwa_wyjsciowa="`basename $nazwa_pierwotna .mp3`[$bitrate kbps].mp3"
case $1 in
-h) echo " POMOC:
Konwerter MP3
Opis: Skrypt do konwersji bitrate plików mp3
SKŁADNIA:
mp3bitrate [-OPCJA] [BITRATE] [PLIK]
-s -konwersja pojedynczego pliku, skonwertowany
plik ma nazwę nazwa_pliku[BITRATE].mp3
-a -konwersja calego aktualnie otwartego folderu,
wyjscie zapisywane jest w podrzednym folderze
[BITRATE]. Domyślny bitrate to 128kbps.
" ;;
-s) lame --mp3input -b "$2" "$nazwa_pierwotna" "$nazwa_wyjsciowa" ;;
-a) mkdir "$2kbps"
for i in *.mp3
do lame --mp3input -b "$2" "$i" "$2kbps/$i"
done | echo "Konwersja zakończona pomyślnie.";;
*) echo "Brak odpowiednich argumentów
Pomoc jest dostepna pod: mp3bitrate -h" ;;
esac
Chyba wszystko jest w miare jasno wytłumaczone w samym skrypcie ;-) Ale jakby ktoś miał jakieś wątpliwości….
#Konwersja jednego pliku
mp3bitrate -s 128 nazwa_pliku.mp3
#Konwersja calego folderu
mp3bitrate -a //wartość 128kbps jest wartością domyślną
Mile widziane komentarze ;-)
Filed under: Linux by Inquistor
Spoko :) lubimy skrypty :) ale chyba składnia Lame jest dość prosta :) w każdym razie skrypt wypróbowałem i zostawię sobie na dysku :]