监听OPUS编码流

Tom*_*wor 6 java audio-streaming opus

目前,我正在开发一个应用程序,该应用程序获取音频流(原始编码字节)并对其应用一些转换(重新采样、将立体声转换为单声道等)。我已经使用 opus 编解码器实现了对原始字节的编码,JNI但我有一个小问题:

有没有办法收听保存到文件中的 opus 编码流?我知道,如果我添加一些文件头并执行一些附加操作,我应该能够将其保存为 OGG 文件,但我不想浪费时间实现功能只是为了在测试中收听音频。

理想情况下,我想找到一个能够播放此类流的工具,就像 audacity 正在播放的那样RAW(当然在添加编码参数之后)。

谢谢。

Nar*_*mar 3

您是否尝试过 OPUS 工具包中的 opusdec 实用程序?

该实用程序应该允许您获取 opus 流并将其作为 PCM 编码的 wav 文件播放,您应该能够通过管道传输到命令行 .wav 播放器并收听它。不需要任何实现,只需通过 Runtime.Exec() 执行一个 shell 命令,应该可以做到

例如对于安装了pulseaudio的系统

yourstream.opus | padsp opusdec -
Run Code Online (Sandbox Code Playgroud)

如果没有pulseaudio,任何wav播放器都可以使用wav流输出并播放它。例如

opusdec --force-wav yourinput.opus - | <YOUR WAV Stream Accepting Player>
Run Code Online (Sandbox Code Playgroud)