file -i 对于带有集成图像缩略图的 mp3,返回错误的 mime 类型

file -i 对于带有集成图像缩略图的 mp3,返回错误的 mime 类型

如果我输入

$ file -i music.mp3

它返回 music.mp3:application/octet-stream; charset=binary

如果我清除此文件中的所有标签和图像,它可以正确识别 MIME 类型。

音乐.mp3:音频/mpeg;字符集=二进制

有没有什么解决方法或错误修复? 是否可以在不修改 mp3 文件的情况下获取正确的数据?

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

答案1

file我在 Ubuntu 10.04 上使用相同版本的 时遇到了同样的问题。我进行了修改/etc/magic,并能够使我的 MP3 的 MIME 类型显示为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以及(或类似)的内容以获得灵感。

相关内容