Convertendo FLAC para MP3 usando o FFMPEG?

0

Então, eu estou usando o ffmpeg para converter arquivos flac de uma determinada pasta para mp3 a uma taxa de bits de 320k.

Estou usando essa resposta como referência.

link

Então o comando que eu uso no shell de comando do Windows é

ffmpeg  -i infile.flac  -c:v copy  -b:a 320k  outfile.mp3

mas isso é apenas para uma música. Como posso modificar esse comando para percorrer todos os arquivos .flac na pasta do diretório de trabalho?

Eu mesmo tentei esses dois, mas eles não funcionam.

for file in 'C:\Users\...' *.flac; do ffmpeg -i "$file" -c:v copy -q:a 0 "${file%.flac}".mp3; done

ffmpeg  -i "*.flac"  -c:v copy  -q:a 0  outfile.mp3

Nota: Eu estou usando a cópia -c: v porque o trabalho artístico do álbum acaba sendo transcodificado, resultando em um arquivo muito maior que estou tentando evitar em primeiro lugar. Então o comando tem que copiar os fluxos.

Sistema operacional: Windows 10

    
por Desmond Smith 16.08.2018 / 20:22

1 resposta

0

Você diz que está usando o shell de comando do Windows, mas a primeira linha de comando exibida (aquela que inicia "para o arquivo") não se parece com o Windows, mais como algum tipo de comando shell do Linux. O segundo não funciona porque o ffmpeg não aceita um caractere curinga como uma especificação de arquivo de entrada.

Esse comando de uma linha do Windows faz o que você quer, para fazer o ffmpeg (usando suas opções acima) tomar como entrada, cada arquivo flac na pasta atual e gerar, na mesma pasta, um arquivo mp3 com o mesmo nome antes da extensão:

No prompt:

for %A in (*.flac) do ffmpeg  -i "%~nA.flac"  -c:v copy  -b:a 320k  "%~nA.mp3"

Se o arquivo mp3 já existir, o ffmpeg perguntará se você deseja sobrescrevê-lo.

Nota: o comando acima é criado para a linha de comando. Não funcionará em um script em lote. Para isso, você precisa dobrar todos os sinais de porcentagem (%) como este

No script em lote (cmd):

for %%A in (*.flac) do ffmpeg  -i "%%~nA.flac"  -c:v copy  -b:a 320k  "%%~nA.mp3"
    
por 16.08.2018 / 21:34