【问题标题】:Download last 30 seconds of an mp3下载 mp3 的最后 30 秒
【发布时间】:2012-03-03 16:47:21
【问题描述】:

是否可以只下载 mp3 的最后 30 秒?还是有必要下载整个内容并在事后进行裁剪?我将通过 http 下载,即我有文件的 URL,但就是这样。

【问题讨论】:

标签: audio download mp3


【解决方案1】:

不,这是不可能的……至少在不知道更多信息的情况下是不可能的。

这里真正的问题是确定最后 30 秒的字节偏移量是多少。这是认识的产物:

  • 采样率
  • 位深度(每个样本)
  • 频道数
  • CBR 或 VBR
  • 比特率

即使那样,您也不会使用 VBR MP3 文件,甚至使用 CBR,谁知道文件开头的 ID3 和其他废话有多大。即使您知道所有这些,仍然存在一些可变性,因为您遇到了位储存器的问题。

知道的唯一方法是下载整个文件并使用诸如 FFMPEG 之类的工具来找出正确的偏移量。然后,如果您想播放它,您需要添加适当的标题,并确保您在符合条件的帧上进行修剪,或者自己修复位库。

现在,如果这一切都可以在服务器端提前计算出来,那么是的,您可以从服务器请求偏移量,然后从那里下载。至于如何下载它,你的问题很不完整,没有提到你使用的是什么协议,所以我无法帮助你。

【讨论】:

  • 如果我不需要正好 30 秒,有可能吗?说 20-40 之间的任何地方都可以。
  • @Wiscocrew,不是真的,除非你想要从 5:00 到 05 的任何时间。您可以尝试从文件中获取最后 x 个字节。首先,做一个 HEAD 请求来计算文件的长度,然后选择最后的 700KB 左右。不过,这又是如此多变,你可能会得到任何东西。
猜你喜欢
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2022-01-08
  • 2017-03-31
  • 1970-01-01
相关资源
最近更新 更多