我有opus音频文件,每个文件包含一个单一音轨(单声道)和固定采样率(16千赫)。我正在努力实现对他们的流媒体搜索。例如,我想知道字节偏移量来部分下载文件(带有HTTP范围),并且只播放前10秒,或者说从第二个10秒到第二个15秒,也就是说,我需要在任何给定的时间位置得到字节偏移量。
在这种情况下,有没有一种不加载/解码整个文件的方法?
发布于 2018-10-20 16:22:50
我不相信有一种精确的方法来确定特定时间所需的确切字节偏移量,但是一旦有了字节,libopus.op_pcm_seek()就可以用于解码。在Opus文件的不同比特率、页面大小和数据包持续时间之间,似乎需要进行一些猜测和动态计算。我正在尝试做同样的事情,一些人要求我在OpusStreamDecoder中实现它。您可以查看它的底层opus_chunkdecoder.c和特定的特性请求,其中概述了如何实现这一点:
https://stackoverflow.com/questions/52873339
复制相似问题