与加密流相比,DRM 的附加值是多少?

2023-12-24

这个问题是关于使用 MPEG-DASH 和/或 HLS 的视频流。我试图了解商业 DRM 系统(例如 EZDRM、BuyDRM 等)与简单的加密流媒体(例如 DRM)相比的附加值。 AES-128 加密的 HLS。我对商业口号有点迷失了。

因此,如果我有直播或 VOD 流,如果我“免费”使用 HLS,我可以轻松发送使用 AES-128 加密的流。在我看来,当我为 MPEG-DASH 流媒体设置付费 DRM 时,基本上会发生相同的事情,流会被加密,并且详细信息会以标准化方式 (CENC) 共享。

因此,在这两种情况下,在播放器方面,我所需要的只是解密密钥。单独从任何网络服务获取该密钥应该不是什么大问题。这就是全部..?

基于此,实现一些自定义密钥提供商服务将非常简单,但显然市场是由大型提供商拥有的,所以我在这里必须遗漏一些重要的方面。

(澄清一下:我并不是在谈论 DRM 中的所有内容,只是当我有一些直播或点播视频以及提供这些内容的网站时的情况)

任何帮助和良好的综合文章链接将不胜感激。


这是一个有效的观点。但还是有不少差异,尽管乍一看并不完全明显:

  • “真正的”DRM 系统不仅仅像 AES-128 HLS 那样提供内容解密密钥。他们提供通常所说的licenses,这又包含一组使用权,例如到期日(对于租赁有用),或者通过 HDMI 播放的能力,或者对允许观看的最大分辨率的限制,等等。
  • 真正的 DRM 系统通常允许许可证离线存储,这对于离线播放也可以进行的情况或必须维护状态的在线情况(例如租赁,如果您在单独的观看会话中播放电影)非常有用。
  • 真正的 DRM 系统需要个性化,这意味着本地许可证数据库以加密方式绑定到创建它的设备。这是为了防止用户 A 合法获得内容 X 的有效使用许可证,然后将许可证数据库发布到 BitTorrent 上供所有人使用。用户 A 可以执行此操作,但其他人无法使用该数据库。
  • 真正的 DRM 系统允许撤销,这意味着 - 由于每个设备都有一个加密的唯一身份 - 如果一个设备(或更可能是其中的一类)被检测到是恶意的,那么它可以被标记为无法获得未来的许可证。
  • 许可证是signed,这意味着人们无法在通过 HTTP 传输时对其进行篡改,以便可能延长租用期限或允许在最初不允许的地方进行 HDMI 播放。

还有更多...此外,以上是大多数商业 DRM 系统的共同点,但如果您查看各个系统(PlayReady、Widevine、FairPlay...),您会发现它们还具有几个单独的特征,它们彼此之间以及与普通 AES-128 HLS 的区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与加密流相比,DRM 的附加值是多少? 的相关文章

  • 将输入流式传输到 System.Speech.Recognition.SpeechRecognitionEngine

    我正在尝试从 TCP 套接字在 C 中进行 流式 语音识别 我遇到的问题是 SpeechRecognitionEngine SetInputToAudioStream 似乎需要一个可以查找的定义长度的流 现在 我能想到的实现这项工作的唯一方
  • 在Android上播放音频RTMP流

    有没有人在 Android 上成功播放音频 RTMP 流http code google com p android rtmp client http code google com p android rtmp client或知道任何其他
  • VideoView 对于 HLS 来说太早触发 OnPreparedListener

    我想在用户等待 VideoView 开始播放 HLS 时向用户显示一些 ProgressDialog 我尝试为此使用 OnPreparedListener 但他提前触发 在玩家下载 m3u8 文件之后 而不是在视频开始时 VideoView
  • 在 JavaScript 中播放流音频

    我目前正在使用node lame对原始 PCM 输入流进行编码 我在 Node JS 中有以下代码 可以成功输出二进制 MP3 块 server on request req res gt encoded pipe res 我尝试在前端界面
  • 使用 VLC 将文件流式传输为 RTSP

    我需要创建一个可以将 mp3 文件流式传输到另一个设备的服务器 我打算使用 VLC 我查看了 VLC 文档 并对执行此操作的前进方向感到困惑 我找到了这个链接 http www videolan org doc streaming howt
  • 如何在 android 中从 Http 或 RTSP Url 流式传输视频

    我想在 android 上播放 Http 和 Rtsp 的视频 目前我正在尝试使用 http 链接 但是当我的活动开始时 它只是开始播放带有空白黑屏的音频 没有视频显示 我在下面发布了我的代码 感谢您提前提供的任何帮助 如果有人可以提供一个
  • C# 中的 StreamReader 和缓冲区

    我对 StreamReader 的缓冲区使用有疑问 这里 http msdn microsoft com en us library system io streamreader aspx http msdn microsoft com e
  • 带有平滑流格式 SDK 的基于 IIS 的 HLS

    我正在尝试通过 IIS 运行 HLS 并且通过 Silverlight 进行平滑流处理工作正常 但 HLS 不行 我拥有的 新的实时平滑流媒体发布点启用了 HLS 支持 通过 Smooth Streaming Format SDK 连接 P
  • 使用视频视图的 Android 视频流(视频视图不会自动显示)

    我已成功使用视频视图从互联网流式传输视频 Uri uri Uri parse videoFileList 0 VideoView vv VideoView this findViewById R id vv vv setVisibility
  • HTML 5 视频流 .ism 文件?

    我有一个带有媒体服务 4 0 的 IIS 7 0 服务器设置 我创建了一个非常简单的 html 5 页面 其中包含video以其source指向一个 ism文件 是否可以使用 html 5 中的 ism 文件的清单来播放视频 就像在 sil
  • 将 DVB-T 流捕获到电影文件

    我有一张带有电视信号实时视图的表格 来自 DVB T 棒 我有来自的示例项目 DTViewer http directshownet sourceforge net about html http directshownet sourcef
  • 使用 FFMPEG 的 HLS FLAC 流

    我使用以下命令从 FLAC 文件创建了一个 HLS 流 并输出 FLAC ffmpeg i 10 brass in pocket flac map 0 a c a 0 flac f hls hls playlist type vod mas
  • 使用 ImageIO 发送图像流?

    我设置了一个 ServerSocket 和一个 Socket 因此 ServerSocket 使用 ImageIO write 发送图像流 并且 Socket 尝试读取它们并用它们更新 JFrame 所以我想知道 ImageIO 是否可以检
  • 使用 Servlet 启动 VLC HTTP Stream 时出现问题

    我正在为自己开发一个 VLC 项目 我的目标是创建一个 HTML 前端来启动流 我通过使用 Java Servlet 来完成此操作 概述 乌班图13 04 Java 7 21 冰茶 2 3 9 Eclipse JAVAEE IDE 雄猫7
  • 数据库镜像/Postgres流复制

    我不是 DBA 我是基于企业数据库的应用程序的主要开发人员 我目前正在指定一些新机器来升级我们现有的企业数据库 目前 我们在 DR 站点上运行带有数据库的 Postgres 8 4 该数据库通过前员工执行的一些自定义 rsync 工作定期接
  • 如何使用 Angular/Ionic/JS 显示 Motion JPEG 二进制数据流?

    我正在为设备编写应用程序 此类设备将收到 POST 请求 并发回multipart x mixed replace二进制数据流 我必须在我的应用程序主页的一部分上显示此类流 我查了一下 这种情况的资源非常有限 到目前为止 我发现如果 Mot
  • 从开放的 HTTP 流中读取数据

    我正在尝试使用 NET WebRequest WebResponse 类来访问 Twitter 流 API 此处 http stream twitter com spritzer json 我需要能够打开连接并从打开的连接中增量读取数据 目
  • MP4 到 DASH(bash 脚本)

    我有一个网站 用户可以在其中上传视频文件 我想使用 DASH 流式传输所有内容以获得自适应比特率流式传输 因此 我编写了一个 bash 脚本 由 cron 运行 将所有 mp4 文件转换为 DASH 但它无法正常工作 出了什么问题 例如 使
  • Apple 针对 http 直播流媒体应用程序的政策

    这里有要求 http developer apple com library ios documentation NetworkingInternet Conceptual StreamingMediaGuide UsingHTTPLive
  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu

随机推荐

  • 出于 CSS 目的将电视检测为客户端浏览器的所有可能方法

    我有遵循响应式网页设计技术的网络应用程序 我想提供不同 更大 的字体大小TV和不同的 较小的 screen即使两者具有相同的分辨率 为什么 因为当用户使用 32 英寸显示器作为屏幕时 他可能比将其用作电视的用户坐得更近 代码 body fo
  • 未实现的功能:WINDOW/ORDER BY

    我正在使用嵌入式 Apache Derby 数据库并执行以下查询 SELECT someUniqueValue row number over ORDER BY someUniqueValue as ROWID FROM myTable s
  • Java 中异常的 throws 关键字

    当你这样做时 public class Blah public void doBlah throws BlahException 添加什么是throws BlahException真的吗 它基本上是否将任何例外归为一类 即如果有异常 无论是
  • Django admin 可以通过 related_name 处理一对多关系吗?

    Django 管理员很乐意通过 HTML 表单字段支持多对一和多对多关系 允许分别选择一个或多个选项 甚至还有一个不错的 Javascriptfilter horizontal小部件来提供帮助 我试图通过 related name 从一对多
  • “非对称”成对距离矩阵

    假设要比较三个序列 a b c 传统上 生成的 3 3 成对距离矩阵为对称的 表示a到b的距离等于b到a的距离 我想知道 TraMineR 是否提供了某种方法来生成不对称的成对距离矩阵 不 TraMineR 不会产生 不对称 的差异 这正是
  • 用于 boost::uuid 转换的字符串

    我刚刚开始在 C 中使用 boost 我只是想问几个与 uuid 相关的问题 我正在加载一个文件 该文件需要我知道 uuid 以便我可以将一些对象链接在一起 因此 我正在尝试编写自己的 uuid 但我不确定字符串等是否有任何特殊条件 因为我
  • 服务器遇到内部错误或配置错误,无法完成您的请求[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 The server encountered an internal error or misconfiguration and was unable
  • 模块之间共享的 ZF2 型号

    我刚刚开始为一个新项目设置一个新的 ZF2 应用程序 基于 ZF2 骨架 并且正在查看他们的教程Models http framework zend com manual 2 1 en user guide database and mod
  • 如何让 Perl 调试器不停止在“子例程调用深度 100 级”

    我正在使用一个又大 又旧 又乱 又臃肿的框架 它通常会深入 100 级以上的子例程调用 Perl 调试器认为适合停止并告诉我这个事实 一遍又一遍 Package Stash name usr local perl 5 10 1 lib si
  • 即使在公共页面登录也是匿名令牌

    我在设置安全性时遇到一些问题 我希望匿名成员和登录成员都可以访问该页面 我希望它根据情况显示不同的内容 事实上 我想在继续时仍然以会员身份登录 我想要公开访问的页面是 profile 我这样设置 security yml jms secur
  • 带有访客组件的父子组件树

    在 Angular 2 中 我有一个组件层次结构 然而 在树中 我需要显示另一个与对象层次结构分离的元素 它将是一个旋转器组件 不知怎的 它不想出现
  • 如何找到最大的轮廓?

    我写了一个脚本python它利用了max 方法 我试图在 C 中重新创建一个类似的程序 但我无法获取掩模中最大轮廓的值 我尝试过使用最大元素 C 中的算法库中的函数但无济于事 我还尝试取消引用迭代器 但收到一系列错误 这是我的代码 if c
  • SwiftUI 矩形中的对角线 LinearGradient

    问题 我正在尝试在 SwiftUI 中渲染矩形形状的对角线性渐变 我实现了一个标准的多站线性渐变 当渲染为正方形时它工作得很好 但是当我将框架更改为矩形时 它有一些奇怪的行为 并且看起来更水平 或者有一些奇怪的剪裁 Code struct
  • C# - GC.GetTotalMemory() 问题

    我正在创建一个基于 C 的 Windows 服务 该服务将连续几个月 24x7 运行 我希望能够跟踪我的服务的一般内存使用情况 它不需要精确到字节 分配的一般金额就足够了 我将监视内存消耗的趋势 GC GetTotalMemory 是监视此
  • java.net.SocketException:软件导致连接中止:套接字写入错误[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序来发送带有附件的邮件 当我附加一个小的 zip 文件时 它工作正常 但是当我附加一个较大的 gt 1mb zip 文件时 它返回错误 java net SocketException 软件导
  • 使用默认值注释模型上的属性

    我创建了一个 EF4 1 代码优先模型 可能重要也可能不重要 并且我正在尝试获取 创建脚手架 模板的默认值 我的模型看起来像 class Person DefaultValue 18 public int Age get set 然后我的创
  • 自动递增跳过数字?

    注意 我是数据库和 PHP 新手 我有一个order设置为的列auto increment and unique 在我的 PHP 脚本中 我使用 AJAX 来获取新数据 但问题是 order跳过数字并且明显更高 因此迫使我在插入数据时手动更
  • 使用 PHP 删除编码

    我有以下文字 We 27re 20proud 20to 20introduce 20the 20Amazing 我想使用 PHP 删除编码 但是使用html entity decode 不起作用 有什么建议么 echo urldecode
  • JavaScript 中的布尔对象对于“false”参数返回 true

    我有一个小问题 我的 ajax 调用会返回一个字符串 有时该字符串是 假 我想始终将该字符串值转换为布尔值 我尝试过 新布尔值 thatValue 但即使参数为 false 它也会返回 true 有办法解决这个问题吗 除了我编写自己的自定义
  • 与加密流相比,DRM 的附加值是多少?

    这个问题是关于使用 MPEG DASH 和 或 HLS 的视频流 我试图了解商业 DRM 系统 例如 EZDRM BuyDRM 等 与简单的加密流媒体 例如 DRM 相比的附加值 AES 128 加密的 HLS 我对商业口号有点迷失了 因此