有没有一种方法可以流式传输加密的多媒体并播放?

时间:2018-10-12 09:41:58

标签: encryption streaming multimedia

是否有流式传输加密的多媒体并播放的方法?
不加密流,但先加密,然后流。
例如:
  1.加密视频。
  2.将加密的视频上传到服务器。
  3.将加密的视频流式传输到客户端。
  4.下载时播放视频。

我应该使用哪种加密方法,下载时如何解密?

3 个答案:

答案 0 :(得分:2)

正如@ gusto2所说,您绝对可以做到这一点。

您确实需要确保有某种方法可以将内容与传递给客户端的解密密钥链接起来,并且通常需要确保传递密钥的机制本身是安全的,因此密钥不能简单地阅读并共享。

将加密密钥从服务器安全地传递到客户端是DRM系统的关键功能之一-连同设备中的安全媒体路径一起,这是当今大多数OTT内容加密系统的基础。安全媒体路径旨在确保除了安全显示功能外,其他任何内容都无法看到解密的内容-其他应用程序甚至设备上的OS都无法读取未加密的媒体。

看您的问题,一点可以帮助您理解-视频是按块加密的,可以逐一解密,这样您不必先拥有整个视频即可解密。实际上,整个视频通常都没有加密,元数据和标头信息以及一些视频本身都是清晰的,但是经过充分加密后才能防止有用的播放。

要使用哪种加密系统的问题的答案通常由您要在使用DRM的情况下要播放的设备或浏览器决定-例如,当前图片为:

  • Safari-FairPlay
  • Chrome-Widevine
  • Internet Explorer-Playready
  • Firefox-Widevine
  • Android应用-Widevine
  • iOS应用-FairPlay

如果您准备接受较低级别的安全性,并且还避免了不必使用/支付标准DRM的一种,则可以查看HLS / AES和DASH clearkey。这些不能保护钥匙,但是您可能会发现它们足够满足您的需求,并且可以让您更轻松地使用钥匙。此处更多信息:https://stackoverflow.com/a/45103073/334402

答案 1 :(得分:1)

尚不清楚您真正需要什么,因此我将尽力回答您的问题,但您应该尝试更具体

  

不加密流,而是先加密,然后流

从客户端无关紧要,无论哪种情况,客户端都会收到加密的流

  

我应该使用哪种加密方法

有效地使用任何当前密码将确保良好的机密性

  

下载时如何解密?

可以对数据进行解密,因此您可以解密流并将数据作为流传递给播放器。

在没有更接近用例的情况下,您可能不会得到更好的答案

现在的问题是,为什么要这么做。谈到机密性,TLS / SSL已经提供了加密通道。

通常会进行这种类型的媒体加密,以防止用户直接下载和共享内容。但是,要播放内容,客户端需要对媒体进行解密,因此最终并不能总是帮助专用用户

答案 2 :(得分:0)

您可以使用HLS AES-128位加密流,使用加密密钥来做到这一点,该密钥会随播放列表一起返回播放器,并且不会立即进行加密。

您可以使用videojs播放此加密的hls流。

这正是我在https://S3MediaVault.com

上使用插件所做的事情

-拉维·贾亚戈帕尔(Ravi Jayagopal)