1

是否可以使用 PlayReady 和 AES-128 等行业标准加密技术加密/解密文件的较小片段以进行 HTTP 实时流式传输?

我不知道 iOS 中的默认 HLS 实现如何与 AES-128 加密一起使用 - 即,它是否仍然能够逐步下载部分分段 (TS) 和流文件?还是必须下载完整文件,解密全部内容,然后才开始播放?

在我接触过的一些 PlayReady 客户端中,我观察到了后一种方法(首先完整下载)。但这似乎是对播放延迟的可怕妥协,以实现安全性(也许没有办法绕过它)。

对这个主题的一些了解会非常有帮助。谢谢!


PS:参考技术文档或手册会很棒!

4

1 回答 1

1

AES 使用块大小为 128 位的块密码。因此,如果解密程序知道密钥和 IV,它可以从第一个块返回明文——没有理由首先解密整个段/片段。

我猜你看到的 PlayReady 实现只是在文件的基础上做,因为这更容易实现。但是没有技术原因客户端需要在开始解密之前检索整个文件。

您可以通过使片段/段非常大并检查客户端行为来验证客户端正在做什么。

快速搜索发现我这个项目正在解密 HLS,因为它读取: https ://code.google.com/p/mlbtv-hls-nexdef/source/browse/trunk/mlb.c

于 2013-05-08T11:48:54.953 回答