Я использую Linux (Kubuntu 16.04), и у меня есть некоторые.Файлы MP4 со звуковыми дорожками, которые я хочу извлечь, сохраните как.AAC/.M4A файлы и теги.

Теперь я делаю извлечение, используя

MP4Box -raw $track_index my_file.mp4

где индекс дорожки может быть 0, 1, 2 и т. д. Это работает, поскольку я могу воспроизводить результат в различных медиапроигрывателях ... но - так ли это на самом деле?

Кто-то, кто просматривал мои файлы, сказал мне:

в заголовке файла отсутствует поле "ftyp", которое идентифицирует его как контейнер MPEG 4. Также нет полей "mdat", которые указывали бы на отдельные порции данных внутри контейнера MPEG 4.

и это затрудняет работу определенных приложений с моими извлеченными файлами. В частности, тегирование приложений ... которые отказываются писать теги для него.

Что я могу сделать, чтобы получить правильно структурированные, тегируемые файлы M4A/AAC? (Естественно, я ищу решение для командной строки.)

1 ответ1

1

Не используйте «сырые». Используйте «один». Затем измените расширение на .m4a.

Из документации MP4Box:

-single TrackID : extracts track in a new MP4 with a single track.

Я взял случайный MP4 и извлек аудио, используя эти два варианта. Затем я использовал Media Info для их проверки. Исходный вариант вывода имел формат файла ADTS, тогда как единственным выходным параметром был MPEG-4.

Кажется, что -raw создает файл транспортного потока, который не поддерживает метаданные, такие как теги. Когда я использую приложение Tagger, оно даже не видит выходной файл -raw, тогда как позволяет открывать вывод -single и редактировать для него теги.

https://gpac.wp.mines-telecom.fr/mp4box/mp4box-documentation/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .