A taxa de bits de áudio, o canal de áudio e as configurações de freqüência de amostragem de áudio são importantes no FFmpeg ao enviar a saída RAW para outro processo?

1

Estou usando o FFmpeg versão 3.2.2 e o LAME 3.99.5 no macOS Sierra (10.12.2) e tenho esse comando que canaliza a saída do FFmpeg (de um arquivo FLAC) para o LAME para codificação em um MP3:

ffmpeg -y -v quiet -nostdin -i test.flac -b:a 320k -ac 2 -ar 44100 -f s16le -acodec pcm_s16le - | \
  lame --quiet -r -m s --lowpass 19.7 -V 3 --vbr-new -q 0 -b 96 --scale 0.99 --athaa-sensitivity 1 - test.mp3;

Funciona bem e estou satisfeito com os resultados, mas quando removo a configuração -v quiet da parte FFmpeg do canal - para que eu possa realmente ver o que está acontecendo - observo o seguinte na saída:

Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
size=   81858kB time=00:07:55.18 bitrate=1411.2kbits/s speed=41.2x  

Observe que a taxa de bits está sendo mostrada como 1411.2kbits durante o processo de conversão e não a taxa de bits definida de 320k da opção -b:a 320k sendo definida.

Esse comportamento é esperado? Esse pedaço inteiro de parâmetros de áudio ( -b:a 320k -ac 2 -ar 44100 ) é supérfluo quando a saída de tubulação via saída RAW usa -f s16le -acodec pcm_s16le desde que a configuração de taxa de bits está sendo ignorada?

    
por JakeGould 02.01.2017 / 20:24

1 resposta

4

Is this expected behavior?

Sim, a taxa de bits ( -b:a ) é ignorada durante a saída de um formato descompactado. A taxa de bits resultante é:

sample rate * bits per sample * number of channels = bitrate

Então, no seu caso:

44100 * 16 * 2 = 1411200 bits/s or 1411.2 kilobits/s

Is that whole chunk of audio parameters (-b:a 320k -ac 2 -ar 44100) superfluous when piping output via RAW

A taxa de bits é supérflua. Se você quiser alterar o número de canais ou a taxa de amostragem por qualquer motivo, você pode manter -ac e -ar (mas provavelmente nunca precisará).

    
por 02.01.2017 / 21:01