音频流服务器

Ehs*_*san 2 media audio streaming web-services audio-streaming

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

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

我不需要直播.我只需要音乐文件的按需流媒体和用户创建他/她自己的播放列表的能力.

用户不应该能够下载音乐文件.

Bra*_*rad 8

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

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

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

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

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

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