SMPTE 時間代碼支援
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
Windows 媒體格式 SDK 為 SMPTE 時間程式碼提供有限的支援,這是電影和電視的標準時間程式碼格式。 您可以包含 SMPTE 時間程式碼資料,其中包含範例作為資料單位延伸模組。 延伸模組的資料部分是 WMT_TIMECODE_EXTENSION_DATA 結構,其中包含原始 SMPTE 時間戳記中的資訊。
維護 ASF 檔案中的 SMPTE 時間程式碼具有效能限制。 每個具有相關聯 SMPTE 時間戳記的範例都需要傳輸時間戳記結構中的 14 個位元組。 在串流案例中,這種增加的頻寬需求可能會是重大的。 因此,建議 SMPTE 時間代碼只會在視訊編輯程式期間保存在 ASF 檔案中,這通常是使用本機檔案來完成。 建立最終檔案時,您應該移除資料單位延伸模組。
您可以讀取 SMPTE 時間戳記,就像讀取任何其他資料單位延伸模組一樣,但讀取物件提供 SMPTE 時間程式碼搜尋的整合式支援。 若要能夠搜尋 SMPTE 時間戳記,您必須先依 SMPTE 時間代碼為檔案編制索引。 您可以使用 IWMIndexer2::Configure 方法,將索引子設定為索引時間碼。
使用非同步讀取器,您可以使用 IWMReaderTimecode 介面和 IWMReaderAdvanced3::StartAtPosition 方法的方法,依 SMPTE 時間戳記巡覽檔案。 使用同步讀取器時,請使用 IWMSyncReader2::SetRangeByTimecode。
相關主題