【发布时间】:2015-07-28 04:37:33
【问题描述】:
我正在尝试为网络实现流式音频解决方案。我的要求是:
- 相对较低的延迟(不超过 2 秒)。
- 以压缩格式 (Ogg Vorbis/MP3) 流式传输以节省带宽。
- 流是动态生成的,并且对于每个客户端都是唯一的。
为了澄清最后一点,我的案例不符合在某处生成流然后使用 Shoutcast 之类的东西向客户端广播的通常模式。流是动态的,将根据我使用常规 http 请求单独处理的客户端输入进行调整。
最初,我将流式 Vorbis/MP3 视为与 html5 音频标签一起使用的 http 块,但经过更多研究后,我发现很多人说音频标签具有相当高的延迟,这使其不符合该项目的资格。
我还研究了 Emscripten,它允许我使用 SDL2 播放音频,但在浏览器中解码 Vorbis 和 MP3 的前景并不太吸引人。
我希望在 C++ 中实现服务器(可能使用 boost.asio 的异步工具),并在浏览器中播放尽可能小的代码库(浏览器隐式执行的越多越好)。谁能推荐一个解决方案?
附:如果没有现成可用的库,我可以毫无问题地在 C++ 中从头开始实现流协议支持。
【问题讨论】:
标签: html audio tcp udp web-audio-api