如何在不下载的情况下确定.mp3比特率?

时间:2012-01-28 15:39:52

标签: mp3

我在网上有一个.mp3文件列表,我想获得最高质量的文件。 多媒体文件的质量等于它们的比特率。

比特率本身应该在文件的标题中找到。如果不是,也可以使用音轨的长度。 (文件大小/跟踪长度=比特率)

如果我在本地拥有这些文件,这些事情会很容易,但我想通过HTTP获取此信息并确定哪个文件具有最高质量。

我可以从HTTP标头中获取音轨的长度吗?如果没有,是否可以仅获取描述长度/比特率的位而不是下载整个文件?

我在python中编写代码,但问题很普遍,所以我没有将它标记为python问题。

1 个答案:

答案 0 :(得分:2)

假设远程服务器运行良好,您可以向该文件发出HEAD请求并检查Content-Length header field的内容。它不会为您提供跟踪长度或比特率,但您可以获得文件的大小。

编辑:MP3由多个帧组成,每个帧可以具有不同的比特率(VBR)。轨道长度是根据每个帧的比特率计算的,而不是存储的长度本身。如果你想要可靠的比特率,你需要两个获取整个文件并获得每个帧的比特率。有可能抓取文件的前几KB并从第一帧读取比特率,但这并不总是在文件中的同一点(例如,由于ID3标记的位置等)。