[英]Broadcast Live Streaming Audio Server using Node.js
这正是 SHOUTcast/Icecast 和兼容服务器所做的。 您基本上只需要将音频数据复制到每个客户端。
您可以使用普通的 HTTP 作为流协议。 客户不需要知道或关心他们正在直播。 一个简单的音频元素可以工作:
<audio src="https://stream.example.com/some-stream" preload="none" controls></audio>
在服务器端,您确实需要确保发送的 stream 以这样一种方式对齐,即客户端可以直接拿起并播放它。 好消息是,对于原始 MP3 和 ADTS(通常包装 AAC)流,它们播放所需的所有数据都在每一帧中,因此您可以从任意 position 中“针落”,stream,客户端将计算出来。
在您的 Node.js 应用程序中,它看起来有点像这样:
Input Stream -> Buffer(s) -> Clients HTTP Responses
事实上,如果你愿意,你甚至可以删除缓冲区部分。 当数据来自编解码器时,您可以将其写入所有客户端。 缓冲区对于确保快速开始播放很有用。 大多数客户端将需要一些缓冲数据来嗅探 stream 类型和兼容性,以及填充自己的播放缓冲区以实现流畅的流式传输。
这就是它的全部!
我正在寻找这个,虽然我想将我的节点服务器部署到 firebase。 你过得怎么样??
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.