共用方式為


將壓縮媒體儲存在 AVI 檔案中 (Microsoft Media Foundation)

您使用 Windows 媒體音訊和視訊編解碼器壓縮的任何內容都必須以某些容器格式放置。 最受歡迎的格式之一是音頻視訊交織格式,或稱 AVI。 您可以使用 Microsoft Video for Windows (VfW) 或 Microsoft DirectShow 來建立 AVI 檔案。

Windows 媒體音訊和視訊編解碼器已開發成使用進階系統格式 (ASF) 的屬性,這是 Windows Media 所使用的容器。 因為 AVI 和 ASF 會以不同的方式儲存內容,因此在 AVI 檔案中儲存以 Windows 媒體音訊和視訊編解碼器壓縮的內容時,會出現一些困難。

Windows Media 音訊編解碼器是以需要個別樣本的時間戳才能正確解壓縮的方式壓縮音訊內容。 這使壓縮媒體中得以進行一些優化。 因為 ASF 容器會保留所有樣本的時間戳,因此音訊演算法的這個特性一直運作良好。

不過,AVI 檔案不會保留樣本的時間戳。 這表示在 AVI 檔案中儲存時,無法正確解壓縮 Windows 媒體音訊內容。 Windows Media Video 內容沒有這項限制,而且可以包含在 AVI 檔案中。 若要使用同步處理音效將 Windows Media Video 內容編碼為 AVI 檔案,您必須使用另一個音訊編解碼器。

使用 AVI 檔案作為 Windows Media 的容器時,涉及低比特率視訊的另一個問題。 Windows Media Video 編解碼器針對低比特率產生視訊內容的方式之一,就是卸除重複的畫面。 如果您想要將 Windows Media Video 內容放在 ASF 檔案中,您必須將編碼器設定為傳遞重複畫面格的虛擬畫面,讓檔案中的每個畫面都呈現(將 MFPKEY_PRODUCEDUMMYFRAMES 設定為 VARIANT_TRUE)。 編解碼器所產生的虛擬框架大小為8個字節。 不過,AVI 多任務器寫入檔案的框架可以大於數百個字節,並填入隨機數據。 以這種方式製作的 AVI 檔案仍可播放,但會比預期大得多。 在將視訊編碼為 AVI 檔案中的儲存空間時,您可以使用較高的比特率來避免這個問題。

Windows 媒體轉碼器