Übersicht über das Windows Media Format SDK

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Das Windows Media Format SDK enthält Objekte zum Ausführen von Aufgaben an drei Punkten im Lebenszyklus einer ASF-Datei: Erstellung, Bearbeitung und Wiedergabe. Einige Anwendungen, insbesondere für die Videobearbeitung, verwenden die umfassende Funktionalität des Windows Media Format SDK, um den Inhalt von ASF-Dateien zu lesen, diesen Inhalt zu ändern und die Ergebnisse in eine neue Datei zu schreiben. Es ist jedoch am einfachsten, sich dieses SDK in den drei Phasen der Erstellung, Bearbeitung und Wiedergabe von Dateien zu vorstellen.

ASF-Dateierstellung mit dem Windows Media Format SDK

Der Prozess des Schreibens von ASF-Dateien mit dem Windows Media Format SDK ist auf hoher Ebene ziemlich einfach. Die Dateierstellung wird von einem Writer-Objekt verwaltet. Sie teilen dem Writer-Objekt mit, welche Art von Datei Sie erstellen möchten, indem Sie ein Profilobjekt angeben, das es verwenden soll. Jedes Profilobjekt enthält die Einstellungen für eine ASF-Datei. Einige Profile sind in diesem SDK enthalten, und die Profilbearbeitung wird von einer Reihe von Objekten unterstützt. Wenn Sie ein Profil für das Writer-Objekt festgelegt haben, das verwendet werden soll, können Sie mit der Übergabe von Beispielen an den Writer zur Verarbeitung beginnen. In den meisten Fällen ist ein Beispiel ein Audio- oder Videoteil, das nicht komprimiert ist, aber ein Beispiel kann eine beliebige Art von Daten sein.

Intern führt der Schreiber drei Hauptaufgaben aus. Wenn der Stream, zu dem ein Beispiel gehört, komprimiert werden soll, kommuniziert der Writer mit dem Codierungsteil des Codecs (Kompressor/Dekomprimierung), um das Beispiel zu komprimieren. Sobald die Beispiele in der vom Profil angegebenen Form vorliegen, zerlegt der Writer die Beispiele in Pakete der entsprechenden Größe auf, die über ein Netzwerk gestreamt werden können. Schließlich werden die Daten aus den verschiedenen Datenströmen multiplexed oder verschachtelt, sodass Beispiele mit ähnlichen Darstellungszeiten in allen Datenströmen im Datenabschnitt der ASF-Datei nahe beieinander liegen.

Das Writer-Objekt schreibt keine Datei selbst. Es kommuniziert mit einem oder mehreren Objekten namens Senken, die die Daten vom Writer an sein Ziel übermitteln. Bei lokalen Dateien verwaltet eine Dateisenke das Schreiben der Daten in die Datei. Sie können auch Netzwerksenken so konfigurieren, dass die ASF-Daten über ein Netzwerk übermittelt werden. In der Regel wird mehr als eine Senke verwendet. Beispielsweise kann eine Anwendung eine Datei über ein Netzwerk streamen und gleichzeitig eine Kopie als Datei auf einem lokalen Datenträger speichern. Mithilfe einer Pushsenke können Sie Inhalte aus Ihrer Schreibanwendung auf einen oder mehrere Server mit Windows Media Services übertragen, wodurch die Inhalte dann an Benutzer verteilt werden.

ASF-Dateibearbeitung mit dem Windows Media Format SDK (Metadatenbearbeitung)

Beim Bearbeiten des Inhalts des Datenabschnitts einer ASF-Datei wird die Datei neu geschrieben. Das Windows Media Format SDK stellt keine Objekte bereit, die den Datenabschnitt direkt bearbeiten. Für einfache Bearbeitungen, z. B. das Verketten von zwei Dateien oder das Ausschneiden von Inhalten aus einer Datei, können Sie Beispiele lesen, ohne sie zu dekomprimieren, und dann mit denselben Headerinformationen in eine neue Datei schreiben. Bei komplizierteren Bearbeitungen werden Änderungen am Profil vorgenommen, das für die neue Datei verwendet wird.

Das Windows Media Format SDK unterstützt das Bearbeiten von Teilen des Headerabschnitts, ohne die Datei neu zu schreiben. Der Header einer ASF-Datei enthält viele verschiedene Datentypen. Die am häufigsten bearbeiteten Metadatenattribute sind Name-Wert-Paare, die Aspekte des Inhalts und die an der Erstellung beteiligten Personen beschreiben. Sie können Metadaten mit dem Metadaten-Editor-Objekt des Windows Media Format SDK bearbeiten. Dieses Objekt öffnet eine ASF-Datei, ermöglicht es Ihnen, einen Teil des Inhalts des Headers zu ändern, die Änderungen in die Datei zu schreiben und die Datei zu schließen. Die Metadatenbearbeitung ist sehr einfach, mit einfachen Methodenaufrufen zum Abrufen und Festlegen von Werten.

ASF-Dateilesen mit dem Windows Media Format SDK

Das Windows Media Format SDK bietet zwei verschiedene Objekte zum Lesen von ASF-Dateien: das Reader-Objekt und das synchrone Reader-Objekt. Das Reader-Objekt ist in allen Versionen des SDK verfügbar, während für das synchrone Reader-Objekt das Windows Media Format 9 Series SDK oder eine höhere Version erforderlich ist. Der Hauptunterschied zwischen den beiden besteht darin, dass das Reader-Objekt Beispiele an Ihre Anwendung sendet, indem Ereignisse an eine Rückrufmethode ausgelöst werden, während der synchrone Reader einzelne Beispiele als Reaktion auf Methodenaufrufe bereitstellt.

Um das Reader-Objekt zu verwenden, müssen Sie mehrere Rückrufmethoden implementieren, um auf status- und Beispielnachrichten aus dem Leserobjekt zu reagieren. Sie konfigurieren den Reader so, dass er den Inhalt nach Bedarf übermittelt, den Reader startet und auf die Beispielnachrichten wartet. Der Prozess des Abrufens von Beispielen aus einer ASF-Datei ist im Grunde das Gegenteil des Schreibvorgangs. Das Reader-Objekt kommuniziert mit den Codecs, die zum Decodieren komprimierter Datenströme erforderlich sind, und übermittelt unkomprimierte Daten an Ihre Anwendung. Sie können das Reader-Objekt auch so konfigurieren, dass Beispiele im komprimierten Zustand übermittelt werden, sodass Sie einen zuvor codierten Stream in eine neue Datei einschließen können.

Das synchrone Reader-Objekt funktioniert in etwa auf die gleiche Weise wie das Reader-Objekt. Anstatt Rückrufe zu konfigurieren, müssen Sie jedes Beispiel vom synchronen Reader einzeln anfordern. Für die Verwendung des synchronen Readers ist nur ein einzelner Thread erforderlich, während die Verwendung des Readers mehrere Threads erfordert. Das synchrone Reader-Objekt hat unter bestimmten Umständen mehrere Vorteile gegenüber dem Reader-Objekt, vor allem für Anwendungen zur Inhaltsbearbeitung, die schnell auf verschiedene Teile einer Datei zugreifen und Daten zwischen Dateien kopieren müssen. Das synchrone Leserobjekt ist viel einfacher zu verwenden und erleichtert die Suche nach bestimmten Stellen im Datenabschnitt. Der synchrone Reader unterstützt jedoch das Lesen von Dateien über ein Netzwerk nicht und die Verwaltung digitaler Rechte nicht.

Andere Vorgänge mit dem Windows Media Format SDK

Zusätzlich zu den drei soeben beschriebenen Standard Funktionsbereichen verfügt das Windows Media Format SDK über Objekte zum Ausführen anderer Vorgänge im Zusammenhang mit ASF-Dateien. Das Profil-Manager-Objekt wird verwendet, um Profile zu erstellen und darauf zuzugreifen und sie zu speichern. Das Indexerobjekt erstellt Indexobjekte in ASF-Dateien, die die Suche in Videodateien ermöglichen. Schließlich unterstützen das Leserobjekt und das Writer-Objekt die Verwaltung digitaler Rechte, um die geistigen Rechte von Inhaltserstellern zu schützen.

Hinweis Die Absicht der ASF-Dateistruktur und dieses SDK im Allgemeinen besteht darin, digitale Mediendateien zu erstellen, die Audio- und Videoinhalte enthalten, und diese Dokumentation wird mit diesem Ziel geschrieben. Die ASF-Dateistruktur funktioniert jedoch auch für andere Inhaltstypen. Möglicherweise finden Sie viele Anwendungen für ASF-Dateien, die sich nicht auf Audio und Video beziehen.

Informationen zum Windows Media Format SDK