ISO 26429-9:数字影院资产映射与文件分段标准解读

深入解析数字影院资产映射和卷索引 UUID 到文件路径的映射、基于块的分段、多卷支持与映射配置文件

一、资产映射架构与 DCP 卷模型

ISO 26429-9(SMPTE 429-9)规定了资产映射和卷索引结构,用于将数字影院包(DCP)资产映射到文件存储卷上。资产映射在打包清单(ISO 26429-8)中使用的抽象资产标识符(UUID)与存储介质上的实际文件路径之间提供了关键链接。每个 DCP 存储卷包含一个资产映射文档(通常命名为 ASSETMAP.xml),它可以引用跨多个卷的资产。单个资产映射包含所有卷的完整映射,并在多卷集中的每个卷上完全相同地重复。这种重复确保任何单个卷都提供完整的资产位置信息,即使在并非所有卷同时可用的情况下也能实现可靠的摄取。为了便于发现,每个 DCP 卷的根目录必须包含 ASSETMAP.xml 文件,使其成为 TMS 摄取操作的标准入口点。ASSETMAP.xml 文件始终位于卷的根目录,是 TMS 在发现新 DCP 时读取的第一个文件。

打包清单 -> 资产映射 -> 文件系统的分层是一个优雅的设计模式。打包清单知道需要什么资产,资产映射知道它们在哪里,而文件系统知道如何存储它们。更改存储介质(例如从硬盘驱动器到 SSD 再到网络存储)只需要一个新的映射配置文件,而 PKL 和 CPL 保持不变。这种关注点分离是应用于数字影院分发的策略设计模式的典型范例。

二、资产结构与基于块的分段

资产映射中的每个资产包含一个 Id(与 PKL 资产 UUID 匹配)、可选的 AnnotationText、一个 PackingList 布尔标志(用于标记 PKL 资产以便于发现)以及一个 ChunkList。ChunkList 包含一个或多个块元素,每个元素指定路径(URL)、可选的卷索引、偏移量和长度。资产可以通过定义多个块跨多个卷进行分段。这种分段(分块)允许容量超过单个卷容量的资产跨卷分布。通过按顺序连接块文件来重建资产。每个块中的偏移量和长度字段支持部分资产检索,这对于渐进式摄取或需要访问大型资产特定段而不读取整个文件的系统非常有用。在实际应用中,对于基本映射配置文件,每个资产使用恰好覆盖整个文件的一个块,保持实现简单且广泛兼容。

块字段 类型 说明
Path xs:anyURI 块文件的完整 URL 路径(方案由映射配置文件定义)
VolumeIndex xs:positiveInteger 包含该块的卷索引(默认为 1)
Offset xs:nonNegativeInteger 从资产起始处的字节偏移量(默认为 0)
Length xs:positiveInteger 此块的字节长度(默认为剩余资产大小)
基本映射配置文件(附录 A)将 URL 方案约束为 “file”,将路径限制为 ASCII 字母数字字符加短划线、下划线和句点,并将路径长度限制为 1024 个字符,最多 10 个段。关键是,此配置文件不允许分段(分块)——每个资产必须适合单个文件。此约束简化了实现,但意味着对于非常大的资产或具有 4 GB 文件大小限制的旧文件系统,可能需要修改配置文件。

三、卷索引与 DCP 映射配置文件

卷索引结构(VOLINDEX.xml)包含一个 Index 元素,指示卷在多卷集中的序号。对于单卷 DCP,卷索引是可选的但建议使用。DCP 映射配置文件定义了所有介质特定的约束,包括卷定义、URL 方案、URL 路径限制、XML 编码(通常为 UTF-8)、资产映射和卷索引固定位置以及最大块大小。映射配置文件模式允许将同一 DCP 映射到不同的存储系统——从硬盘驱动器和 USB 闪存驱动器到网络附加存储和数字影院服务器。每个映射配置文件由唯一的 SMPTE 通用标签标识,允许兼容系统自动为给定的存储介质选择适当的配置文件。映射配置文件机制是 DCP 在不同放映环境之间可移植性的关键推动因素。

摄取算法遵循简单的伪代码模式:打开 Asset Map -> 对于 Asset Map 中的每个 Packing List -> 对于 Packing List 中的每个 Asset -> 在 Asset Map 中定位 Asset -> 对于 Asset 中的每个块 -> 读取、连接、验证 SHA-1 哈希。这个确定性过程确保所有兼容系统无论存储介质如何都能可靠地进行 DCP 摄取。使用来自 PKL 的 SHA-1 哈希进行验证提供了端到端的完整性保证,确认每个资产的每个字节都已正确传输和存储。

四、常见问题

问:资产映射是否可以引用未在任何打包清单中列出的资产?
答:从技术上讲是可能的,但此类资产不会通过正常流程摄入,因为摄取算法遍历的是打包清单中的资产。资产映射提供打包清单资产的映射,但理论上可以包含额外的条目。
问:如何处理多卷 DCP?
答:每个卷包含资产映射的相同副本。卷索引用于区分各个卷。块通过 VolumeIndex 引用其所在的卷。摄入时,系统从第一个卷读取资产映射,并使用 VolumeIndex 值在所有卷中定位块。
问:资产映射和打包清单有什么区别?
答:打包清单定义了什么资产构成一个 DCP(逻辑清单)。资产映射定义了这些资产物理上位于何处(文件路径映射)。一个打包清单可能跨多个资产映射,但一个资产映射必须包含所有引用的 DCP 的完整映射。
问:基本映射配置文件下的资产是否有大小限制?
答:在基本映射配置文件下,最大文件大小仅受文件系统限制。资产不分段(每个资产 = 一个块),因此单个文件不能超过文件系统的最大文件大小。对于 FAT32 卷,这将是 4 GB;对于 NTFS 或 ext4,限制要高得多。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注