与加密流相比,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 的附加值是多少? 的相关文章

  • 带有平滑流格式 SDK 的基于 IIS 的 HLS

    我正在尝试通过 IIS 运行 HLS 并且通过 Silverlight 进行平滑流处理工作正常 但 HLS 不行 我拥有的 新的实时平滑流媒体发布点启用了 HLS 支持 通过 Smooth Streaming Format SDK 连接 P
  • 使用媒体播放器的 Android http 直播流媒体 URL

    我正在尝试播放一个网址 但它没有播放 我使用的代码如下 logcat 显示 Mediaplayer 错误 1 1002 开始状态为 0 且错误 38 0 为什么 我哪里出错了 你能帮我看看怎么玩吗 import java io IOExce
  • 如何使用 VLC 以 ​​http 方式将视频流式传输到其他计算机 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想使用以下方式将视频从我的计算机流式传输到另一台计算机http in vlc 我已从此处阅读了如何进行视频流传输的步骤https wik
  • 使用 slick/scala 进行流式传输

    我正在研究 scala slick 流 并试图了解它是如何工作的 这是我的测试代码 val bigdata TableQuery BigData val x db stream bigdata result transactionally
  • Java mp4parser片段序列不连续性

    此用例是一项服务 手动将一系列未压缩的 wav 媒体片段编码为 m4s 片段 以便通过 MPEG DASH 广播 使用 ffmpeg 将 wav 压缩为 aac 并使用 sannies mp4parser 将 aac 音频组装为 m4s 片
  • 如何使用 apache 设置 mpeg dash 服务器?

    我想在 ubuntu 10 04 上设置本地 mpeg dash 服务器 那么分别安装apache和mpeg dash编码器后该怎么办呢 thanks 只需将 MPD 和破折号段放入 apache htdocs 文件夹即可 如果您的 MPD
  • 在android studio中使用java解析m3u文件

    我正在寻找用java解析m3u文件 频道名称然后是它的链接我已经用谷歌搜索过这个但无法找到解决方案 m3u 文件如下所示 EXTM3U EXTINF 1 VIP AR Bein Max 1 HD http portal onlineiptv
  • 通过nodejs服务器+socket.io从mp3文件同步流式传输音乐

    我的服务器上有一个 mp3 文件 我希望所有访问该网址的客户都能同步收听该音乐 That is 假设该文件播放 6 分钟 我在上午 10 00 开始播放这首歌 上午 10 03 发出的请求应从歌曲的第 3 分钟开始收听 我所有的客户都应该同
  • 我应该将 FLV 文件放在哪里才能在本地 Red5 服务器上进行流式传输?

    我安装了最新的 Red5 服务器 但我不确定将 flv 文件放在哪里来进行流式传输 没有像我在网上找到的一些教程那样的 streams 或 ofla 目录 我应该将 flv 文件放在哪里来进行流式传输 Red5 附带了一些演示 但默认情况下
  • 计算流数据的直方图 - 在线直方图计算

    我正在寻找一种算法来生成大量流数据的直方图 最大值和最小值事先未知 但标准差和平均值在特定范围内 我很欣赏你的想法 Cheers 我刚刚找到了一个解决方案 秒 从流式并行决策树算法构建在线直方图 论文的 2 2 该算法由 Hive 项目中的
  • 如何使用 Angular/Ionic/JS 显示 Motion JPEG 二进制数据流?

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

    我最近有一个需要解决的问题 https stackoverflow com questions 19385223 how to transparently stream a file to the browser并找到了一个解决方案 但如果
  • 从开放的 HTTP 流中读取数据

    我正在尝试使用 NET WebRequest WebResponse 类来访问 Twitter 流 API 此处 http stream twitter com spritzer json 我需要能够打开连接并从打开的连接中增量读取数据 目
  • 适用于 iPhone 和 HTTP 直播的实时视频聊天

    所以一般来说 我想为 iPhone 制作一个具有视频聊天功能的应用程序 但经过多次搜索 我仍然找不到任何成功的结果 是否有任何公共或私有 API 可用于在 iPhone 上执行此操作 如果您的答案是 是 请帮助我 基本上 我想要的是读取连接
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 使用 mapWithState Spark Streaming 过滤部分重复项

    我们有一个DStream 比如 val ssc new StreamingContext sc Seconds 1 val kS KafkaUtils createDirectStream String TMapRecord ssc Pre
  • 在 Android 中播放 m3u8 视频

    我想直播视频 它是 m3u8 格式 所以我尝试了下面的代码 public class StreamingPlayer extends Activity implements OnBufferingUpdateListener OnCompl
  • 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

    基本上我正在尝试在 Cocoa Swift 中使用 AVPlayer 播放 m3u8 HLS Live Stream 我对这门语言比较陌生 所以基本上掌握了一些示例代码 http qiita com ono matope items 23d
  • android 媒体播放器 - 如何禁用范围请求? (Nexus 7 上的音频流中断)

    我有一个音频流应用程序 它运行本地代理服务器 本地代理服务器与互联网流媒体源建立 http 连接 在本地获取并缓冲流数据 然后 在应用程序内部 我使用 MediaPlayer 连接到本地代理服务器 使用方法 mediaPlayer setD

随机推荐

  • 出于 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 我对商业口号有点迷失了 因此