DVD 基础知识
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
使 DVD 对消费者有吸引力的功能(无缝分支、多种语言、家长控制、卡拉OK 支持和多个角度)也使开发人员的工作变得更加复杂。 DVD 播放器不仅必须播放音频、视频和子图片流,还必须跟踪光盘当前允许的导航选项,并正确处理多种类型的用户命令。 DVD 导航器可保护你免受这种复杂性的很大限制,同时使你能够创建功能齐全的 DVD 应用程序。 无需参考 DVD 规范来有效地使用 DVD 导航器 API,但需要了解基本的 DVD 导航概念。
导航控件数据
DVD-Video光盘上的音频和视频数据定期与各种导航控制数据交错。 此数据可能是指示玩家执行某些操作的指令,例如移动到光盘上的某个特定位置,也可能是通知玩家的信息性标记,例如,后面的内容具有比上一个内容更高的家长管理级别,或者禁用了章节跳过操作。 玩家将此信息中继到应用程序,应用程序负责对其执行操作。 与视频光盘相比,这些导航标记为 DVD 提供了更高级别的用户交互性。 DVD 播放器应用程序必须处理源自光盘的事件以及源自用户的事件。
音频、视频和子图片数据
DVD-Video光盘包含三种主要类型的流:视频、音频和子图片。
- 视频流最多可以包含九个“角度”,可将其视为子流。 DVD 作者可以包含多个角度,无论他们希望向观看者提供从中查看同一场景的相机角度的选择。 一次只能有一个角度处于活动状态。 视频流还包含第 21 行隐藏式字幕数据(如果存在)。
- 最多可以有 8 个单独的音频流或曲目,最多提供 8 个多声道配乐,并允许 DVD 卡拉OK光盘使用多声道音频。
- DVD 最多可以包含 32 个子图片 流。 这些位图由压缩的 16 色位图和 alpha 通道组成,这些位图覆盖在视频顶部。 通常,子图片流包含字幕和菜单按钮,尽管它们也可能包含其他图形。 子图片流可能具有指定的语言。 某些子图片内容始终显示,而某些子图片内容仅在用户启用时才显示。
请注意,子图片流中的标题与第 21 行隐藏式字幕不同。 隐藏式字幕(面向听觉困难观众)嵌入在视频信号中。 它们完全由字符串组成。 另一方面,子图片标题是图形位图。 在消费者设备上,隐藏式字幕由电视机显示,而子图片流由 DVD 播放器呈现。 DVD 可能包含两种类型的描述文字。
标题和章节
DVD 中的视频内容分为 标题 和 菜单。 游戏进一步划分为多个单元,DVD 规范 (PCT) 调用 部分游戏 。 更常见的情况是,这些称为 场景 或 章节。 (DirectShow 文档使用术语 chapter.) 查看者可以导航到标题中的特定标题或章节。
DVD 的作者决定如何将内容划分为标题和章节。 当 DVD 包含故事长度的电影时,整个电影通常放在一个标题中,分为各个场景的章节。 DVD 上的附加功能(如预告片或删除的场景)放置在单独的游戏中。 但是,这些划分是任意的,并且许多 DVD 的组织方式不同。
光盘上最多可以有 99 个标题,光盘作者可将标题划分为多达 999 个逻辑章节。 在 DVD 上的大多数故事片中,电影内容被格式化为一系列章节,这些章节会自动一个接一个地播放。 在此类光盘上,章节结尾标记包含一个分支指令,指示玩家继续播放序列中的下一章。 这些游戏称为 一个顺序 PGC 游戏。 (PGC 代表程序链,这是属于一组章节的另一个名称。此术语未在 DVD 导航器文档中使用。) 在包含其他类型的内容的光盘(如卡拉OK光盘)上,章节结尾标记可能会指示玩家显示菜单,或者可能只是指示玩家停止。
DVD 应用程序开发人员使用标题和章节编号跳转到光盘上的特定点。为了获得精细的访问,可以使用游戏编号和时间代码。 时间代码只能与一个顺序 PGC 标题一起使用,因为其他类型不包含时间代码映射。
菜单
DVD 规范定义了六种类型的菜单:
- 标题。 标题菜单是要显示的第一个菜单。 通常,它具有用于选择标题的按钮。 标题菜单也称为 视频管理器菜单。 DVD 上只有一个游戏菜单。
- 根。 根菜单是游戏的顶级菜单。 每个游戏都可以有一个根菜单。 接下来的四个菜单是根菜单中的子菜单。 根菜单也称为 视频标题集菜单。 根菜单通常具有导航到标题集中任何标题的按钮。 此外,它可以具有子菜单,使用户能够选择音频流、相机角度、子图片流或章节的选项。 但是,这些子菜单不用于大多数 DVD。
- 子图片。 子图片菜单选择子图片流。
- 音频。 音频菜单选择音频流。 通常,此菜单使查看者能够选择语言轨道。
- 角度。 “角度”菜单选择相机角度。
- 章。 章节菜单(也称为 PTT 菜单)选择标题中的章节。
大多数菜单都有按钮,可以选择和激活这些按钮。 选择按钮会更改按钮的外观。 激活按钮会触发 DVD 命令,例如显示另一个菜单或开始播放。
家长管理级别
全部或部分 DVD 光盘都可以使用家长管理级别 (PML) 编号为 1 到 8 的 PML 进行编码。 八个是限制性最强的级别, (成人只有) ,一个是所有年龄) 限制最少的 (。 其思路是防止儿童在未经家长同意的情况下观看成人内容,同时允许成人watch儿童安全的内容。 在美国和加拿大,级别映射到 MPAA (G、PG、PG-13、NC-17) 的分级系统,但在其他国家或地区并非如此。
由于章节可以在逻辑上存在于家长块中,因此标题中可能有两个版本的同一章节,每个版本分配了不同的 PML 和不同的家长块。 例如,登录并播放光盘的孩子将看到第 3 章的一个版本,而登录的成人将看到不同的版本(假设应用程序支持 PML)。
标题或章节还可以包含临时 PML,其内容在整个标题或章节的分级高于 PML。 这意味着一个游戏可能具有多个家长级别。 临时 PML 通常创作为角度块,因此电影中的场景可能有两个版本,一个版本针对年轻观众,一个是成人。
玩家应用程序负责强制实施家长级别。
域
术语 域 是指 DVD 播放器的内部状态;它不是在光盘上创作的内容。域很重要,因为某些 DVD 命令仅在某些域中有效。 DirectShow 提供了一种查询当前域并在域更改时收到通知的方法。 定义了以下域:
- 第一个播放。 在此域中,DVD 播放器刚刚开始播放 DVD。 进入“首次播放”域后,播放器将切换到另一个域-菜单域或游戏域,具体取决于光盘。
- 视频管理器菜单。 播放器显示视频管理器菜单,也称为标题菜单。
- VTS 菜单。 播放器显示与视频标题集关联的菜单,根菜单或子菜单 (音频、子图片、角度或章节) 。
- 标题。 玩家正在游戏中播放视频。
- 停止。 玩家未显示任何内容。 (严格地说,DVD 规范不将此状态称为域,但它可以被视为 one.)
可以将域视为 DVD 播放器监视的状态变量,以便跟踪播放器当前从光盘中读取的内容类型。DVD 播放器使用域来避免向 DVD 驱动器发出无意义的命令。
用户操作控件
用户操作控件 (UOP) 是光盘上的标记,DVD 作者可以插入任何位置以限制用户的导航选项。 大多数光盘都遵循标准 UOP 限制。 例如,大多数光盘不允许观看者在“首次播放”域中快进或显示菜单。 原则上,每个光盘都可以在光盘上的任意点插入任何 UOP 命令,即使命令在其他情况下在当前域中有效也是如此。 例如,可以创作光盘以禁止特定游戏中的快速转发,或阻止在用户进入游戏域后显示特定菜单。 DVD 导航器符合光盘中的所有此类命令,并且不允许应用程序替代光盘的 UOP 控件。
相关主题