audio - 在 Ogg/Opus 上寻找

标签 audio encoding streaming ogg opus

我有 ogg-opus 音频文件,每个文件包含单个轨道(单声道)和固定采样率(16kHz)。我正在尝试对它们进行流式传输搜索。例如,我想知道部分下载文件(使用 HTTP Range)的字节偏移量并仅播放前 10 秒,或者说从第 10 秒到第 15 秒。也就是说,我需要获取任何给定的字节偏移量时间位置。

在这种情况下,有没有办法在不加载/解码整个文件的情况下做到这一点?

最佳答案

我不相信有一种确切的方法可以确定特定时间所需的确切字节偏移量,但是 libopus.op_pcm_seek()一旦你有了字节就可以用于解码。在 Opus 文件的不同比特率、页面大小和数据包持续时间之间,似乎需要一些猜测和动态计算。我正在尝试做同样的事情,有些人要求我在 OpusStreamDecoder 中实现它。你可以看看它的底层opus_chunkdecoder.c以及具体的功能请求,概述了如何实现这一点:

https://github.com/AnthumChris/opus-stream-decoder/issues/1

关于audio - 在 Ogg/Opus 上寻找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873339/

相关文章:

audio - 修改一些代码以将ffmpeg/concat不同的音频格式转换为1个长WAV文件

c# - 使用音频图,在UWP App中了解环境噪声和过滤器

iphone - AUMixer之后的RemoteIO回调

javascript - 将 UTF-8 编码的 JSON 从 DB 解析为 JS

string - VB6从文件中读取UTF-8字符串并用它来查询MSAccess数据库

python - 如何使用 Streaming API 通过 Twitter 跟踪 400 个关键字?

actionscript-3 - Adobe AIR 应用程序音频

iphone - AVAudioPlayer如何反转播放?

python - 如何找出内部字符串编码?

ffmpeg - 使用 FFMPEG 的 RTP 流式传输