DVD 基本概念
[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayer、IMFMediaEngine 和 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
讓 DVD 對消費者有吸引力的功能—無縫分支、多種語言、家長控制、卡拉OK支援和多個角度—也使開發人員的工作更加複雜。 DVD 播放機不僅必須播放音訊、視訊和子圖片串流,而且必須追蹤光碟目前允許的瀏覽選項,並正確地處理許多類型的使用者命令。 DVD 導覽器可保護您不受這種複雜性的防護,同時讓您能夠建立功能完整的 DVD 應用程式。 您不需要參考 DVD 規格,才能有效地使用 DVD 導覽器 API,但您必須知道基本的 DVD 瀏覽概念。
導覽控件數據
DVD-Video 光碟上的音訊和視訊數據會定期與各種導覽控件數據交錯。 此數據可能是指示玩家執行某些動作的指示,例如移至光碟上的某個特定位置,或者可能是僅供參考的標記,告知玩家,例如,後續內容具有高於先前內容的家長管理層級,或已停用章節跳過作業。 播放機會將這項資訊轉寄至應用程式,而應用程式負責處理它。 這些瀏覽標記是 DVD 與其視訊 CD 相比,其用戶互動性較高層級的一部分。 DVD 播放程式應用程式必須處理源自光碟的事件,以及源自使用者的事件。
音訊、視訊和子圖片數據
DVD-Video 光碟包含三種主要類型的數據流:視訊、音訊和子格式。
- 視訊串流最多可包含九個「角度」,可視為子數據流。 DVD 作者可以包含多個角度,無論他們想要為觀眾提供相機角度的選擇,從中檢視相同的場景。 一次只能使用一個角度。 視訊串流也包含第 21 行隱藏式輔助字幕數據,如果有的話。
- 最多可以有八個不同的音訊串流或曲目,提供最多八個多通道配樂,並允許 DVD 卡拉OK光碟使用多通道音訊。
- DVD 最多可包含 32 個 子圖片 數據流。 這些由具有 Alpha 色板的壓縮 16 色點圖所組成,這些點圖會重疊在視訊頂端。 一般而言,子圖片數據流包含子標題和功能表按鈕,不過它們也可能包含其他圖形。 子圖片數據流可能具有指定的語言。 某些子圖片內容一律會顯示,而某些子圖片內容只有在使用者啟用時才會顯示。
請注意,子圖片數據流中的標題與第 21 行隱藏式輔助字幕不同。 隱藏式輔助字幕是專為聽覺硬式觀眾所設計,內嵌在視頻訊號中。 它們完全由字元字串所組成。 另一方面,子圖片標題是圖形位圖。 在消費者裝置上,電視機會顯示隱藏式輔助字幕,而子圖片流則由 DVD 播放器轉譯。 DVD 可能包含這兩種類型的標題。
標題和章節
DVD 中的視訊內容分為 標題 和 功能表。 標題進一步分為 DVD 規格 部分標題 (PTT) 所呼叫的單位。 通常,這些稱為 場景 或 章節。 (DirectShow 檔使用章節一詞。查看器可以巡覽至標題內的特定標題或章節。
DVD 的作者決定如何將內容分成標題和章節。 當 DVD 包含功能長度的電影時,整個電影通常放在一個標題中,分為個別場景的章節。 DVD 上的額外功能,例如預告片或刪除的場景,會放在不同的標題中。 不過,這些劃分是任意的,而且許多 DVD 會以不同的方式組織。
光碟上可能有多達 99 個標題,光碟作者可能會將標題分成多達 999 個邏輯章節。 在 DVD 上的大多數特色電影中,電影內容被格式化為一系列章節,自動播放一個接一個。 在這類光碟上,章節結尾標記包含分支指令,指示玩家繼續在序列中播放下一章。 這些標題稱為 一個循序 PGC 標題。 (PGC 代表程序鏈,另一個名稱是屬於一群章節。此字彙不會用於 DVD 導覽器檔。)在含有其他類型的內容類型的光碟上,例如卡拉OK光碟,分頁尾標記可能會指示玩家顯示功能表,或者可能只是指示玩家停止。
DVD 應用程式開發人員會使用標題和章節號碼跳到光碟上的特定點。為了更精細的存取,可以使用標題編號和時間代碼。 時間代碼只能與一個循序PGC標題搭配使用,因為其他類型不包含時間代碼對應。
功能表
DVD 規格會定義六種類型的功能表:
- 標題。 標題功能表是要顯示的第一個功能表。 它通常會有用於選取標題的按鈕。 標題選單也稱為 視訊管理員選單。 DVD 上只有一個標題功能表。
- 根。 根功能表是標題的最上層功能表。 每個標題都可以有根功能表。 接下來的四個功能表是根功能表中的子功能表。 根功能表也稱為 影片標題集功能表。 根功能表通常會有按鈕,可巡覽至標題集中的任何標題。 此外,它可以有子門,讓用戶選擇音訊串流、相機角度、子圖片串流或章節的選項。 不過,這些子原則不會用於大部分的 DVD。
- 子圖片。 子圖片功能表會選取子圖片數據流。
- 音訊。 音訊功能選取音訊串流。 一般而言,此功能表可讓查看器選取語言追蹤。
- 角度。 [角度] 功能表會選取相機角度。
- 章。 章節功能表也稱為 PTT 功能表,會選取標題內的章節。
大部分功能表都有按鈕,可以在 選取按鈕,啟用。 選取按鈕會變更按鈕的外觀。 啟動按鈕會觸發 DVD 命令,例如顯示另一個功能表或開始播放。
家長管理層級
DVD 光碟的所有或部分都可以編碼為 1 到 8 的家長管理等級(PML)。 八個是最嚴格的水準(僅限成年人),一個是最小的限制性(所有年齡)。 其概念是防止兒童在沒有父母同意的情況下觀看成人內容,同時允許成年人觀看兒童安全的內容。 在美國和加拿大,層級會對應到 MPAA 的評等系統(G、PG、PG-13、NC-17),但在其他國家或地區情況並非如此。
由於章節可以在家長區塊內以邏輯方式存在,因此標題中可能有兩個相同章節的版本,每個章節都指派了不同的 PML,並在不同的家長區塊中。 例如,登入和播放光碟的子系會看到第 3 章的一個版本,而登入的成年人會看到不同的版本,假設應用程式支援 PML。
標題或章節也可以包含暫時的 PML,其內容會比整個標題或章節的 PML 高。 這表示標題可能有多個家長層級。 臨時PML通常撰寫為角度區塊,使電影中的場景可能有兩個版本,一個為年輕觀眾評等,一個用於成人。
玩家應用程式必須負責強制執行家長等級。
網域
網域 一詞是指 DVD 播放器的內部狀態;它不是在光碟上撰寫的東西。網域很重要,因為某些 DVD 命令在特定網域中才有效。 DirectShow 提供一種方式來查詢目前的網域,並在網域變更時收到通知。 定義下列網域:
- 第一個播放。 在此網域中,DVD 播放器剛剛開始播放 DVD。 進入第一個播放網域之後,播放機會切換至另一個網域,視光碟而定,功能表域或標題網域。
- 影片管理員功能表。 播放程式會顯示影片管理員功能表,也稱為標題功能表。
- VTS 功能表。 播放程式會顯示與影片標題集相關聯的功能表、根功能表或子功能表(音訊、子圖片、角度或章節)。
- 標題。 玩家正在播放標題中的影片。
- 停。 玩家未顯示任何專案。 (嚴格地說,DVD 規格不會將此狀態稱為網域,但可以視為一個網域。
網域可以視為 DVD 播放器所監視的狀態變數,以便追蹤播放程式目前從光碟讀取的內容類型。DVD 播放機會使用網域來避免向 DVD 光碟機發出毫無意義的命令。
用戶作業控件
使用者作控件(UOP)是光碟上的標記,DVD 作者可以在任何地方插入以限制使用者的瀏覽選項。 大部分光碟都遵循標準 UOP 限制。 例如,大部分的光碟都不允許查看器在 First Play 網域中快速向前快轉或顯示功能表。 原則上,即使命令在目前網域中有效,每個光碟都可以在任何點插入任何 UOP 命令。 例如,可能會撰寫光碟,禁止在特定標題中快速轉送,或防止使用者在進入標題網域之後顯示特定功能表。 DVD 導覽器符合光碟的所有這類命令,不允許應用程式覆寫光碟的UOP控制件。
相關主題