Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在不下载的情况下在网上播放音频文件?_Html_Audio_Drm_Ruby On Rails 6 - Fatal编程技术网

Html 如何在不下载的情况下在网上播放音频文件?

Html 如何在不下载的情况下在网上播放音频文件?,html,audio,drm,ruby-on-rails-6,Html,Audio,Drm,Ruby On Rails 6,在我的web(Rails)应用程序中,我想提供播放音乐文件的功能,我已经从他们的出版商那里获得了特殊许可,可以播放这些音乐文件,但只能从网站播放。是否有一种方法可以支持播放音乐文件,从而无法下载该文件 浏览器的HTML5音频播放器允许您下载正在播放的文件,因此我正在寻找一种不同的方法 我意识到用户可以通过将其系统音频重定向到文件或以其他方式录制它来规避任何限制,但是我仍然想阻止下载文件。如果浏览器或客户端可以在本地播放音频,那么它必须下载音频-可以做一些事情,例如混淆URL等,但这些通常很容易解

在我的web(Rails)应用程序中,我想提供播放音乐文件的功能,我已经从他们的出版商那里获得了特殊许可,可以播放这些音乐文件,但只能从网站播放。是否有一种方法可以支持播放音乐文件,从而无法下载该文件

浏览器的HTML5音频播放器允许您下载正在播放的文件,因此我正在寻找一种不同的方法


我意识到用户可以通过将其系统音频重定向到文件或以其他方式录制它来规避任何限制,但是我仍然想阻止下载文件。

如果浏览器或客户端可以在本地播放音频,那么它必须下载音频-可以做一些事情,例如混淆URL等,但这些通常很容易解决

通常的下一个防御措施是加密内容并安全地传递密钥,要么使用某种安全的专有方法,要么使用DRM系统

然而,对于音频,由于音频路径本身在播放音频时在设备中通常是不安全的,正如您所注意到的,您必须平衡努力/成本与这将给您带来的额外安全性

撰写本文时使用的主要商业DRM系统是谷歌的Widevine、苹果的FairPlay和微软的PlayReady。覆盖范围大致如下:

  • 安卓设备-Widevine
  • PC或MAC上的Chrome浏览器-Widevine
  • iOS设备-公平竞争
  • Safari浏览器-公平竞争
  • Internet Explorer浏览器,xBox-PlayReady
如您所见,要使用这些默认DRM获得广泛的覆盖,您通常需要多个DRM,并且通常会使用第三方多DRM服务

还有一些不太安全的DRM技术,它们不需要商业服务,通常以明文形式传输密钥,但可能满足您的需要。这些措施包括:

  • 带破折号的快捷键
  • 用HLS实现HLS-AES加密

您可以在这里看到一些示例:

您能详细介绍一下“DRM系统”吗?这听起来像是我要找的。然而,我读到,它看起来很难实现(例如,每个操作系统使用不同的工具,需要注册,等等)。是否有一个简单的DRM系统,或者由于需要做的事情的性质,复杂性是必要的?我不确定是否会有一个简单的DRM系统,或者一个完全满足您需求的免费DRM系统-我在上面添加了一些注释,可能会有所帮助。