Gegenseitiger Ausschluss

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Jede ASF-Datei enthält einen oder mehrere Streams, die jeweils digitale Mediendaten enthalten. Unter normalen Umständen ist jeder Stream einer einzelnen Ausgabe zugeordnet. Bei der Wiedergabe liefert das Reader-Objekt Beispiele für jede Ausgabe. Standardmäßig wird also jeder Stream in einer ASF-Datei bei der Wiedergabe vom Reader bereitgestellt.

Es gibt Situationen, in denen Sie nicht möchten, dass jeder Stream an den Client übermittelt wird. Wenn Sie z. B. eine Videodatei mit fünf Audiostreams erstellen, einen für jede von fünf Sprachen, soll jeweils nur eine davon bereitgestellt werden. Der gegenseitige Ausschluss ist ein Feature des Windows Media Format SDK, mit dem Sie eine Reihe von sich gegenseitig ausschließenden Streams angeben können, die alle der gleichen Ausgabe entsprechen.

Der gegenseitige Ausschluss ist in dem Profil definiert, das zum Erstellen einer Datei verwendet wird. Sie konfigurieren den gegenseitigen Ausschluss in einem Profil mithilfe von Objekten für gegenseitigen Ausschluss. Sie fügen Dem Objekt für gegenseitigen Ausschluss Datenströme nacheinander hinzu, legen den Typ fest und schließen das Objekt in das Profil ein.

Das Windows Media Format SDK erkennt vier Arten von gegenseitigem Ausschluss:

  • Bitrate
  • Sprache
  • Präsentation
  • Unbekannt

Gegenseitiger Ausschluss nach Bitrate

Der gegenseitige Ausschluss der Bitrate ist eine besondere Art der gegenseitigen Ausgrenzung und wird häufiger als gegenseitiger Ausschluss mit mehreren Bitraten (MBR) bezeichnet. Ein gegenseitiger MBR-Ausschluss enthält eine Reihe von Streams, die alle aus derselben Eingabe stammen, aber mit unterschiedlichen Bitraten codiert sind. Bei der Wiedergabe einer Datei mit MBR bestimmt der Leser basierend auf der verfügbaren Bandbreite den am besten zu verwendenden Datenstrom.

Das Windows Media Format SDK unterstützt MBR für Audio- und Videostreams. Das SDK unterstützt auch eine spezielle Art von MBR-Video, die als MULTI-Videogröße MBR bezeichnet wird. Dies ist wie normales MBR-Video, mit dem Unterschied, dass die einzelnen Streams unterschiedliche Framegrößen haben können. Sie können beispielsweise einige Streams mit der Standardvideogröße von 320 x 240 und einige andere mit höheren Bitraten und einer Videogröße von 640 x 480 verwenden.

Gegenseitiger Ausschluss nach Sprache

Der sprachbasierte gegenseitige Ausschluss ist für die Verwendung mit Inhalten (in der Regel Audio), die in mehreren Sprachen aufgezeichnet wurden, konzipiert. Ein sprachbasierter gegenseitiger Ausschluss umfasst mehrere Datenströme, die aus eindeutigen Eingaben stammen. Jede Eingabe ist derselbe Inhalt, jedoch in einer anderen Sprache.

Damit der gegenseitige Ausschluss nach Sprache funktioniert, muss die Leseanwendung Logik enthalten, um die geeignete Sprache auszuwählen. Wenn Sie eine Anwendung zum Wiedergeben von ASF-Dateien schreiben und Dateien mit sprachbasiertem gegenseitigen Ausschluss unterstützen möchten, sollten Sie den entsprechenden Stream auswählen, bevor Sie mit der Wiedergabe beginnen.

Gegenseitiger Ausschluss durch Präsentation

Der präsentationsbasierte gegenseitige Ausschluss wird bereitgestellt, um Videostreams zu unterstützen, die denselben Inhalt enthalten, der mit unterschiedlichen Seitenverhältnissen codiert ist. In der Regel wird dies bei der Bereitstellung von Videos in einer Briefkastenversion (Seitenverhältnis 16:9) sowie für Fernsehbildschirme (Seitenverhältnis 4:3) verwendet.

Die Auswahl einer Präsentation für die Wiedergabe wird am häufigsten vom Benutzer bestimmt. Wenn Sie eine Anwendung zur Wiedergabe von ASF-Dateien schreiben und Dateien mit präsentationsbasiertem gegenseitigen Ausschluss unterstützen möchten, sollten Sie dem Benutzer die Option zur Auswahl eines Präsentationstyps für die Anzeige präsentieren.

Unbekannter gegenseitiger Ausschluss

Sie können den gegenseitigen Ausschluss basierend auf beliebigen Kriterien erstellen. Alle benutzerdefinierten Gegenseitigkeitsausschlusstypen sollten mit dem unbekannten Typ erstellt werden.

Erweiterte Features für gegenseitigen Ausschluss

Sie können auch den gegenseitigen Ausschluss verwenden, um Gruppen Streams zuzuweisen, die sich gegenseitig ausschließen. Beispielsweise können Sie Audiostreams in mehreren Sprachen verwenden und jedem einen anderen Videostream zuweisen. Sie verwenden den gegenseitigen Ausschluss, um jeden Audiodatenstrom mit dem entsprechenden Videostream zu gruppieren und alle Gruppen gegenseitig auszuschließen.

Der Leser wählt automatisch Streams für alle gegenseitigen Ausschlüsse aus. Für alle Arten des gegenseitigen Ausschlusses mit Ausnahme von MBR und sprachbasiertem gegenseitigem Ausschluss wählt der Leser immer den Standarddatenstrom aus, bei dem es sich um den ersten Stream handelt, der dem Objekt des gegenseitigen Ausschlusses im Profil hinzugefügt wurde. Für MBR wählt der Leser den Stream aus, der am besten zur verfügbaren Bandbreite zum Zeitpunkt der Wiedergabe passt. Wenn Sie den Standarddatenstrom nicht verwenden möchten, können Sie die Streamauswahl auf manuell festlegen, bevor Sie mit dem Lesen einer Datei beginnen.

Die manuelle Streamauswahl gilt für die gesamte Datei. Probleme können auftreten, wenn in derselben Datei gegenseitige Ausschlüsse unterschiedlicher Art auftreten. Beispielsweise kann eine Datei sowohl bitratenbasierte gegenseitige Ausgrenzung als auch benutzerdefinierte gegenseitige Ausgrenzung enthalten. Um einen anderen Stream als den Standard im benutzerdefinierten gegenseitigen Ausschluss auszuwählen, müssen Sie die manuelle Streamauswahl verwenden. Wenn Sie jedoch die manuelle Datenstromauswahl verwenden, wählt der Leser nicht automatisch den Datenstrom mit mehreren Bitraten aus. Sie müssen diese Eventualität in Ihrer Anwendung planen, wenn Sie mehrere Arten des gegenseitigen Ausschlusses in einer einzelnen Datei unterstützen möchten. In der Regel bedeutet dies, eigene Streamauswahlroutinen für normalerweise automatische Arten gegenseitigen Ausschlusses zu erstellen.

ASF-Dateifeatures

Verwenden des gegenseitigen Ausschlusses