如何流式传输音频文件而无法下载并隐藏原始文件名/地址?

时间:2015-03-18 08:44:55

标签: audio audio-streaming

我需要从我的服务器流式传输音频文件,但我不想这样:

  • 用户的PC上的内容是“ savable ”(我的意思是用户不应该 下载文件并将其保存在他的PC上,由于版权问题)

  • 地址&原始文件的名称,不应透露。

我尝试了这里提出的有趣解决方案:

Streaming an MP3 on stdout to Jplayer using PHP

我使用建议的代码创建了一个名为 music.php 的文件。

在调用脚本music.php之后,从任何浏览器的URL栏调用它,就会出现多媒体阅读器。该剧开场非常好。

然后右键单击 另存为... 并保存名为music.php的文件

但是这个文件的内容是音频文件本身。因此,只需将其重命名为 music.mp3 ,然后我下载了原始的MP3: - /这就是我不希望它发生的事情。

拜托,你有什么建议吗?

非常感谢你

1 个答案:

答案 0 :(得分:0)

  

但我不想那样:内容是"可爱的"在用户的PC上

这是不可能的。如果你可以播放它,你可以录制并保存它。

  

地址&原始文件的名称,不应透露

为什么呢?如果您提供下载文件的脚本,那么您可以轻松下载。如果您的目的是阻止人们直接链接到文件,那么您可以检查Referer标头以确保请求来自您的网站。但是,任何人都可以通过不发送标题来下载文件。

您还可以考虑Amazon S3的签名网址的工作原理。 HMAC用于创建在一段时间后过期的签名URL。 URL可以工作,但前提是应用程序授予用户访问权限,并且只有几分钟或您指定的任何内容。在您的情况下,如果您只允许已登录的用户获取您的音乐,简单的会话数据可能会有所帮助。您的问题并不能完全说明您尝试做的事情,因此您的案例中有效的方法取决于您。

  

但是这个文件的内容是音频文件本身。因此,只需将其重命名为music.mp3,我就下载了原始的MP3: - /这是我不想要的。

同样,这不是你可以阻止的事情。即使您不顾自己的方式编写自己的流媒体方法并使用Web Audio API或其他任何方式来播放它,捕获数据甚至以数字方式记录音频仍然是微不足道的。