音频流服务器

时间:2013-03-17 11:24:32

标签: web-services audio streaming media audio-streaming

我是一名php开发人员,正在尝试开发一个网站,以便向用户传播点播音乐。 经过大量的谷歌搜索后,我对我应该使用哪种服务器或工具感到困惑?我见过一些像WOWZA或SHOUTCAST,但我不知道哪一个最符合我的需求。

我想提供高质量的音频文件。所以也许我应该使用320kbps的mp3格式或其他东西,但质量相同。

我不需要直播。我只需要按需流式传输音乐文件以及用户创建他/她自己的播放列表的能力。

用户无法下载音乐文件。

1 个答案:

答案 0 :(得分:7)

Icecast / SHOUTcast不适合您的使用。它们采用单个流并同时将其发送到多个连接。它们不是“按需”服务器,每个用户都可以收听单独的内容。

对于您的用例,您可以在PHP中实现某些功能。您所做的只是将媒体文件发送到客户端。你提到你想让客户端不要下载这些文件......这是不可能的。如果客户端可以播放它,客户端可以保存它,并且没有办法解决这个问题。但是,有些事情可以阻止它像链接到文件一样简单。

请勿将音频存储在Web服务器的文档根目录中。所有媒体文件只能从PHP脚本中提供。这使您可以控制进入的请求。查看readfile()。这也让您可以轻松地从磁盘上加载文件(当您开始增长超过100k的媒体文件时,您将需要这些文件)。

媒体文件的网址只能运行一次,并且对于特定的用户会话ID。即时生成这些URL,并对其进行时间限制。如果您网站上没有有效会话的人请求媒体文件的URL,请不要提供。如果链接已过期,请不要提供。这是阻止某人获取URL并将其发布到某个留言板上的原因。只有具有当前有效会话的站点的有效用户才能访问您的媒体文件。

速率限制请求。不允许用户能够一次下载更多文件。如果他们在1秒内请求100个文件,请不要为它们提供服务。

我留给您的是实现所有这些概念。您如何这样做取决于您的需求,而不是通常在5行代码片段中完成的事情。