使用HTML5标记将实时PCM流式传输到Web浏览器

时间:2012-07-19 00:16:50

标签: cgi fastcgi audio-streaming pcm lame

我目前有一个应用程序通过UDP从远程源接收实时原始PCM数据。我想通过一个简单,直接的HTML5标签将其流式传输到Web浏览器。在研究这个项目的过程中,我偶然遇到过IceCast,我可以将其配置为接收原始PCM并提供MPEG音频流,从而满足我的需求。然而,对于IceCast来说,这可能会或可能不会有用,但我想实现我自己的自定义解决方案。

因此,用更具体的术语来表达这个问题,解决这个问题就像LAME一样简单,当原始PCM数据到达并通过HTTP传递它时对其进行编码?我认为这是一个CGI / FastCGI应用程序,但我绝不会坚持这种形式的解决方案。 IceCast幕后还有其他魔法吗?最后,进行健全性检查:没有特别的“流/文件头”,我需要先发送,对吗?

2 个答案:

答案 0 :(得分:1)

不需要任何额外的标头。但是,Icecast正在做的主要额外事情是CGI / FCGI应用程序无法做到(至少不是很好)将流分发给多个并发侦听器。这部分做得很好很棘手;除非有令人信服的理由避免使用Icecast,否则我建议你使用Icecast。

答案 1 :(得分:0)

是的,您可以使用ogg进行流媒体播放。它创建页面,这允许流YET仍然使用文件容器。 但这又意味着firefox和chrome。实际上有一个音频api javascript。如果您在客户端请求块和缓冲区中的pcm数据并将其提供给音频api,它可以做到这一点。该api用于客户端的音频处理。再一次期待超级惊人的速度。 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

相关问题