使用 Windows Media Format 9 Series SDK 添加 Windows Media 支持

使用 Windows Media Format 9 Series SDK 添加 Windows Media 支持


Jay Loomis
Microsoft New Media Platforms Division
2002 年 11 月
適用於:
Windows Media Format 9 Series
摘要:本文介紹了 Microsoft® Windows Media® Format 9 Series 軟件開發工具包 (SDK) 的新增功能,還概括介紹了 SDK 結構。(本文包含一些指向英文站點的鏈接。)
簡介
Microsoft Windows Media 9 Series 提供了多種自定義應用程序的方法。您可以使用 Windows Media Player 9 Series SDK、Windows Media Encoder 9 Series SDK 和 Windows Media Services 9 Series SDK 擴展 Windows Media 功能。但是,有些應用程序需要 Windows Media 文件的底層訪問權限,您可以使用 Windows Media Format SDK 來滿足這些要求。
本文討論了 Windows Media Format SDK 和高級系統格式 (ASF) 之間的關係,高級系統格式是所有 Windows Media 文件使用的文件格式。本文還介紹了 Windows Media Format SDK 的一般結構,以及 Windows Media 9 Series 的一些很強大的新功能。

本文包括以下主題:

什麼是 Windows Media Format SDK?介紹 Windows Media Format SDK 在應用程序開發中的作用。 什麼是 Windows Media Format?介紹 Windows Media Format 及其與 Windows Media 所使用的 ASF 文件格式的關係。 讀寫結構介紹 Windows Media Format SDK 的兩大核心任務的結構,這兩個任務是:讀/寫 ASF 文件。 Windows Media Format 9 Series SDK 具有哪些新增功能?介紹最新版 Windows Media Format SDK 的新增功能和增強功能。 更多信息提供了更多資源。 什麼是 Windows Media Format SDK?
Microsoft Windows Media Format SDK 是一組底層應用程序編程接口 (API),它處理使用 ASF 結構的數據。ASF 是一種可擴展的、獨立於內容的格式,Windows Media 使用它來保存和分發數字媒體。
Windows Media Format SDK 是 Windows Media 的核心,Windows Media Player、Windows Media Encoder 和 Windows Media Services 均使用它來提供核心文件 I/O、聯網和數字版權管理 (DRM) 支持。下圖顯示了 Windows Media Player 與 Windows Media Format SDK 之間的依存關係。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_dependency.gif" frameborder="0" width="100%" height="288">
值得注意的是,Windows Media Format SDK 不支持從輸入設備捕獲內容,也不支持向輸出設備呈現內容。使用 Windows Media Format SDK 創建應用程序時,您可以使用任意方法來捕獲或呈現數字媒體。
如上圖所示,Microsoft DirectShow® SDK 爲 Windows Media Player 提供內容呈現支持。爲了簡化應用程序開發,Windows Media Format 9 Series SDK 提供了一個新的篩選器,以便與 DirectShow 一起使用。Windows Media Format SDK 與 DirectShow SDK 的結合爲創建編碼和播放應用程序提供了端到端解決方案。
Windows Media Format SDK 最重要的功能之一是它與 Windows Media Audio 和 Video 9 Series 編碼解碼器實現了連接。這些編碼解碼器提供了最新的壓縮功能,使保存高質量數字媒體所需的空間大大減少。
什麼是 Windows Media Format?
儘管 ASF 容器格式用於所有 Windows Media 文件,但術語“Windows Media Format”指的是一項較具體的配置。如下圖所示,Windows Media Format 是編碼解碼器、DRM、協議和容器格式的組合。最主要的區別是所有 Windows Media 文件都使用 ASF,但使用 ASF 的文件不一定是 Windows Media 文件。例如,如果一個文件包含使用第三方編碼解碼器壓縮的數據,則該文件屬於 ASF 文件,而不是 Windows Media 文件。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_format.gif" frameborder="0" width="100%" height="380">
導致差異的原因是一致性問題。Windows Media 文件使用 .wma 和 .wmv 文件擴展名,而包含第三方編碼解碼器壓縮數據的文件使用 .asf 文件擴展名。通過縮小 Windows Media Format 定義的範圍,應用程序開發人員可以確信他們的程序可以與 Windows Media 文件一起使用。擴展名爲 .asf 的文件可以單獨處理,但是需要理解,它們可能包含某些播放應用程序無法訪問的數據。
很顯示,不是所有 Windows Media 文件都需要 DRM 和協議。這些組件是可選的,但包含這些組件並不會改變文件的格式類別。
使用 Windows Media Format SDK 創建的文件有一個共同點,就是它們都使用 ASF 容器。這種文件格式用於存儲一般演示時隔行掃描的任意數據,這樣可使這些文件適於在網絡中流式處理數據。
ASF 容器的基本結構十分簡單。文件的第一部分是描述文件中所保存數據內容的文件頭,然後是實際的數據。最後一部分是一個可選的索引,包含與數據部分中的要點相關的內容,這些內容對用戶很有用。下圖顯示了 ASF 的結構。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_asf.gif" frameborder="0" width="100%" height="269">
ASF 文件的標頭部分包含文件中單個流的配置信息以及流之間的關係。例如,有些流是互斥的,因而一次只能發送一個流。標頭部分還包含元數據或有關內容的描述性數據。
讀寫結構
Windows Media Format 9 Series SDK 具有許多處理 ASF 文件的功能,但其核心功能是讀寫文件。本節概括介紹這兩大基本任務背後的體系結構。
寫入過程
下圖顯示了 Windows Media Format SDK 的文件寫結構,說明了多比特率視頻編碼文件的過程。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_writing.gif" frameborder="0" width="100%" height="431">
使用 Windows Media Format SDK 構建的應用程序將源媒體樣本傳遞給編寫器,如上圖的左側部分所示。編寫器使用配置文件對象中指定的設置對文件進行編碼。配置文件對象(位於圖形的上部)定義已編碼文件的格式,包括每個流的詳細信息以及應如何處理流的信息(例如,當流互斥時應如何處理)。
大多數音頻和視頻流由一種 Windows Media 編碼解碼器來處理。但是,編寫器管理器首先用一種轉換器來處理數據,爲壓縮做準備。當樣本可以放入文件時,先傳遞給多路複用器,多路複用器根據演示時間從所有流中隔行掃描樣本並將數據打包。
多路複用器創建的位流被傳送到一個接收器,接收器爲最終目的地處理 I/O,不管它是磁盤上的文件還是 Internet 或其他網絡廣播。
讀取過程
下圖顯示了 Windows Media Format SDK 的讀結構。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_reading.gif" frameborder="0" width="100%" height="353">
讀取過程與寫入過程基本上相同,不過順序是相反的。讀取器連接到源,源可以是文件、網絡連接或自定義源。拆分器處理文件的數據部分,將數據分成單個流樣本。然後將樣本解壓縮(如果啓用了 DRM 保護),並通過相應的 Windows Media 編碼解碼器來處理。音頻流可以使用 Microsoft 安全音頻路徑 (SAP) 來保護,這樣可以在呈現音頻數據之前對其進行加密。
上圖顯示了包含 HTML 數據的第三類流,這種流類型稱爲 Web 流,它是 Windows Media Format 9 Series SDK 中的新增類型。它允許組成 Web 頁面的多個文件保存在文件中,並通過響應同一文件中保存的事件加載到客戶機的瀏覽器中。
當樣本可以發送時,首先進行排隊,然後按演示時間順序實時發送。樣本被作爲源數據從讀取器中發送,發送方式與將源數據發送到編寫器的方式相同。然後,應用程序可以按要求處理數據。Windows Media Format SDK 未提供呈現數據的方法。
Windows Media Format 9 Series SDK 具有哪些新增功能?
Windows Media Format 9 Series SDK 對以前的版本做了許多改進,主要體現在可擴展性和靈活性兩個方面。SDK 增加了許多新功能並對舊版本進行許多改進,爲更過的開發人員提供了更多的幫助。
新增功能

下面列出了 Windows Media Format 9 Series SDK 提供的許多令人激動的新增功能:

同步讀取 按需檢索樣本,不需要多線程。 支持 IStream 從自定義資源讀取媒體。 增強的索引功能 基於幀的索引加快了訪問特定視頻幀的速度。 基於 SMPTE 的時間代碼,可以按源時間代碼識別視頻。 增強的配置功能 帶寬共享將流帶寬與高比特率相結合。 利用流的優先級可以確定讀取器讀取流的順序。 設備一致性模板 針對特定硬件的編碼解碼器設置標準化。 擴展的編碼解碼器 完全的雙路編碼技術可以以較低的比特率獲得較高的質量。 使用 Windows Media Video 9 圖像編碼解碼器將靜態圖像轉換爲高質量的視頻。 擴展的多比特率 (MBR) 支持 爲帶有各種圖像大小的 MBR 音頻和視頻流提供互斥支持。 使用智能再壓縮技術轉換代碼 可以爲設備優化高比特率代碼轉換。 擴展的元數據支持 特定於流的屬性。 擴展的 ID3 兼容屬性支持。 基於索引的元數據標記,允許多個標記同名。 具有超過 64k 相關數據的屬性。 多語言屬性。 新增了許多預定義屬性。 動態像素縱橫比 將輸入設備視頻與不同的像素縱橫比組合到一個流中。 隔行掃描的視頻流 可以爲機頂盒及類似設備編碼併發送隔行掃描視頻內容。 DirectX 視頻加速 支持對基於 Windows Media 的內容進行硬件解碼,而不需要高端設備。 支持 ASF 格式的多種語言 爲流指定語言並允許用戶選擇播放語言,以獲得類似 DVD 風格的體驗。 多聲道音頻 編碼並播放多聲道音頻(6 到 8 個聲道)。 支持水印功能 以 ASF 格式編碼文件,並通過數字水印增強安全性。 流式處理 HTML 保存與您的流內容相符的 Web 頁面組件。 DirectShow 篩選器 利用現有的、基於 DirectShow 的體系結構,同時又支持讀寫 ASF 文件。 增強功能

下面列出了對舊版本 Windows Media Format SDK 的改進。

增強的流式處理/下載體驗 減少快速流緩存所需的等待時間。 可變比特率 (VBR) 流式處理和漸進式下載優化。 MBR 音頻和多分辨率 MBR 視頻允許將動態選擇的內容保存到一個文件中。 性能大大改進 同步讀取器接口減少了編輯應用程序所需的編碼開銷。 可在 1GHz 的計算機上處理 640x480 30 fps 未壓縮視頻的實時多路複用。 擴展性 支持任意流類型,使您可以在 ASF 文件中包含所需的任何數據。 使用標準 COM 接口 IStream 自定義源。 支持自定義元數據的強大功能。 爲應用程序開發人員提供了更多幫助
Windows Media Format 9 Series SDK 提供了許多增強功能和改進功能,以滿足媒體專業人員在各開發階段的需要。應用程序開發人員可以使用 Windows Media 技術編寫能夠增強下一代數字媒體功能的軟件。下圖顯示了新版本 Windows Media Format SDK 的應用範圍。
marginwidth="0" marginheight="0" src="/china/msdn/Archives/library/dnwmt/images/js_wmf_vidmarkets.gif" frameborder="0" width="100%" height="422">
更多信息
有關 Windows Media Format 9 Series SDK 的詳細信息,請從 MSDN® Online 下載 Windows Media Format 9 Series SDK。

相關文章

MSDN Online 文章“Introducing the Windows Media Format SDK” 法律聲明
本文檔中包含的信息代表 Microsoft Corporation 在發佈時對所討論問題的最新觀點。由於 Microsoft 必須適應不斷變化的市場情況,因此,這些信息並非 Microsoft 方面所作的承諾,Microsoft 也不能保證出版日之後提供的任何信息都完全正確。
本白皮書僅供參考。Microsoft 對本文檔中的有關信息不作任何明示或暗示的擔保。
用戶有責任遵從所有適用的版權法。除了版權法所賦予的權利以外,未經 Microsoft Corporation 明確書面許可,不得擅自將本文檔的任何部分進行復制、存儲或輸入可檢索系統,或以任何形式或方式(電子、機械、影印、錄製或其他方式)進行傳播,或用作其他目的。
Microsoft 對本文檔中的主題持有專利權、專利申請權、商標權、版權或其他相關的知識產權。Microsoft 只提供在任何書面許可協議中明確規定的權利,而不授予您本文檔的上述專利權、商標權、版權或其他知識產權。
© 2002 Microsoft Corporation 版權所有。保留所有權利。
Microsoft、MS-DOS、Windows、Windows Media、Windows NT、ActiveSync、ActiveX、Direct3D、DirectDraw、DirectInput、DirectMusic、DirectPlay、DirectShow、DirectSound、DirectX、FrontPage、Jscript、Microsoft Press、MSN、NetShow、Outlook、PowerPoint、Visual Basic、Visual C++、Visual InterDev、Visual J++、Visual Studio、WebTV、Win32 和 Win32s 是 Microsoft Corporation 在美國和/或其他國家和地區的註冊商標或商標。
此處提到的真實的公司和產品名稱是其各自所有者的商標。

發佈了35 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章