我在CDN上有一堆音频文件。那些是mp3和ogg vorbises,并行。这些文件每个值约一小时播放。我需要从这些文件中提取任意部分:我给了一个文件名(我可以选择使用mp3或ogg版本)和两个时间戳,我需要在给定时间位置之间准确的音频。我不想下载整个文件,所以我想使用Range http标头。
我完全控制了音频文件,因此我以固定的比特率对它们进行编码,以便能够估算出应该达到的字节数。但是,这两种格式都使用框架(或者vorbis的情况下的页面),必须以原子方式解码。
我写的程序是在Perl中。我尝试下载文件的一部分,我相信要包含的给定窗口,然后使用Audio :: Mad和Ogg :: Vorbis :: Decoder来解析音频文件片段。但是,两者似乎都无法处理片段,只有在我提供整数文件时才会成功。
所以我的问题是:如何在不下载整个内容的情况下获得音频文件的精确范围?
答案 0 :(得分:0)
回答“从mp3 / ogg切割确切的时间范围” - 您可以查看以下内容是否符合您的需求:
ffmpeg -i InFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 -threads 0 OutFile
其中ss - 开始时间,t - 持续时间。它确实减少了 - 没有重新压缩。