Como primeiro, certifique-se que você tem ffmpeg
e libav-tools
instalado, isso você pode fazer digitando terminal ( ctrl + alt + t ):
apt-cache policy ffmpeg libav-tools
Isso deve gerar uma saída como a seguinte, se ambas estiverem instaladas:
ffmpeg:
Installed: 7:2.8.6-1ubuntu2
Candidate: 7:2.8.6-1ubuntu2
Version table:
*** 7:2.8.6-1ubuntu2 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
100 /var/lib/dpkg/status
libav-tools:
Installed: 7:2.8.6-1ubuntu2
Candidate: 7:2.8.6-1ubuntu2
Version table:
*** 7:2.8.6-1ubuntu2 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
100 /var/lib/dpkg/status
Se você entrar em uma das linhas que começam com Installed:
, uma entrada (none)
instale o pacote com sudo apt-get install <package-name>
.
Agora, apenas algumas correções para o script em si:
#!/bin/bash
cd "$1"
find . -type f | grep wma$ > wma-files.txt
readarray -t files < wma-files.txt
for file in "${files[@]}"; do
out=${file%.wma}.mp3
probe="$(avprobe -show_streams "$file" 2>/dev/null)"
rate="$(echo "$probe" | grep "^bit_rate" | sed "s:.*=\(.*\)[0-9][0-9][0-9][.].*::" | head -1)"
ffmpeg -i "$file" -ab "$rate"k "$out" && rm "$file"
done
Você pode chamar isso com ./script.sh /path-to-your-music
.