file -i возвращает неправильный тип mime для mp3 с интегрированным изображением-миниатюрой

file -i возвращает неправильный тип mime для mp3 с интегрированным изображением-миниатюрой

Если я войду

$ file -i music.mp3

он возвращает music.mp3: application/octet-stream; charset=binary

Если я удалю все теги и изображения в этом файле, он правильно распознает тип MIME.

music.mp3: аудио/mpeg; кодировка=двоичная

Есть ли обходной путь или исправление ошибки? Можно ли получить правильные данные, не изменяя mp3-файл?

$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic

решение1

У меня была та же проблема с той же версией fileна Ubuntu 10.04. Я изменил /etc/magicи смог заставить MIME-тип моих MP3 отображаться как audio/mpeg. Вот строки, которые я добавил:

# MPEG Layer 3 sound files
0       beshort     &0xffe0     audio/mpeg
!:mime  audio/mpeg
#MP3 with ID3 tag
0       string      ID3     audio/mpeg
!:mime  audio/mpeg

Взято изhttp://www.opensource.apple.com/source/file/file-23/file/magic/magic.mime

У меня нет большого опыта редактирования этих «волшебных» директив, поэтому я не могу ручаться за их эффективность и безопасность.

решение2

Вы можете добавлять свои правила в /etc/magicи /etc/magic.mime. Смотретьman 5 magicи содержимое /usr/share/misc/magic(или подобное) для вдохновения.

Связанный контент