将音频从浏览器流式传输到具有特定 MIME 类型的 node.js 服务器

Streaming audio from the browser to a node.js server with a specific MIME type

我需要: 以 WAV 格式将实时音频从浏览器流式传输到 node.js 服务器。

听起来很简单 - 问题: 使用 getUserMedia 可以得到 audio/webm 格式的音频流。 node.js 服务器连接到语音到文本引擎 (deepspeech),它只能处理 WAV 格式的流。

已经有效的: 我已经可以录制固定长度的 WAV 音频 blob(通过 RecorderJs) and send that finished recording to the node.js server and get its stream from readFileSync server side. Repository here(仅适用于 master 工作)。但我没有固定的录音了,想连续直播该音频。

截至目前,我不确定这是否在 node.js 或任何现有库的可能性范围内。我研究了 ffmpeg,但没有找到一种方法来更改流的编码。我只能用 ffmpeg 更改固定 file/blob 的编码。

如果有人能引导我走向正确的方向,我将不胜感激,这样我就知道从哪里开始了。

FFmpeg 是正确的选择。

I've looked into ffmpeg, but didn't find a way to change the encoding of a stream with that.

输入文件使用-,输出文件使用-。然后在您的 Node.js 子进程上使用 STDIN/STDOUT 流。