在网络上流式传输自适应音频(低延迟)

时间:2015-05-16 08:07:54

标签: html5 audio tcp udp web-audio

我正在尝试为网络实施流式音频解决方案。我的要求是这些:

  • 相对较低的延迟(不超过2秒)。
  • 以压缩格式(Ogg Vorbis / MP3)进行流式传输以节省带宽。
  • 流是即时生成的,对每个客户端都是唯一的。

为了澄清最后一点,我的情况不符合在某处生成流然后使用Shoutcast之类的东西向客户端广播的通常模式。流是动态的,将根据客户端输入进行调整,我使用常规的http请求分别处理客户端输入到同一服务器。

最初我将流式Vorbis / MP3视为与html5音频标签一起使用的http块,但经过一些研究后我发现很多人都认为音频标签具有相当高的延迟,这使得该项目失去了资格。

我也研究了Emscripten,它允许我使用SDL2播放音频,但是在浏览器中解码Vorbis和MP3的前景并不太吸引人。

我希望用C ++实现服务器(可能使用boost.asio的异步工具),并在浏览器中播放尽可能小的代码库(浏览器越隐含越好)。任何人都可以推荐一个解决方案吗?

P.S。如果没有准备好使用适合账单的库,我在C ++中从头开始实现流协议支持没有问题。

1 个答案:

答案 0 :(得分:0)

您应该查看Media Source Extension。

简介:http://en.wikipedia.org/wiki/Media_Source_Extensions 规格:https://w3c.github.io/media-source/