作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在网上有一个 .mp3 文件列表,我想获得最高质量的文件。
多媒体文件的质量等于它们的比特率。
比特率本身应该可以在文件的标题中找到。如果没有,也可以使用音轨的长度。 (文件大小/轨道长度=比特率)
如果我在本地拥有这些文件,这些事情会很容易,但我想通过 HTTP 获取这些信息并确定哪个文件的质量最高。
我可以从 HTTP header 中获取音轨的长度吗?如果没有,是否可以只获取描述长度/比特率的位而不是下载整个文件?
我正在用 python 编写代码,但问题很笼统,所以我没有将其标记为 python 问题。
最佳答案
假设远程服务器运行良好,您可以发出 HEAD
请求文件并检查 Content-Length
header field 的内容.它不会为您提供轨道长度或比特率,但您可以获得文件的大小。
编辑 :MP3 由多个帧组成,每个帧可以具有不同的比特率 (VBR)。轨道长度是根据这些帧中的每一个的比特率计算的,而不是存储的长度本身。如果您想要可靠的比特率,则需要两个获取整个文件并获取每个帧的比特率。可以抓取文件的前几 KB 并从第一帧读取比特率,但这并不总是在文件中的同一点(例如,由于 ID3 标签的位置等)。
关于mp3 - 如何在不下载的情况下确定 .mp3 比特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046492/
我是一名优秀的程序员,十分优秀!