如何将webm文件解码为原始pcm?

问题描述 投票:0回答:1

整个过程如下。客户端以某种格式(webm或wav)记录语音持续一段时间(例如5秒钟)然后使用websocket将其发送到服务器。

服务器收到了几个数据包(每个数据包大小为4096字节),每个数据包都发送给opus解码器。但作品解码器返回无效的数据包错误。

服务器在ubuntu中使用c ++(使用libwebsocket和libopus库)进行编码。

有人可以帮我怎么做吗?一般程序或一些示例代码都可以很难找到信息或社区。

感谢

c++ voice webm opus
1个回答
0
投票

作品解码器可能期望使用Ogg作品容器文件。如果您使用的是WebM,则可以提取编码的音频页面,并将其传递给不依赖于Ogg容器的原始Opus解码器。您还可以看到ffmpeg项目如何将WebM Opus文件解码为PCM

客户端可以发送Ogg Opus文件而不是WebM Opus文件吗?有一个用C编写的基于块的解码器,可以非常快速地解码Ogg Opus文件。它用于WebAssembly,但是C代码不依赖于WASM。参见opus_chunk_decoder.c

https://github.com/AnthumChris/opus-stream-decoder/tree/master/src

© www.soinside.com 2019 - 2024. All rights reserved.