Stronę tą wyświetlono już: 2097 razy
Z własnej potrzeby postanowiłem stworzyć mały skrypt BASH, który wykorzystując doinstalowany w systemie Linux pakiet ffmpeg umożliwia automatyczne przetworzenie plików wideo do formatu mp3. Kod programu wygląda następująco:
haveExtension () # ta funkcja zwraca położenie pierwszego napotkanego znaku kropki (licząc od tyłu), jeżeli nie znajdzie takiego znaku to wyświetla -1
{
for (( i=$((${#1}-1)); i>-1; i--)) # od rozmiaru tekstu do -1 wykonuj
do
if [ "${1:$i:1}" = '.' ] # jeżeli na podanej pozycji jest szukany znak kropki to
then
echo $i; # wyświetlaj jej położenie
return; # i koniec funkcji będzie
fi
done
echo -1; # a jak nie zwróć -1
}
getFileName ()
{
filename=$(basename "$1");
extPos=$(haveExtension "$filename");
echo ${filename:0:$extPos};
}
convToMp3 ()
{
for i in $1
do
echo "$i";
FILENAME=$(getFileName "$i");
echo "$FILENAME";
if [ -f "$FILENAME.mp3" ]
then
echo "file already exist";
else
ffmpeg -i "./$i" -f mp3 -ab 192000 -vn "$FILENAME.mp3";
fi
done
}
convToMp3 "*.mp4";
convToMp3 "*.flv";
convToMp3 "*.webm";
convToMp3 "*.mpeg";
Po zapisani skryptu w pliku o nazwie con.sh uruchomienie jego z bieżącej lokalizacji wygląda następująco:
bash ./con.sh