Autor Tópico: Script simples usa o FFMPEG para converter arquivo de áudio M4A em MP3  (Lida 75 vezes)

Offline Sampayu

  • Usuário Ubuntu
  • *
  • Mensagens: 473
  • "Não é possível semear de mãos fechadas"
    • Ver perfil
    • YouTube
Há alguns dias, precisei usar o comando ffmpeg no terminal do shell para gerar um arquivo1.mp3 a partir do respectivo arquivo1.m4a (arquivo-fonte de áudio em formato MPEG-4).

Passados alguns dias, também tive de gerar arquivo2.mp3, arquivo3.mp3, arquivo4.mp3 e arquivo5.mp3 respectivamente a partir de arquivo2.m4a, arquivo3.m4a, arquivo4.m4a e arquivo5.m4a.

Resolvi então fazer um script do shell Bash, bem simples (sem recursão, sem opções de compressão nem nada), só para encurtar o comando. Agora, se eu quiser gerar um arquivo mp3 a partir de um arquivo m4a, eu só preciso digitar o nome do script e o caminho completo para o arquivo m4a. Por exemplo, o comando:

Código: [Selecionar]
m4amp3.sh /music/rock/faixa1.m4a
...criará o seguinte arquivo:

Código: [Selecionar]
/music/rock/faixa1.mp3
  • Caso alguém tenha interesse em usar isso, o primeiro passo é abrir uma janela do emulador de terminal do shell (por exemplo pressionando a combinação de teclas Ctrl Alt T) e então executar o comando abaixo, para instalar o ffmpeg:
Código: [Selecionar]
sudo snap install ffmpeg
  • O segundo passo é executar o comando abaixo, para criar uma pasta scripts dentro da sua pasta pessoal.
    (você pode selecionar o comando abaixo e então usar a combinação de teclas Ctrl C para copiá-lo. Em seguida, clique na janela do emulador de terminal e então pressione a combinação de teclas Ctrl Shift V para colá-lo, daí basta pressionar Enter. Pule esta etapa caso você já possua uma pasta desse tipo)
Código: [Selecionar]
mkdir ~/scripts
  • O terceiro passo é usar o editor de textos Nano para criar o arquivo de script m4amp3.sh dentro da pasta scripts (caso você já possua uma pasta scripts em outro local, ajuste o comando abaixo para que aponte para o local dessa sua pasta):
Código: [Selecionar]
nano ~/scripts/m4amp3.sh
  • O quarto passo consiste em copiar o código abaixo e então colá-lo (Ctrl Shift V) dentro da tela do Nano:
Código: [Selecionar]
#!/bin/bash
# Este script usa o ffmpeg para gerar um arquivo mp3 a partir de um arquivo m4a.

export font=$1
echo Uso: m4amp3.sh /caminho/para/o/arquivo.m4a
echo ""

if ! command -v ffmpeg &> /dev/null
then
echo O bash não encontrou o executável do ffmpeg!
echo ""
echo Saindo...
sleep 3
exit
fi

while [[ $font = "" ]]
do
echo Informe o caminho completo para o arquivo m4a!
echo ""
echo Saindo...
sleep 3
exit
done

export name=${font%.???}
if [ -f "$font" ]
then
ffmpeg -i "$font" -c:a libmp3lame "$name.mp3"
else
echo $font
echo NÃO é um caminho válido para um arquivo m4a!
echo ""
echo Saindo...
sleep 3
exit
fi

exit
  • O quinto passo consiste em pressionar a combinação de teclas Ctrl O e pressionar Enter para salvar essa alteração, e em seguida pressionar a combinação de teclas Ctrl X para sair do Nano.
  • O sexto passo consiste em executar o comando abaixo, para tornar esse script executável:
Código: [Selecionar]
chmod +x ~/scripts/m4amp3.sh
  • O sétimo passo consiste em adicionar sua pasta scripts à variável PATH do arquivo de configuração do seu shell Bash (arquivo .bashrc dentro da sua pasta pessoal), para que os scripts que você puser na sua pasta de scripts sejam reconhecidos sempre que você digitar o nome deles no emulador de terminal. Para fazer isso, use o Nano para abrir o arquivo de configuração do seu Bash:
Código: [Selecionar]
nano ~/.bashrcCaso o Nano mostre para você que dentro desse arquivo existe uma linha começando com PATH=, então adicione o endereço da sua pasta de scripts. Por exemplo, se dentro do arquivo .bashrc existir uma linha assim:
Citar
PATH=$PATH:/opt/java/jre/bin

...então adicione o código :~/scripts ao final daquele código. Assim:

Citar
PATH=$PATH:/opt/java/jre/bin:~/scripts

Caso o arquivo .bashrc aberto pelo Nano não tenha nenhuma referência à variável PATH, então adicione esta linha ao final do arquivo:

Citar
PATH=$PATH:~/scripts
  • O oitavo passo consiste em executar o quinto passo novamente, para salvar as alterações feitas (Ctrl O + Enter) e então sair do editor de texto Nano (Ctrl X).
  • O nono passo consiste em executar o seguinte comando, que fará o shell inicializar as configurações que você adicionou:
Código: [Selecionar]
source ~/.bashrc

    Pronto: daqui para a frente, bastará executar o comando m4amp3.sh /caminho/para/o/arquivo.m4a que um arquivo mp3 com o mesmo nome será criado dentro da mesma pasta.  ;)
    « Última modificação: 27 de Janeiro de 2023, 08:48 por Sampayu »
    Yuri Sucupira ("Sampayu")