ASF 標頭對象的媒體基礎屬性
檔案的最上層 ASF 標頭物件包含數個 ASF 子標頭物件。 ContentInfo 物件會儲存所有這些標頭物件的資訊,並透過屬性向應用程式公開特定值。
檔案屬性物件
此標頭物件存在於所有 ASF 檔案中。 這些欄位描述整個簡報的檔案層級屬性。 下表列出 [檔案屬性物件] 和對應的簡報描述元屬性中的欄位。
[檔案屬性物件] 欄位 | 簡報描述項屬性 | 描述 |
---|---|---|
檔案標識碼 | MF_PD_ASF_FILEPROPERTIES_FILE_ID | 這個檔案的唯一標識碼。 |
檔案大小 | MF_PD_TOTAL_FILE_SIZE | 檔案的大小,以位元組為單位。 |
建立日期 | MF_PD_ASF_FILEPROPERTIES_CREATION_TIME | 檔案建立日期和時間。 |
數據封包計數 | MF_PD_ASF_FILEPROPERTIES_PACKETS | ASF 資料對象中的數據封包數目。 |
播放持續時間 | MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION | 播放檔案所需的時間,以 100 奈秒為單位。 此值包含預先註冊時間。 |
傳送持續時間 | MF_PD_ASF_FILEPROPERTIES_SEND_DURATION | 以 100 奈秒為單位傳送檔案所需的時間。 |
預先註冊 | MF_PD_ASF_FILEPROPERTIES_PREROLL | 在播放檔案之前緩衝處理數據的時間長度,以 100 奈秒為單位。 |
標誌 | MF_PD_ASF_FILEPROPERTIES_FLAGS | 指出檔案是廣播還是可搜尋的旗標。 |
數據封包大小下限 | MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE | 檔案中數據封包的大小下限,以位元組為單位。 |
數據封包大小上限 | MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE | 檔案中數據封包的大小上限,以位元組為單位。 |
比特率上限 | MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE | 最大瞬間位速率,以每秒位數為單位。 |
Stream Properties 物件
此標頭物件描述 ASF 檔案中數據流的屬性。 在媒體基礎中,這是由配置檔對象和數據流組態物件所管理。 如需詳細資訊,請參閱 建立和設定 ASF 資料流。
編解碼器清單物件
如果此標頭物件存在,MF_PD_ASF_CODECLIST 屬性會提供編碼 ASF 檔案內數據流所使用的編解碼器清單。 每個數據流都應該在此物件中具有其編解碼器資訊。
腳本命令物件
如果此標頭物件存在,它會指定 ASF 檔案中支援的腳本命令清單。 文稿命令包含命令類型、命令名稱和簡報時間。 命令類型和命令名稱是寬字元字串。 這些命令可用來通知用戶端在簡報的特定時間點執行動作。 例如,應用程式可以使用命令類型 「FILENAME」 來播放 ASF 檔案的連續序列。
若要取得文稿命令清單,請從簡報描述元取得 MF_PD_ASF_SCRIPT 屬性。 應用程式應該先擷取所有腳本命令,再開始播放。
Marker 物件
標記是 ASF 檔案內的書籤。 應用程式可以使用標記來搜尋內容內的各種點。 每個標記都包含標記名稱、相關聯的呈現時間,以及檔案開頭的位移。 MF_PD_ASF_MARKER 屬性會提供可供檔案使用的標記清單。
Stream Bitrate Properties 物件
此標頭會儲存 ASF 檔案中每個數據流的平均比特率。 此值會儲存在 MF_SD_ASF_STREAMBITRATES_BITRATE 屬性中數據流的數據流描述元上。
內容加密物件
如果內容提供者已使用 Microsoft Digital Rights Management 來保護內容,則會出現此標頭物件。 下表列出內容加密物件和對應的簡報描述元屬性中的欄位:
內容加密物件欄位 | 簡報描述項屬性 | 描述 |
---|---|---|
秘密數據 | MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA | 包含秘密數據的位元組陣列。 |
保護類型 | MF_PD_ASF_CONTENTENCRYPTION_TYPE | 具有值 「DRM」 的 Null 終止字串。 |
金鑰識別碼 | MF_PD_ASF_CONTENTENCRYPTION_KEYID | 描述金鑰標識碼的 Null 終止字串。 |
授權 URL | MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL | Null 終止的字串,其中包含要從中取得使用內容的授權的URL。 |
擴充內容加密物件
如果內容提供者已使用 Windows Media Rights Manager 7 SDK 來保護內容,則會出現此標頭物件。 MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL 屬性會提供對應至標頭物件的 Data 位元段的位元組陣列。 此欄位是使用內容的必要欄位。
擴充的 Stream 屬性物件
此標頭是 Header Extension 物件的一部分。 Extended Stream 屬性物件會提供數據流的屬性,這些屬性未定義於 Stream Properties 物件中。 這些屬性主要用於判斷譯碼器所使用的「流失貯體」參數。 壓縮數據時,編碼器也會使用這些屬性。 這是由配置檔對象和數據流組態物件所管理。 如需詳細資訊,請參閱 建立和設定 ASF 資料流。
下表列出 [擴充數據流屬性物件] 字段和對應的數據流描述項屬性。
[擴充數據流屬性] 欄位 | 數據流描述元屬性 | 描述 |
---|---|---|
數據比特率 | MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE | 平均數據速率,以每秒位數為單位。 |
緩衝區大小 | MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE | 流失值區大小。 值是可以平均數據速率放入緩衝區的數據毫秒數。 |
替代數據比特率 | MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE | 尖峰數據速率,每秒咬數。 尖峰數據速率用於具有可變比特率的數據流。 |
替代緩衝區大小 | MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE | 洩漏值區大小上限。 值是可在尖峰數據速率中放入緩衝區的數據毫秒數。 |
串流語言標識碼 | MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX | 數據流使用的語言,指定為語言清單對象中語言清單的索引。 |
語言清單物件
這個標頭物件是 Header Extension 物件的一部分。 如果存在,MF_PD_ASF_LANGLIST 屬性會提供檔案中支持的語言標識符清單。 標識碼與 RFC 1766 相容,以指定語言。
相互排除物件
此標頭會指定數據流群組及其屬性,其中一次只會傳遞其中一個。 如需詳細資訊,請參閱使用 ASF 資料流的互斥 。
相關主題