Eu tenho um arquivo wav de 48 KHz de 24 bits, mas quando o alimento através do ffmpeg, o fluxo fica assim:
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
Então, claramente diz pcm_24le
, o que, pelo que entendi, significa pcm assinado 24 bits little endian, mas também diz s32
, com 24 bit
logo depois disso. O que isto significa? O arquivo é de alguma forma de 24 bits e 32 bits, ou s32 significa algo completamente diferente neste caso.
Eu também experimentei algo um pouco semelhante ao lidar com dts-streams. Se eu tiver um arquivo mkv com um fluxo de áudio dts normal, ele será reconhecido como dts 5.1, mas quando removi alguns fluxos do arquivo com ffmpeg, usando o comando -c copy, ele se tornou de repente dts s32 5.1 in o novo arquivo mkv.
Então, s32 pode significar algo diferente de 32 bits assinados?
Isso parece um bug de relatório.
Um relatório de bug semelhante foi FLAC de 24 bits mostrado como 32 bits por amostra # 23 , que deveria ter sido corrigido em 2018. Um comentário dizia "As informações impressas pelo ffmpeg são sempre de 32 bits".
Um relatório de bug semelhante, mas recente de 2022 Incluir bits por amostra no log #9 , que também diz: