來源讀取器
來源讀取器是使用 媒體會話 和Microsoft媒體基礎管線來處理媒體數據的替代方案。
為什麼要使用來源讀取器?
Media Foundation 提供已針對播放優化的管線。 管線是端對端,這表示它會處理從來源(例如視訊檔案)到目的地的數據流(例如圖形顯示)。 不過,如果您想要在資料通過管線時讀取或修改數據,您必須撰寫自定義外掛程式。 這需要對媒體基礎管線有相當深入的瞭解。 對於某些工作,建立新的外掛程式太多額外負荷。 當您想要從來源取得原始數據,而不需要整個管線的額外負荷時,來源讀取器是針對這種類型的情況所設計。
在內部,來源讀取器會保存媒體來源的指標。 媒體來源 是媒體基礎物件,可從外部來源產生媒體數據,例如媒體檔案或視訊擷取裝置。 來源讀取器會管理對媒體來源的所有方法呼叫。 (如需媒體來源的詳細資訊,請參閱媒體來源 。
如果媒體來源傳遞壓縮的數據,您可以使用來源讀取器來譯碼數據。 在此情況下,來源讀取器會載入正確的譯碼器,並管理媒體來源與譯碼器之間的數據流。 來源讀取器也可以執行一些有限的視訊處理:從 YUV 到 RGB-32 的色彩轉換,以及軟體反交錯,不過不建議進行即時視訊轉譯。 下圖說明此程式。
來源讀取器圖表
來源讀取器不會將數據傳送至目的地;取用資料由應用程式決定。 例如,來源讀取器可以讀取視訊檔案,但不會將視訊轉譯到畫面。 此外,來源讀取器不會管理簡報時鐘、處理計時問題,或同步處理視訊與音訊。
請考慮在下列情況下使用來源讀取器:
- 您想要從媒體檔案取得數據,而不必擔心基礎檔案結構。
- 您想要從音訊或視訊擷取裝置取得數據。
- 數據處理工作不區分時間,或您不需要簡報時鐘。
- 您已經有一個媒體管線不是以媒體基礎為基礎,而且您想要將媒體基礎媒體來源併入您自己的管線。
在下列情況下,不建議使用來源讀取器:
- 針對受保護的內容。 來源讀取器不支援數字版權管理(DRM)。
- 如果您關心基礎檔案結構的詳細數據。 來源讀取器會隱藏該類型的詳細數據。
在本節中
主題 | 描述 |
---|---|
使用來源讀取器處理媒體數據 |
本主題描述如何使用來源讀取器來處理媒體數據。 |
在異步模式中使用來源讀取器 |
本主題描述如何在異步模式中使用來源讀取器。 |
教學課程:譯碼音訊 |
本教學課程示範如何使用來源讀取器將音訊從媒體檔案譯碼,並將音訊寫入 WAVE 檔案。 |
相關主題