Problemas ao converter o WAV para o ALAC por um trabalho em lote

1

Eu uso o seguinte código para converter WAV para ALAC (bash, macOS 10.12.1):

find . -type f -iname "*.wav" | while read fn; do ffmpeg -i "$fn" -acodec alac "${fn%.wav}.m4a"; done

Mas parece haver um erro, pois imprime avisos como este:

n---8085/03_Part_III.wav: No such file or directory

O caminho correto seria:

Bad_Religion/wav/Bad_Religion---8085/03_Part_III.wav

Por algum motivo, o caminho é truncado.

O que há de errado com o comando?

    
por typokurz 19.11.2016 / 15:20

1 resposta

1

Seus nomes de arquivos não estão sendo truncados. Aqui, ffmpeg está tentando ler comandos de seu fluxo de entrada. Infelizmente, esse é o mesmo fluxo que o read está usando para determinar nomes de arquivos, portanto, parece que partes desses nomes de arquivos não estão sendo lidos. Para corrigir isso, você deve informar ffmpeg para desativar a interação no fluxo de entrada com o sinalizador -nostdin .

    
por 06.12.2016 / 05:47