Как определить разрядность AAC

С wav файл например, вы можете легко отличить битовой глубины

24-бит

Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, 
                    s32, 2116 kb/s

16-бит

Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo,
                    s16, 1411 kb/s

однако AAC кажется непостижимым

Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
                         fltp, 151 kb/s
12
задан Steven Penny
16.03.2023 5:16 Количество просмотров материала 2654
Распечатать страницу

2 ответа

AAC это формат с потерями (как MP3), и как Википедия (действительно, то же самое статья, на которую вы ссылаетесь) объясняет:

битовая глубина имеет значение только в отношении цифрового сигнала PCM. Non-PCM форматы, такие как форматы сжатия с потерями, не имеют связанных битовых глубин. Например, в MP3 квантование выполняется на образцах PCM, которые были преобразованный в частотную область.

9
отвечен Karan 2023-03-17 13:04

ffprobe сообщает правильную битовую глубину, но только когда есть немного глубины, чтобы сообщить, иначе он передает правильно, что "битности" не применимо (Н/А).

в отчете FFmpeg поля данных "bits_per_raw_sample" и per Karans ответ, "разрядность" является неправильным для AAC кодированного звука.

Если вы пытаетесь исследовать файл данных, вы можете grep -e для "codec_name", чтобы определить, какие потоки (видео, аудио, текст) "bits_per_raw_sample" сообщает. Это позволяет легко узнать, относится ли состояние битовой глубины к видеокодеку или аудиокодеку:

$ ffprobe -show_streams <input_file.mp4> | grep -e codec_name -e bits_per_raw_sample

...пример результирующего отчета видео-и аудиофайла:

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

вам может понравиться эта статья,"Демистификация Кодировки Звука"

глубину

наряду с частотой дискретизации, есть также битовая глубина, чтобы рассмотреть. Бит глубина-количество цифровых биты информации, используемые для кодирования каждого образец. Проще говоря, битовая глубина измеряет "точность". Высшее битовая глубина, более точно сигнал может связывать амплитуда фактического аналогового источника звука. С минимально возможным разрядность, у нас есть только два варианта для измерения точности звука: 0 для полной тишины и 1 для полной громкости. Чем выше бит глубина, тем больше точность закодированного звука. Как пример: CD качество звука является стандартом 16-бит, что дает 216 (или 65,536) Тома на выбор.

битовая глубина фиксирована для кодирования PCM, но для сжатия с потерями кодеки (как MP3 и AAC) он высчитан во время зашифрования и может варьироваться от образца к образцу.

...Итак, чтобы ответить на вопрос: "Как определить разрядность AAC?"Я полагаю, что вы должны были бы сделать это на образце за образец.

3
отвечен Mr. Kennedy 2023-03-17 15:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх