首页 > 解决方案 > 网络音频直播

问题描述

有一个音频流从移动设备发送到服务器。服务器将数据块(由于网络套接字)发送到网络。问题是。在现场模式下使用什么来播放此音频,也应该有可能将音频倒回,听以前的内容......然后再次切换到现场模式。

我考虑了 Media Source API 这样的可能性,但 Safari 和 Chrome 在 IOS 上不支持,不是吗?但我们需要这种支持。

此外,还有现代浏览器支持的 Web Audio API,但我不确定是否可以在实时模式下收听音频并将音频倒回?

关于如何实施它的任何想法或指南?

标签: audiostreamingaudio-streamingweb-audio-apimedia-source

解决方案


我考虑了 Media Source API 这样的可能性,但 Safari 和 Chrome 在 IOS 上不支持,不是吗?但我们需要这种支持。

然后,您不能使用 MediaSource 扩展。感谢苹果!

服务器将数据块(由于网络套接字)发送到网络。

如果没有 MediaSource Extensions,您将无法使用来自 Web 套接字连接的数据。(除非它是 PCM,或者您正在将其解码为 PCM,在这种情况下您可以使用 Web Audio API,但这完全不切实际、效率低下,也不应该追求。)

你必须改变你的流媒体方式。你有几个选择:

最佳选择:HLS

如果您切换到 HLS,您将获得所需的兼容性,以及及时返回的能力等等。这是你应该做的。

平庸的选项:HTTP 渐进式

对于大多数用例来说,这是一种很好的流式传输方式,但没有任何内置方式来处理您想要的流式搜索。您必须构建它,这不值得您花时间,因为您可以只使用 HLS。

更平庸的选择:WebRTC

您可以切换到 WebRTC 进行流式传输,但是您大大增加了基础架构成本和复杂性。而且,你仍然需要弄清楚你将如何处理寻找。您想要走 WebRTC 路线的唯一原因是您绝对需要最低延迟。


推荐阅读