我目前正在开发一个使用 HTML5 音频的项目,但我们遇到了 iOS 设备的限制问题(主要是多音频通道限制)。
我在想也许可以使用 node.js 来控制服务器端的声音。客户端将连接到单个音频 url,节点服务器将通过该单个通道流式传输实时声音,在服务器上进行所有混合和转换。
技术上可行吗?你能在 node.js 上解析音频并做一些现场混音吗?你认为服务器会随着超过 5 个同时客户端而爆炸吗?
谢谢
我目前正在开发一个使用 HTML5 音频的项目,但我们遇到了 iOS 设备的限制问题(主要是多音频通道限制)。
我在想也许可以使用 node.js 来控制服务器端的声音。客户端将连接到单个音频 url,节点服务器将通过该单个通道流式传输实时声音,在服务器上进行所有混合和转换。
技术上可行吗?你能在 node.js 上解析音频并做一些现场混音吗?你认为服务器会随着超过 5 个同时客户端而爆炸吗?
谢谢
是的,这是完全可能的,但正如 Sam 指出的那样,缓冲是一个问题。在以下几点上会出现明显的延迟:
把这一切加起来,即使你让它工作得很快,你仍然会看到几秒钟的延迟。
如果您决定走这条路,您将需要一个外部应用程序(或编写您自己的 Node 扩展)来为您进行混合和编码。Sox 可能是一个不错的选择,FFMPEG 包含许多编解码器供您使用。您可以通过 STDIO 使用两者。
关于服务器负载......这不是一种轻量级的过程,但您必须对其进行分析以查看它到底有多糟糕。我建议您在尝试这样的事情之前尝试在客户端一次播放多个音频流。
请参考此链接。它按预期工作,但问题是客户端控制 NodeJS Streaming for Audio/Video with Client Side Control
https://stackoverflow.com/questions/32012695/nodejs-streaming-for-audio-video-with-client-side-control