Use o ffmpeg para obter o PCM / Red Book / CDDA sem os cabeçalhos WAV?

1

Eu tenho um projeto paralelo que requer arquivos que são apenas amostras de áudio PCM descompactado. Meu plano era primeiro converter tudo em WAV, depois usar meus próprios scripts para retirar todos os segmentos além dos samples.

Ocorre-me que a conversão direta para CDDA (áudio "Red Book") é a mesma que estou recebendo, mas com menos um passo envolvido e um código mais testado, desde que eu esteja bem em forçar tudo para áudio com qualidade de CD (eu sou). No entanto, olhando através da documentação, parece que ffmpeg não pode realmente produzir CDDA? O que é um pouco confuso, considerando quantas coisas menos comuns ele pode produzir e o fato de que o áudio seria decodificado através dessa forma em qualquer outra conversão de arquivo de áudio.

Será que estou perdendo algum método de obter o que estou procurando, ou isso é um componente inesperado ausente em ffmpeg ? Alguma outra ferramenta comum pode fazer isso?

    
por David Heyman 03.04.2017 / 04:37

2 respostas

1

O formato CDDA é PCM little endian de 16 bits assinado com 2 canais a 44,1 kHz. Então, o que você precisa é algo como

-acodec pcm_s16le -ar 44.1k -ac 2

(não testado). BTW, você pode ver todos os codecs, incluindo os PCM, com ffmpeg -codecs .

    
por 03.04.2017 / 08:09
1

Se você só precisa de um bitstream bruto, use

ffmpeg -i in.mp3 -ar 44100 -ac 2 -f s16le out.pcm

em que a saída não possui cabeçalhos ou outros metadados. É um fluxo de bits bruto. Os dois canais são intercalados, ou seja, {amostra-ch1 amostra-ch2 amostra-ch1 ...}

    
por 03.04.2017 / 08:32