ISO/IEC 23001-7 ISO 基础媒体文件中的通用加密 将子样本定义为:
9.5 子样本加密
9.5.1 定义(规范性)
子样本加密应将每个样本划分为一个或多个连续的子样本。每个子样本应 有一个未受保护的部分,后面跟着一个受保护的部分,只有其中之一 长度可能为零字节。 (注意:通常两者都非零 值)。所有子样本的总长度 (BytesOfClearData + 组成样本的所有子样本的 BytesOfProtectedData)应 等于样本本身的大小,并且它们不应重叠。
规范提供了一些示例,每个样本有 8 个子样本。
我找不到任何提及允许的子样本计数上限的内容。
在生产环境中,我遇到了每个样本最多有 10 个子样本的流。
规格中子样本数量是否有限制?它可能位于不同的文档中。
subsample_count 被编码为无符号 16 位整数。因此最大数量是 65535。
我一直在研究这个问题,据我所知,它还没有具体说明。然而,技术限制明显低于 szatmary 的建议。
除非我弄错了,否则
saiz
框必须将样本辅助信息的长度编码为uint8(sample_info_size
字段)。假设 IV 字段长度为零,则上限为 (255-2)//6 = 42 个子样本。
有些玩家忽略了
saiz
框的建议,因此可能会超出限制,但许多(大多数?)没有。
我对规范文档的访问权限有限,所以我可能偏离了基地。