我对'流媒体网络应用程序如何运作'一点不感兴趣。最近我想构建类似于在线广播的东西,可以通过所有客户端执行直播,如音乐,语音等。我非常熟悉Java Spring MVC和Node.js。如果有一些资源使用上述技术,那么看看它是如何工作真的很有帮助。提前谢谢。
答案 0 :(得分:2)
有两篇关于它的好文章:
您可能还会发现此模块很有用:
答案 1 :(得分:0)
执行此操作的最佳方法是使用Node.js作为源应用程序,并将实际的流服务留给现有服务器。如果您可以通过编写源代码获得所需的所有灵活性,则没有理由在网络上重新发明流式传输。
流程将如下所示:
Your Radio Source App --> Icecast (or similar) --> Listeners
在您的应用内部:
Raw audio sources --> Codecs (MP3, AAC w/ADTS, etc.) --> Icecast Source Client
基本上,您需要使用您的用例所需的任何方法创建原始PCM音频流。从那里,您将该流发送到少数配置有不同比特率的编解码器。根据用户的带宽可用性和您喜欢的质量进行权衡,您使用的比特率和质量取决于您。这些天,我通常有64k流用于糟糕的移动连接,而256k流用于良好的连接。只要你在那里至少有一个128k的流,你就可以提供可接受的质量。
Icecast源客户端现在可以是一个简单的HTTP PUT。 old method非常相似......而不是PUT
,动词为SOURCE
。 (还有一些其他的细微差别,但这就是要点。)