我有一个PlayReady保护的Smooth Stream,我手动对其进行加密(通过将Protection
元素添加到客户端清单,在每个片段的框内添加一个示例加密traf
框并加密实际mdat
有效负载)。
我正在尝试实现一个新功能 - 在该流中发送几个未加密的片段(例如,广告或流的前 N 个片段)。
在阅读了Microsoft 的 PIFF 标准后,我尝试通过将flags
字段设置为 0x00001 并将示例加密框中的algorithm_id
、sample_count
和key_id
字段设置为零来发送非加密数据(如 PIFF 标准的第 5.3.2.2 节所述)。
在尝试播放该流时,我测试的示例播放器(http://playready.directtaps.net/pr/doc/slee/和 player.smooth.vertigo.com/)播放了内容,但跳过了未加密的片段并直接从加密的开始。
这个功能甚至可以实现吗?我做错什么了吗?
PS,我试图完全省略Sample Encryption Box,但这导致播放器完全拒绝播放流。
任何帮助将不胜感激。