Por fim, acabei com esse script. Também funciona se seus arquivos .mp3 tiverem espaços em seus nomes de arquivos e sem extensão extra em novos arquivos criados.
for file in ~/Main_dir/*.mp3; do
convert -background lightblue -size 300x200 -fill blue -pointsize 40 -gravity center label:"$(basename "$file" .mp3)" "${file%.*}.png";
avconv -i "${file%.*}.png" -i "${file%.*}.mp3" "${file%.*}.flv";
done
para a descrição do primeiro comando converter veja Minha resposta no AskUbuntu
Explicação $(basename "$file" .mp3)
:
Com o comando $(basename "$file")
tentei obter apenas o nome do arquivo com extensão e com $(basename "$file" .mp3)
removi sua extensão também.
$ for file in ~/Main_dir/*.mp3; do echo $(basename "$file" .mp3);done
039 - Del Nevesht - noraei
Eluveitie - Meet The Enemy
$ for file in ~/Main_dir/*.mp3; do echo $(basename "$file");done
039 - Del Nevesht - noraei.mp3
Eluveitie - Meet The Enemy.mp3
Explicação ${file%.*}
:
Eu uso isso para obter o caminho de arquivo completo sem sua extensão.
$ for file in ~/Main_dir/*.mp3; do echo ${file%.*};done
/home/KasiyA/Main_dir/039 - Del Nevesht - noraei
/home/KasiyA/Main_dir/Eluveitie - Meet The Enemy
E com a próxima linha no script, você adicionará um rótulo .png criado em seus arquivos .mp3.
Observação: usei avconv
em vez de ffmpeg
. Você pode usar isso se não tiver o pacote ffmpeg
instalado.