mp4v2 извлечение и декодирование данных из файла.M4A

Я извлек аудиоданные из файла.m4a, используя библиотеку mp4v2 (образец за образцом). Есть ли в этой библиотеке функция, которая декодирует данные? Кто-нибудь с опытом работы с этой библиотекой и может помочь?

В документации сказано:

Функция MP4ReadSample считывает указанный семпл с указанной дорожки. Обычно этот образец затем декодируется зависимым от кодека способом и воспроизводится соответствующим образом.

Я заинтересован в расшифровке вывода.

Заранее спасибо.

2 ответа

Решение

Я исследовал все, и ответ НЕТ. В библиотеках mp4/mp4v2 нет декодера. Для этого нужно использовать какую-то другую библиотеку.

Вы отметили MP4(видео данные) и M4A(аудио данные). Поскольку вы извлекаете файлы из M4A, я могу только представить, что у вас действительно есть аудиоданные AAC или MP3.

Каждый извлеченный образец (байты) является аудио кадром.

Чтобы создать воспроизводимый файл MP3: Просто объедините байты всех кадров MP3 вместе. Сохранить как .mp3, чтобы играть позже.

Чтобы создать воспроизводимый файл AAC: Для каждого кадра AAC сначала создайте заголовок ADTS (7 байтов), а затем данные этого кадра. Вы можете проверить байты заголовка здесь (сайт показывает, что означают ваши байтовые значения). Когда все ваши AAC-кадры начинаются с заголовка ADTS, просто сохраните как .aac, чтобы воспроизвести позже, используя код аудио плательщика.

Другие вопросы по тегам