共用方式為


MF_TRANSCODE_ADJUST_PROFILE_FLAGS列舉 (mfidl.h)

定義 在 MF_TRANSCODE_ADJUST_PROFILE 屬性中設定的設定檔旗標。

這些旗標會在拓撲建置期間由 MFCreateTranscodeTopology 檢查。 根據這些旗標, MFCreateTranscodeTopology 會根據拓撲中使用的編碼器輸入需求修改資料流程的組態設定,以調整轉碼設定檔。

如需應用程式可指定之資料流程設定的詳細資訊,請參閱 使用 Transcode API

Syntax

typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
  MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
  MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;

常數

 
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT
值: 0
媒體基礎會針對音訊和視訊串流使用應用程式指定的設定。 如果應用程式未提供必要的設定,則會建立拓撲,但編碼會話會失敗。 視訊資料流程會修改畫面播放速率和交錯模式設定。 如需詳細資訊,請參閱<備註>。
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES
值: 1
針對音訊和視訊資料流程,遺漏的資料流程設定會藉由複製輸入來源屬性來填入。 此旗標可確保轉碼的輸出檔最符合輸入檔。

備註

如果指定 MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 旗標,則會對視訊串流進行下列變更:

  • 如果在MFCreateTranscodeTopologypSrc參數中指定的媒體來源畫面播放速率,以及應用程式在MF_MT_FRAME_RATE屬性中指定的畫面播放速率與小於 1/1000,則設定檔會使用媒體來源畫面播放速率。 這是因為管線會將差異視為可忽略。
  • 如果應用程式未藉由設定 MF_MT_INTERLACE_MODE 屬性來指定交錯模式,設定檔會變更為使用漸進式畫面。
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT旗標必須隨附應用程式所提供的必要音訊和視訊串流屬性。 針對音訊資料流程,所需的屬性如下所示: 視訊串流的必要屬性如下所示: 如果未設定這些屬性, MFCreateTranscodeTopology 會建立拓撲,但媒體會話無法產生編碼的檔案。 失敗碼取決於拓撲中的 MFT 節點。 例如,如果應用程式未設定畫面大小,WMV 編碼器就無法編碼內容,而應用程式會透過媒體會話取得MF_E_INVALIDMEDIATYPE錯誤碼。

當您想要使用輸入資料流程屬性來轉碼檔案時,請使用 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 旗標。 在拓撲中插入 MFT 節點之前,輸入來來源資料流屬性會複製到輸出媒體類型。 如果您設定其他資料流程屬性,此旗標不會覆寫設定的值。 只有遺漏的屬性會填入輸入來源的屬性值。 此旗標在 remux 案例中很有用,您想要以與輸入來源相同的格式產生輸出檔案。 如果您想要執行格式轉換,請務必設定資料流程 的 MF_MT_SUBTYPE 屬性,以指定拓撲產生器必須使用的編碼器。 除非已設定 MF_TRANSCODE_DONOT_INSERT_ENCODER ,否則轉換節點會新增至拓撲中。 在此情況下,內容不會編碼。 相反地,如果容器允許,內容就會內嵌在指定的容器中。

例如,假設您的輸入來源是 MP3 檔案。 您可以將容器設定為 MFTranscodeContainerType_ASF,您不會設定任何資料流程屬性,而且您設定 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 旗標。 在此情況下,產生的輸出檔案是 ASF 檔案, (.wma) 包含 MP3 媒體資料。 請注意,如果您使用此旗標,某些輸入資料流程屬性和容器類型可能不相容。

需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
標頭 mfidl.h

另請參閱

媒體基礎列舉

轉碼 API