Формат файла

AAC - Advanced Audio Coding

AAC - это сжатие аудио с потерями, которое сменило MP3 и сейчас используется для передачи по сети звука в большинстве музыки и видео. Обычный файл AAC содержит звуковые кадры и почти ничего больше.

.aac

AAC, или Advanced Audio Coding, это метод сжатия аудио с потерями, который появился после MP3 и был призван его заменить. Он был разработан в 1990‑е годы группой компаний, включая Fraunhofer IIS, Dolby, AT&T, Sony и Nokia, и опубликован группой Moving Picture Experts Group как часть стандартов MPEG-2, а затем MPEG-4. Почти наверняка вы слушаете его каждый день, не замечая этого: AAC используется в большинстве видеозаписей, в цифровом вещании, в стриминговых приложениях и почти в каждом треке, купленном в онлайн‑магазине.

Кодек, а не формат файла

Главное, что нужно понимать об AAC, и это объясняет все остальное: AAC - это кодек, метод сжатия и распаковки звука. Это не по сути способ его хранения. Как и MP3, это формат с потерями: звук разбивается на короткие блоки, преобразуется в частоты, и отбрасывается то, что слушатель, скорее всего, не услышит. Но AAC использует более крупные и гибкие блоки и более эффективные алгоритмы, поэтому обычно звучит лучше MP3 при той же битрейте. Существует несколько профилей: обычный AAC-LC используется повседневно, а HE-AAC восстанавливает высокие частоты отдельно и хорошо держится на очень низких битрейтах.

Поскольку это только кодек, звук AAC обычно находится внутри контейнера, который умеет организовывать потоки и теги. Чаще всего этим контейнером является MP4, поэтому большинство музыкальных файлов с AAC оканчиваются на .m4a, а не на .aac. Файл, который действительно оканчивается на .aac, обычно является «голым» Audio Data Transport Stream: только кадры AAC один за другим, каждый с небольшим заголовком, задающим профиль, частоту дискретизации и конфигурацию каналов. Такой файл воспроизводится, его можно резать и склеивать, но кроме самого аудио в нем нет никакой структуры.

Какие метаданные содержит файл AAC

Честный ответ для необработанного потока: почти никакие. В нем нет места для названия, исполнителя или даты. Заголовки кадров описывают только то, как декодировать звук, и ничего больше, поэтому отчет о метаданных для «голого» файла AAC может показывать лишь профиль, частоту дискретизации, число каналов и продолжительность. Это не пробел в отчете. В файле действительно нет ничего другого.

Эту картину осложняют две вещи. Во-первых, некоторые приложения прикрепляют к началу потока AAC тег ID3v2 - тот же, что использует MP3. Это не часть стандарта, а скорее сложившаяся практика, но она работает, поэтому вы все же можете увидеть название, исполнителя, альбом, обложку и имя кодировщика. Иногда аналогичным образом используется тег APE. Во-вторых, и гораздо чаще, под «файлом AAC» на самом деле имеется в виду файл MP4. Тогда метаданные принадлежат контейнеру, и их много: записи в стиле iTunes для названия, исполнителя, исполнителя альбома, номера трека, года, жанра, композитора, комментария, иллюстрации и средства кодирования, а также временные метки создания и изменения в заголовке контейнера.

Это различие важно, если вы заботитесь о конфиденциальности. «Голый» поток AAC почти ничего о вас не раскрывает. Обертка MP4 может содержать название программы, которая создала файл, комментарий, введенный пользователем, а в случае купленного трека - адрес электронной почты учетной записи, имя владельца учетной записи и дату покупки. Поэтому, прежде чем задумываться, что раскрывает файл AAC, выясните, чем он на самом деле является. Отчет о метаданных подскажет, смотрите ли вы на необработанный поток или на контейнер.

Когда использовать AAC

Используйте AAC, когда вам нужен звук с потерями, который хорошо звучит при небольшом размере и воспроизводится на обычных телефонах, в браузерах, автомобилях и телевизорах. По сравнению с MP3 он дает лучшее качество при том же количестве бит и поддерживает больше каналов и частот дискретизации. По сравнению с Opus он уступает по эффективности на низких битрейтах, но выигрывает по поддержке со стороны устройств. И если вы вообще планируете добавлять теги к файлу, храните звук AAC в контейнере MP4 с расширением .m4a вместо необработанного потока, потому что только там могут находиться теги.