直播流中的DRM涉及到一个Key Rotation的概念,所谓key rotation就是加密内容的key可以随时间变化,一般用于直播流媒体,但是在点播中也是可能存在的(may be optional for VOD streams). 根据widevine文档,key rotation往往结合fragemented mp4格式使用,利用关键的moof和pssh(包含drm初始信息) box完成。
具体来说,client不停的从流中读moof以及包含在moof中的pssh,当发现pssh发生变化的时候,就意味着发生了key rotation.此时client就需要利用读到的新drm初始化信息进行key request.如下图所示:

举一个实例:假设现在我们有一个包含key rotation的dash流,已知他的key rotation周期是30s,首先来看一下他的mpd:
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version d8d94da-release-->
本文详细介绍了直播流媒体中的DRM技术,特别是Key Rotation概念,它在 Widevine DRM 中结合fragmented mp4使用。Key Rotation在每30秒周期内改变加密密钥,通过监测pssh box变化来处理。Android实现中存在挑战,包括mediadrm session限制和mediacodec的重初始化可能导致播放卡顿。为解决这些问题,Widevine提供了session-sharing模式,允许多个session共享key,避免了mediacodec的重新初始化。文章还给出了启用session sharing的代码示例和key rotation的调用流程。
订阅专栏 解锁全文
——直播流中的DRM&spm=1001.2101.3001.5002&articleId=116905458&d=1&t=3&u=3a15575923b942a4bd215c9e308fa02e)
2989

被折叠的 条评论
为什么被折叠?



