Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: velox256 em 11 de Agosto de 2008, 10:42
-
Moçada, alguém que saca do negócio poderia dar uma mão pra fazer um script pra encaixar um comando de conversão de áudio? O comando é:
ffmpeg -i arquivo.mp3 -acodec wmav2 arquivo.wma
Estava querendo algo que convertesse uma pasta inteira, ou seja, selecionava a pasta ou os arquivos/botão direito/converter para wma ou coisa do gênero. O nome do arquivo final (wma) poderia ser o mesmo do original (mp3), alguém pode dar um exemplo aí pra eu poder adaptá-lo?
A conversão de mp3 pra wma é pra caber mais arquivos em players de mp3, hehehehe... :)
-
Vê se funciona:
for i in *.mp3
do o=`basename "$i" .mp3`
ffmpeg -i "$i" -acodec wmav2 "$o".wma
done
-
Testei agora, e o pior é que funcionou mesmo. Se quiser uma interface gráfica, dá para fazer com o zenity.
Só que eu não recomendaria usar wma. Ao contrário do que prega a MS, o som do wma com 64kbps não fica com a mesma qualidade do mp3 de 128kbps. Em testes que fiz com o wma usando o próprio encoder do Windows algumas músicas ficaram distorcidas mesmo com 192kbps, que é o máximo.
-
Funcionou perfeitamente, nem precisa selecionar os arquivos em uma pasta, basta selecionar um só, mandar converter (usando o Nautilus Scripts) e ele mesmo já manda bala em tudo. Eu só queria ser um pouquinho mais chato, não dá pra fazer com que o terminal mostre o que está ocorrendo com o arquivo (ou arquivos) que está sendo convertido? Só dá pra saber qdo a conversão acaba qdo o meu screenlet de uso da CPU volta a mostrar o 1%-5% de uso normal da minha máquina, hehehe...
Qto ao lance de conversão ser boa ou ruim, não noto muita diferença (vai ver estou ficando surdo), é que eu tenho vários arquivos de 320kbps enormes e gostaria de reduzi-los para caber mais coisas no mp3. Sei que posso fazer isso baixando de 320 para 128kbps em mp3, mas o wma compacta mais ainda e não noto muita perda; ou minha máquina é muito boa ou estou ficando surdo mesmo, hehehe, mesmo pq uso os arquivos em players de mp3 com aqueles fones de arco 'semi-auriculares'. Conheço vários testes de desempenho de arquivos mp3 e wma e tal, mas como sou duro e não tenho grana pra comprar um IPod, vou me virando no meu China-Pod, que também divide o espaço com vídeos de filmes inteiros.
-
Vê se tá bom assim:
#!/bin/bash
for i in *.mp3
do o=`basename "$i" .mp3`
ffmpeg -y -i "$i" -acodec wmav2 "$o".wma 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
done
-
Êita nós que o bagulho ficou bom pra caramba, vou começar a dar umas fuçadas nesse negócio de script, já que o Linux não dá defeito, tem que procurar outras coisas pra fazer, hehehehe...
Valeu à todos aí.
Vê se tá bom assim:
#!/bin/bash
for i in *.mp3
do o=`basename "$i" .mp3`
ffmpeg -y -i "$i" -acodec wmav2 "$o".wma 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
done
-
Mais alguns exemplos de scripts wma2mp3:
#!/bin/bash
current_directory=$( pwd )
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
for i in *.[Ww][Mm][a]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $i && lame -m s audiodump.wav -o $i; done
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav
fonte: http://www.vivaolinux.com.br/dica/Convertendo-wma-para-mp3/
#!/bin/bash
for i in *wma; do
cp -v "$i" `echo $i | tr ' ' '_'` > log
cat log | cut -d '`' -f 3 | sed -s "s/'//" >> list_arq
done
# converter com o mplayer / codificar com a LAME
for i in `cat list_arq`; do
mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader $i > mp_log && echo 0 > log || echo 1 > log
title=`cat mp_log | grep name: | cut -d ":" -f 2 | cut -d " " -f 2-`
author=`cat mp_log | grep author: | cut -d ":" -f 2 | cut -d " " -f 2-`
track="$(( $track + 1 ))"
if [ -z "$title" ]; then
title="Unknown"
fi
if [ -z "$author" ]; then
author="Unknown"
fi
if [ `cat log` = "0" ]; then
if [ $track -le "9" ]; then
lame -m s audiodump.wav --tt "${title}" --ta "${author}" --tn "${track}" -o "0${track} - ${title}.mp3"
else
lame -m s audiodump.wav --tt "${title}" --ta "${author}" --tn "${track}" -o "${track} - ${title}.mp3"
fi
else
echo "Erro ao decodificar o arquivo: $i"
echo "Saida de erro:"
echo
cat mp_log
rm $i log mp_log
exit 1
fi
rm $i
rm log mp_log
done
rm audiodump.wav
rm list_arq
exit 0
fonte: http://www.vivaolinux.com.br/script/wma2mp3
NOTA: Para isso é preciso ter o mplayer e o lame instalados.
===EDITADO===
Desculpe-me você deseja é o contrário de mp3 para wma, mas de qualquer forma serve de estudo da estrutura de um script que pega vários arquivos em uma pasta e converte de um tipo de arquivo de som em outro. Quem sabe que com algumas adaptações funcione também no caso contrário mp3 > wma.
-
Beleza, estava querendo um desses também, de wma para mp3, mas pra isso eu também uso o SoundConverter (e o com 'K' também...). :)
-
aham!