我需要通过互联网从Windows 2008 R2 / IIS 7网络服务器向几乎200个客户端排队几个“频道”(通过我正在考虑无线电频道的频道,因此播放列表可能更合适)排队的MP3文件。不需要加密流。
我需要一些方法来确保每个客户端一次只能流式传输一个频道。我正在考虑通过IP地址进行限制,并欢迎任何有关我如何解决这个问题的建议,或者是否有更好的方法。
对于我的客户,我认为我需要一个可以帮助“登录”的客户端播放器。理想情况下,我将能够流式传输到Windows XP / 7/8,Mac和Android客户端。
我需要能够远程登录并从Web服务器上托管的有限MP3文件列表中控制每个频道/播放列表。
我想知道是否有任何我可以使用的现成产品。如果没有,我会坚持最好的方法来解决这个问题。
我已经简要介绍了shoutcast,auto dj,streamcast和ice cast,但我对这些解决方案没有任何经验,也无法找到有关如何实现我的安全要求的任何信息(限制每个客户端/ IP地址访问一个流。)
答案 0 :(得分:1)
IP地址不能唯一标识用户。 NAT有很多种情况可以发挥作用,你可以让数百名用户都在同一个公共IP地址之后。
您需要做的是另一种识别用户的方法。假设您不想要帐户,可以使用会话ID。
基本上,您将带有cookie的ID分配给浏览器。当用户单击链接以启动其音频播放器时,会话ID将通过URL传递到流。使用此方法,使用浏览器本身或单独的音频播放器来播放流并不重要。然后由流服务器接受或拒绝该请求。
通常接受任何新请求并在新流启动时断开旧请求。 Icecast本身不支持这种事情,但它确实提供了一个API of sorts with the admin interface,您可以使用自己的脚本来获取此行为。
或者,我编写了一个名为AudioPump的服务器,它提供了类似的功能。目前尚未提供,但如果您有兴趣,请通过brad@audiopump.co与我联系。