O ffprobe reporta a profundidade de bits correta, mas apenas quando há uma profundidade de bits a ser reportada , caso contrário, ele informa corretamente que a "profundidade de bits" não é aplicável (N / A).
No relatório do FFmpeg sobre o campo de dados "bits_per_raw_sample" e por Karans answer , "bit-depth" é um nome impróprio para Áudio codificado por AAC.
Se você estiver tentando analisar o arquivo de dados, convém grep -e
para "codec_name" identificar quais fluxos (vídeo, áudio, texto) estão sendo reportados pelo "bits_per_raw_sample". Isso facilita saber se o status de profundidade de bit reportado está relacionado ao codec de vídeo ou ao codec de áudio:
$ ffprobe -show_streams <input_file.mp4> | grep -e codec_name -e bits_per_raw_sample
... exemplo de um relatório de arquivo de dados de vídeo e áudio resultante:
codec_name=h264 <----- video
bits_per_raw_sample=8 <----- 8-bit depth video
codec_name=aac <----- AAC audio
bits_per_raw_sample=N/A <----- bit depth is "Not Applicable" to AAC audio
Você pode gostar deste artigo, " Audio Encoding Demystified "
Bit depth
Along with sample rate, there is also bit depth to consider. The bit
depth is the number of digital bits of information used to encode each
sample. In simple terms, bit depth measures “precision”. The higher
the bit depth, the more accurately a signal can communicate the
amplitude of the actual analog sound source. With the lowest possible
bit depth, we only have two choices to measure the precision of sound:
0 for complete silence and 1 for full volume. The higher the bit
depth, the more precision one has over their encoded audio. As an
example: CD quality audio is a standard 16-bit, which gives 216 (or
65,536) volumes to choose from.
Bit depth is fixed for PCM encoding, but for lossy compression
codecs (like MP3 and AAC) it is calculated during encoding and can
vary from sample to sample.
... então, para resolver a questão, "Como determinar a profundidade de bits AAC?" Eu suponho que você teria que fazer isso em uma amostra por amostra.