基于 ISO 的媒体加密每个样本是否有最大允许的子样本数?

问题描述 投票:0回答:2

ISO/IEC 23001-7 ISO 基础媒体文件中的通用加密 将子样本定义为:

9.5 子样本加密

9.5.1 定义(规范性)

子样本加密应将每个样本划分为一个或多个连续的子样本。每个子样本应 有一个未受保护的部分,后面跟着一个受保护的部分,只有其中之一 长度可能为零字节。 (注意:通常两者都非零 值)。所有子样本的总长度 (BytesOfClearData + 组成样本的所有子样本的 BytesOfProtectedData)应 等于样本本身的大小,并且它们不应重叠。

规范提供了一些示例,每个样本有 8 个子样本。

我找不到任何提及允许的子样本计数上限的内容。

在生产环境中,我遇到了每个样本最多有 10 个子样本的流。

规格中子样本数量是否有限制?它可能位于不同的文档中。

encryption mp4 specifications iso mpeg-4
2个回答
0
投票

subsample_count 被编码为无符号 16 位整数。因此最大数量是 65535。


0
投票

我一直在研究这个问题,据我所知,它还没有具体说明。然而,技术限制明显低于 szatmary 的建议。

除非我弄错了,否则

saiz
框必须将样本辅助信息的长度编码为uint8(
sample_info_size
字段)。假设 IV 字段长度为零,则上限为 (255-2)//6 = 42 个子样本。

有些玩家忽略了

saiz
框的建议,因此可能会超出限制,但许多(大多数?)没有。

我对规范文档的访问权限有限,所以我可能偏离了基地。

© www.soinside.com 2019 - 2024. All rights reserved.