Profile
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK-ist ein Legacyfeature. Es wurde von Source Reader und Sink Writerersetzt. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code Source Reader und Sink Writer- anstelle Windows Media Format 11 SDK-verwendet werden soll. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]
Ein Profil ist eine Sammlung von Daten, die die Konfiguration einer ASF-Datei beschreiben. Mindestens ein Profil muss Konfigurationseinstellungen für einen einzelnen Datenstrom enthalten.
Die Datenstrominformationen in einem Profil enthalten die Bitrate, das Pufferfenster und die Medieneigenschaften für den Datenstrom. Die Datenstrominformationen für Audio und Video beschreiben genau, wie die Medien in der Datei konfiguriert sind, einschließlich des Codecs (falls vorhanden), der zum Komprimieren der Daten verwendet wird.
Ein Profil enthält auch Informationen zu den verschiedenen ASF-Dateifeatures, die in dateien verwendet werden, die damit erstellt werden. Dazu gehören mutual exclusion, Stream Prioritization, Bandwidth Sharingund Data Unit Extensions.
In früheren Versionen des Windows Media Format SDK wurden vorkonfigurierte Systemprofile bereitgestellt, die verwendet werden können, um allgemeine Dateitypen zu erstellen oder geringfügig an die Anforderungen Ihrer Anwendung anzupassen. Systemprofile werden für die Codecs der Windows Media 9-Serie nicht unterstützt. Dies liegt daran, dass die Anzahl der "allgemeinen" Dateitypen exponentiell gewachsen ist, indem neue Features hinzugekommen sind. Es wird erwartet, dass praktisch jeder Inhaltsersteller Anforderungen hat, die über die einfachen Lösungen hinausgehen, die von Systemprofilen bereitgestellt werden. Sie können die alten Systemprofile weiterhin als Ausgangspunkt verwenden. Weitere Informationen finden Sie unter Verwenden von Systemprofilen.
Sie müssen den Writer mit einem Profil für jede Datei angeben, die Sie schreiben. Sie können ein Profil angeben, das mit dem Writer verwendet werden soll, indem Sie IWMWriter::SetProfileaufrufen.
Profildaten sind in verschiedenen Formen vorhanden, die vom Windows Media Format SDK verwendet werden können. Auf Profilinformationen kann auch auf verschiedene Arten zugegriffen werden. Dies kann zu Verwirrung darüber führen, was ein Profil ist und wie es verwendet wird.
Das folgende Diagramm zeigt, wie Profildaten im SDK verwendet werden.
Profildaten verwenden drei verschiedene Formen: Daten, die in einem Profilobjekt in einer Anwendung, einer XML-Datei auf dem Datenträger und Daten im Header einer ASF-Datei enthalten sind. Jede dieser Datenformen wird als schattiertes Rechteck im Diagramm angezeigt.
Daten in einem Profile-Objekt
Wenn Sie ein Profil bearbeiten, verwenden Sie ein Profilobjekt, das alle Profildaten kapselt. Sie können ein leeres Profilobjekt mithilfe des Profil-Manager-Objekts erstellen. Sie können auch das Profil-Manager-Objekt verwenden, um vorhandene Profildaten in ein Profilobjekt zu laden.
Die meisten Profildaten müssen mithilfe von Objekten hinzugefügt und bearbeitet werden, die einzelne Teile des Profils darstellen. Dazu gehören Streamkonfigurationsobjekte, gegenseitige Ausschlussobjekte, Bandbreitenfreigabeobjekte und ein Streampriorisierungsobjekt. Jeder dieser Objekttypen kann mithilfe von Methoden im Profilobjekt erstellt werden. Das Vornehmen von Änderungen an diesen Objekten wirkt sich nicht auf das Profilobjekt aus, bis Sie eine Methode im Profilobjekt verwenden, um die aktualisierten Daten aus dem anderen Objekt einzuschließen.
Daten in einer XML-Datei
Profildaten werden auf dem Datenträger in Form einer XML-Datei mit der Dateinamenerweiterung PRX gespeichert. Im Windows Media Format SDK enthalten ist eine Sammlung von Profilen, die als Systemprofile bezeichnet werden, die die am häufigsten verwendeten Arten von ASF-Dateien abdecken. Systemprofile werden in einer Datei namens WMSysPr9.prx gespeichert. (Beachten Sie, dass diese Datei tatsächlich keine Systemprofile für die Windows Media 9-Serie enthält, da das Konzept von Systemprofilen nicht mehr verwendet wird.) Wenn Sie eigene benutzerdefinierte Profile speichern, müssen Sie sie in Ihren eigenen Dateien speichern.
Sie können das Profil-Manager-Objekt verwenden, um die Daten aus einem Profilobjekt in einer Zeichenfolge von XML-Text zu speichern. Anschließend können Sie die Datei-E/A-Funktionen verwenden, die Sie zum Speichern der Zeichenfolge auf einem Datenträger verwenden möchten.
Daten im Header einer ASF-Datei
Der Writer verwendet die Informationen aus dem Profil und verwendet diese, um die Datenströme zu erstellen, die in den Datenabschnitt der ASF-Datei gehen. Der Großteil der Profildaten wird im Kopfzeilenbereich der Datei gespeichert, wenn eine Datei geschrieben wird. Bei der Wiedergabe kann das Reader-Objekt (oder das synchrone Leseobjekt) auf die Informationen in der Kopfzeile der Datei zugreifen. In diesem Fall erstellt das Leseobjekt ein Profilobjekt und füllt es mit den Daten aus der Kopfzeile auf.
Wenn Sie über den Reader (oder synchronen Reader) auf die Profildaten zugreifen, können Sie Änderungen an den Profilinformationen vornehmen, aber es gibt keine Möglichkeit, diese Änderungen auf die Datei im Reader anzuwenden. Sie können die Profilinformationen aus einer Datei in einem Leser auf ein Profil in einem Writer anwenden, um eine neue Datei mit den gleichen Einstellungen wie die Datei im Reader zu erstellen. In diesem Fall werden alle Änderungen, die Sie an den Profilinformationen vor dem Festlegen des Profils im Autor vornehmen, in den profilinformationen widerzuspiegeln, die vom Autor registriert wurden.
Verwenden des Profil-Editors
Anstatt Profile mithilfe des Windows Media Format SDK zu erstellen, können Sie den Profil-Editor verwenden, ein Hilfsprogramm, das in Windows Media Encoder enthalten ist. Verwenden Sie in Ihrer Codierungsanwendung die IWMProfileManager::LoadProfileByData- Methode, um das gespeicherte Profil zu laden. In einigen Szenarien, z. B. wenn Sie eine begrenzte Anzahl von Profilen verwenden, die nie dynamisch geändert werden, ist es möglicherweise praktischer, den Profil-Editor zum Erstellen Ihrer Profile zu verwenden.
Wenn Sie jedoch den Profil-Editor verwenden, wird empfohlen, die Einstellung "Videogröße: Wie Videoeingabe" nicht zu verwenden. Wenn dieses Kontrollkästchen aktiviert ist, erstellt der Profil-Editor ein Profil mit der Höhe und Breite der Videoausgabe, die auf Null festgelegt ist. Wenn Windows Media Encoder auf diese Profile trifft, werden die richtigen Werte so festgelegt, dass sie ihren Videoeingaben entsprechen. Der Writer im Windows Media Format SDK tut dies jedoch nicht automatisch, daher müssen Sie sicherstellen, dass Ihre Anwendung die Größe des Videoframes in Fällen festlegt, in denen das Profil keine hat.
Hinweis Einige Streamkonfigurationselemente werden nicht im Profil gespeichert. Die Daten im Profil beschreiben das Format der fertigen ASF-Datei. Eingabemedieneigenschaften und andere Konfigurationsdaten, die vom Writer-Objekt zum Konfigurieren der Codecs verwendet werden, werden nicht im Profil gespeichert. Dazu gehören alle Eigenschaften, die mithilfe der IWMPropertyVault::SetProperty-Methode festgelegt werden.
Verwandte Themen