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

标签 mp3 bitrate

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

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

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

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

我正在用 python 编写代码,但问题很笼统,所以我没有将其标记为 python 问题。

最佳答案

假设远程服务器运行良好,您可以发出 HEAD请求文件并检查 Content-Length header field 的内容.它不会为您提供轨道长度或比特率,但您可以获得文件的大小。
编辑 :MP3 由多个帧组成,每个帧可以具有不同的比特率 (VBR)。轨道长度是根据这些帧中的每一个的比特率计算的,而不是存储的长度本身。如果您想要可靠的比特率,则需要两个获取整个文件并获取每个帧的比特率。可以抓取文件的前几 KB 并从第一帧读取比特率,但这并不总是在文件中的同一点(例如,由于 ID3 标签的位置等)。

关于mp3 - 如何在不下载的情况下确定 .mp3 比特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046492/

相关文章:

python - 如何使用OpenCV Python库更改视频的比特率

FFmpeg - dnxhd 比特率不会占用

java - Android 播放外部 MP3 : error -- MediaPlayer start called in state 1

Android 仅显示带有 ACTION_GET_CONTENT 的 mp3

java - 如何在 android 中创建持续时间为 'x' 秒的无声 Mp3 文件

c# - 将 byte[] 写成 mp3 文件

java - 将 mp3 导入 android eclipse 失败

video - FFMPEG:视频比特率的动态变化

c++ - 如何计算每分钟 MP4 文件(MPEG4,H.264)的大小?