从在线mp3文件中读取元数据

时间:2011-03-25 18:50:37

标签: python audio ffmpeg mp3 metadata

我想阅读一个在线MP3文件的mp3 bitrate,f.e。 this one,最好不要完全下载。

我已经能够发现ffmpeg允许人们这样做,例如。像这样:

ffmpeg -i http://physics.ujep.cz/~mmaly/mp3/Mozart/Mass_in_C_Minor_New_by_Levin/sbory_vyssi_kvalita/01_Kyrie.mp3

但我无法找到一种可移植的方式来做到这一点。 (pyffmpeg需要一个C编译器以及Cython,并且每次解析时都会向我抛出新的错误消息)

如果有人有任何提示/链接/知道从哪里获得进一步的想法,我将非常感激!

3 个答案:

答案 0 :(得分:0)

我认为id3标签存储在mp3文件的开头,您可能希望首先学习mp3文件格式,以便了解数据的存储方式。然后你开始下载文件,并在你有足够的数据来读取比特率时关闭连接。

以下是fileformat规范的链接:http://www.mpgedit.org/mpgedit/mpeg_format/MP3Format.html

您只需要下载前30位左右,然后解析出来。不太难。

答案 1 :(得分:0)

结果 - 如果你有轨道的长度 - 你可以像这样估计比特率:

u = urllib2.urlopen(url)

meta = u.info()
file_size = int(meta.getheaders('Content-Length')[0])

estimated_bitrate = file_size/length_secs/1000*8

在我使用mutagen之后进行检查

答案 2 :(得分:-2)

下载该文件并使用您喜欢的Python的id3绑定。