【问题标题】:audio streaming server音频流服务器
【发布时间】:2013-03-05 19:25:09
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你能澄清你的问题吗?您到底在寻找什么?
  • 我想知道这些服务器中的哪一个(wowza、shoutcast、icecast 等)是满足我需求的最佳解决方案。谢谢。
  • Wowza 非常灵活。我不明白它怎么能胜任这项任务。 Shoutcast/icecast 旨在将单个同步流复制给许多用户,所以我认为这不取决于您的任务,但也许它比我意识到的更灵活。最终,您将无法下载流,因为他们必须下载它才能播放它,但下载可播放的 icecast/shoutcast 流几乎是微不足道的,您可以使用 wowza 流做更多事情使其更难访问。
  • 感谢您的评论。这真的很有帮助。

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


【解决方案1】:

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

对于您的用例,您可以在 PHP 中实现一些东西。您真正要做的就是向客户端发送媒体文件。您提到您希望阻止客户端下载这些文件......这是不可能的。如果客户端可以播放,客户端可以保存,没有办法解决。但是,您可以做一些事情来阻止它像链接到文件那样简单。

不要将您的音频存储在网络服务器的文档根目录中。所有媒体文件都应仅通过您的 PHP 脚本提供。这使您可以控制传入的请求。查看readfile()。这也使您可以轻松地摆脱从磁盘加载文件的简单方式(当您开始超过 100k 媒体文件时,您会需要这种方式)。

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

速率限制请求。不允许用户一次下载超出需要的文件。如果他们在 1 秒内请求 100 个文件,请不要为他们提供服务。

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

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多