Media Foundation Attribute für ASF-Headerobjekte
Das ASF-Headerobjekt der obersten Ebene für eine Datei enthält mehrere ASF-Unterheaderobjekte. Das ContentInfo-Objekt speichert Informationen aus all diesen Headerobjekten und macht bestimmte Werte über Attribute für eine Anwendung verfügbar.
Dateieigenschaftenobjekt
Dieses Headerobjekt ist in allen ASF-Dateien vorhanden. Diese Felder beschreiben die Attribute auf Dateiebene der gesamten Präsentation. In der folgenden Tabelle sind die Felder im Dateieigenschaftenobjekt und die entsprechenden Darstellungsdeskriptorattribute aufgeführt.
| Feld "File Properties Object" (Dateieigenschaftenobjekt) | Darstellungsdeskriptorattribut | BESCHREIBUNG |
|---|---|---|
| Datei-ID | MF _ PD _ ASF _ FILEPROPERTIES _ FILE _ ID | Eindeutiger Bezeichner für diese Datei. |
| Dateigröße | MF _ PD _ _ _ GESAMTDATEIGRÖßE | Größe der Datei in Bytes. |
| Erstellungsdatum | MF _ PD _ ASF _ FILEPROPERTIES _ CREATION _ TIME | Datum und Uhrzeit der Dateierstellung. |
| Anzahl der Datenpakete | MF _ PD _ ASF _ FILEPROPERTIES _ PACKETS | Anzahl der Datenpakete im ASF-Datenobjekt. |
| Wiedergabedauer | MF _ PD _ ASF _ FILEPROPERTIES _ PLAY _ DURATION | Erforderliche Zeit zum Wiedergeben der Datei in Einheiten von 100 Nanosekunden. Dieser Wert enthält die Vorrollzeit. |
| Sendedauer | MF _ PD _ ASF _ FILEPROPERTIES _ SEND _ DURATION | Erforderliche Zeit zum Senden der Datei in Einheiten von 100 Nanosekunden. |
| Vorabrolling | MF _ PD _ ASF _ FILEPROPERTIES _ PREROLL | Die Zeitspanne zum Puffern von Daten vor dem Wiedergeben der Datei in Einheiten von 100 Nanosekunden. |
| Flags | MF _ PD _ ASF _ FILEPROPERTIES _ FLAGS | Flags, die angeben, ob die Datei übertragen oder gesucht werden kann. |
| Minimale Datenpaketgröße | MF _ PD _ ASF _ FILEPROPERTIES _ MIN _ PACKET _ SIZE | Minimale Größe der Datenpakete in der Datei in Bytes. |
| Maximale Datenpaketgröße | MF _ PD _ ASF _ FILEPROPERTIES _ MAX _ PACKET _ SIZE | Maximale Größe der Datenpakete in der Datei in Bytes. |
| Maximale Bitrate | MF _ PD _ ASF _ FILEPROPERTIES _ MAX _ BITRATE | Maximale sofortige Bitrate in Bits pro Sekunde. |
Stream Properties-Objekt
Dieses Headerobjekt beschreibt die Eigenschaften der Streams in der ASF-Datei. In Media Foundation wird dies vom Profilobjekt und dem Streamkonfigurationsobjekt verwaltet. Weitere Informationen finden Sie unter Erstellen und Konfigurieren von ASF Streams.
Codec List-Objekt
Wenn dieses Headerobjekt vorhanden ist, stellt das MF _ PD _ ASF _ CODECLIST-Attribut eine Liste von Codecs bereit, die zum Codieren der Streams in der ASF-Datei verwendet wurden. Jeder Stream sollte seine Codecinformationen in diesem Objekt enthalten.
Skriptbefehlsobjekt
Wenn dieses Headerobjekt vorhanden ist, gibt es eine Liste von Skriptbefehlen an, die in der ASF-Datei unterstützt werden. Ein Skriptbefehl besteht aus einem Befehlstyp, einem Befehlsnamen und einer Präsentationszeit. Der Befehlstyp und der Befehlsname sind Zeichenfolgen mit Breitzeichen. Diese Befehle können verwendet werden, um den Client zu benachrichtigen, an einem bestimmten Punkt in der Präsentation eine Aktion auszuführen. Beispielsweise kann eine Anwendung den Befehlstyp "FILENAME" verwenden, um eine fortlaufende Sequenz von ASF-Dateien wiederzugeben.
Um die Liste der Skriptbefehle abzurufen, erhalten Sie das MF _ PD _ ASF _ SCRIPT-Attribut aus dem Präsentationsdeskriptor. Eine Anwendung sollte alle Skriptbefehle abrufen, bevor mit der Wiedergabe begonnen wird.
Markerobjekt
Ein Marker ist ein Lesezeichen innerhalb einer ASF-Datei. Eine Anwendung kann Marker verwenden, um nach verschiedenen Punkten innerhalb des Inhalts zu suchen. Jeder Marker besteht aus einem Markernamen, der zugeordneten Präsentationszeit und dem Offset vom Anfang der Datei. Das MF _ PD _ ASF _ MARKER-Attribut stellt eine Liste von Markern bereit, die für die Datei verfügbar sind.
Stream Bitrate Properties-Objekt
Dieser Header speichert die durchschnittliche Bitrate jedes Streams, der in der ASF-Datei vorhanden ist. Dieser Wert wird im Streamdeskriptor für den Stream im MF _ SD _ ASF _ STREAMBITRATES _ BITRATE-Attribut gespeichert.
Content Encryption-Objekt
Dieses Headerobjekt ist vorhanden, wenn der Inhaltsanbieter den Inhalt mithilfe von Microsoft Digital Rights Management geschützt hat. In der folgenden Tabelle sind die Felder im Content Encryption-Objekt und die entsprechenden Darstellungsdeskriptorattribute aufgeführt:
| Feld "Content Encryption Object" | Darstellungsdeskriptorattribut | BESCHREIBUNG |
|---|---|---|
| Geheime Daten | MF _ PD _ ASF _ CONTENTENCRYPTION _ SECRET _ DATA | Bytearray, das geheime Daten enthält. |
| Schutztyp | MF _ PD _ ASF _ CONTENTENCRYPTION _ TYPE | Auf NULL endende Zeichenfolge mit dem Wert "DRM". |
| Schlüssel-ID | MF _ PD _ ASF _ CONTENTENCRYPTION _ KEYID | Auf NULL endende Zeichenfolge, die den Schlüsselbezeichner beschreibt. |
| Lizenz-URL | MF _ PD _ ASF _ CONTENTENCRYPTION _ LICENSE _ URL | Auf NULL endende Zeichenfolge, die die URL enthält, von der die Lizenz für die Verwendung des Inhalts erworben werden soll. |
Extended Content Encryption-Objekt
Dieses Headerobjekt ist vorhanden, wenn der Inhaltsanbieter den Inhalt mithilfe des Windows Media Rights Manager 7 SDK geschützt hat. Das URL-Attribut MF PD _ _ ASF _ CONTENTENCRYPTION _ LICENSE _ stellt ein Bytearray bereit, das dem Feld Data des Headerobjekts entspricht. Dieses Feld ist erforderlich, um den Inhalt zu verwenden.
Erweitertes Streameigenschaftenobjekt
Dieser Header ist Teil des Headererweiterungsobjekts. Das Eigenschaftenobjekt für erweiterten Stream stellt Eigenschaften des Streams bereit, die nicht im Streameigenschaftenobjekt definiert sind. Diese Eigenschaften werden hauptsächlich verwendet, um die Parameter "Leaky Bucket" zu bestimmen, die vom Decoder verwendet werden. Diese Eigenschaften werden auch vom Encoder beim Komprimieren von Daten verwendet. Dies wird vom Profilobjekt und dem Streamkonfigurationsobjekt verwaltet. Weitere Informationen finden Sie unter Erstellen und Konfigurieren von ASF Streams.
In der folgenden Tabelle sind die Felder Objekt für erweiterte Streameigenschaften und die entsprechenden Attribute des Streamdeskriptors aufgeführt.
| Feld "Erweiterte Streameigenschaften" | Streamdeskriptorattribut | BESCHREIBUNG |
|---|---|---|
| Datenbitrate | MF _ SD _ ASF _ EXTSTRMPROP _ AVG _ DATA _ BITRATE | Durchschnittliche Datenrate in Bits pro Sekunde. |
| Puffergröße | MF _ SD _ ASF _ EXTSTRMPROP _ AVG _ BUFFERSIZE | Leaky bucket size (Bucketgröße für Lecks). Der Wert ist die Anzahl von Millisekunden von Daten, die mit der durchschnittlichen Datenrate in den Puffer passen können. |
| Alternative Datenbitrate | MF _ SD _ ASF _ EXTSTRMPROP _ MAX _ DATA _ BITRATE | Spitzendatenrate in Bits pro Sekunde. Die Spitzendatenrate wird für Datenströme mit variabler Bitrate verwendet. |
| Alternative Puffergröße | MF _ SD _ ASF _ EXTSTRMPROP _ MAX _ BUFFERSIZE | Maximale Bucketgröße für Lecks. Der Wert ist die Anzahl von Millisekunden von Daten, die bei der Spitzendatenrate in den Puffer passen können. |
| Streamsprach-ID | MF _ SD _ ASF _ EXTSTRMPROP _ LANGUAGE _ ID _ INDEX | Die Sprache, die der Stream verwendet, angegeben als Index in der Liste der Sprachen im Sprachlistenobjekt. |
Sprachlistenobjekt
Dieses Headerobjekt ist Teil des Headererweiterungsobjekts. Falls vorhanden, stellt das MF _ PD _ ASF _ LANGLIST-Attribut eine Liste von Sprachbezeichnern bereit, die in der Datei unterstützt werden. Die Bezeichner sind mit RFC 1766 zum Angeben von Sprachen kompatibel.
Objekt für gegenseitigen Ausschluss
Dieser Header gibt Gruppen von Streams und deren Eigenschaften an, von denen jeweils nur eine übermittelt wird. Weitere Informationen finden Sie unter Using Mutual Exclusion for ASF Streams.