Profielen
[De functie die is gekoppeld aan deze pagina, Windows Media Format 11 SDK, is een verouderde functie. Het is vervangen door Source Reader en Sink Writer. Bronlezer en Sink Writer zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken bronlezer en Sink Writer- in plaats van Windows Media Format 11 SDK, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
Een profiel is een verzameling gegevens die de configuratie van een ASF-bestand beschrijft. Een profiel moet minimaal configuratie-instellingen voor één stream bevatten.
De streamgegevens in een profiel bevatten de bitsnelheid, het buffervenster en de media-eigenschappen voor de stream. De streaminformatie voor audio en video beschrijft precies hoe de media in het bestand worden geconfigureerd, inclusief welke codec (indien van toepassing) wordt gebruikt om de gegevens te comprimeren.
Een profiel bevat ook informatie over de verschillende asf-bestandsfuncties die worden gebruikt in bestanden die ermee zijn gemaakt. Deze omvatten wederzijdse uitsluiting, stream prioritering, bandbreedte delenen gegevenseenheidextensies.
In eerdere versies van de Windows Media Format SDK zijn vooraf geconfigureerde systeemprofielen beschikbaar, die kunnen worden gebruikt om algemene bestandstypen te maken, of iets aangepast aan de behoeften van uw toepassing. Systeemprofielen worden niet ondersteund voor de Codecs van de Windows Media 9-serie. Dit komt doordat het aantal 'algemene' typen bestanden exponentieel is toegenomen met de toevoeging van nieuwe functies. Er wordt verwacht dat vrijwel elke maker van inhoud behoefte heeft die verder gaat dan de eenvoudige oplossingen die worden geleverd door systeemprofielen. U kunt nog steeds de oude systeemprofielen gebruiken als uitgangspunt. Zie Systeemprofielen gebruikenvoor meer informatie.
U moet de schrijver voorzien van een profiel voor elk bestand dat u schrijft. U kunt een profiel opgeven dat u met de schrijver wilt gebruiken door IWMWriter::SetProfileaan te roepen.
Profielgegevens bestaan in verschillende formulieren die kunnen worden gebruikt door de Windows Media Format SDK. Profielgegevens kunnen ook op verschillende manieren worden geopend. Dit kan leiden tot verwarring over wat een profiel is en hoe het wordt gebruikt.
In het volgende diagram ziet u hoe profielgegevens worden gebruikt in de SDK.
Profielgegevens hebben drie verschillende vormen: gegevens in een profielobject in een toepassing, een XML-bestand op schijf en gegevens in de header van een ASF-bestand. Elk van deze vormen van gegevens wordt weergegeven als een gearceerde rechthoek in het diagram.
Gegevens in een profielobject
Wanneer u een profiel bewerkt, gebruikt u een profielobject dat alle profielgegevens inkapselt. U kunt een leeg profielobject maken met behulp van het profielbeheerobject. U kunt het profielbeheerobject ook gebruiken om bestaande profielgegevens in een profielobject te laden.
De meeste profielgegevens moeten worden toegevoegd en gemanipuleerd door het gebruik van objecten die afzonderlijke onderdelen van het profiel vertegenwoordigen. Dit zijn stroomconfiguratieobjecten, wederzijdse uitsluitingsobjecten, objecten voor het delen van bandbreedte en een stream prioritisatieobject. Elk van deze objecttypen kan worden gemaakt met behulp van methoden in het profielobject. Het aanbrengen van wijzigingen in deze objecten heeft geen invloed op het profielobject totdat u een methode in het profielobject gebruikt om de bijgewerkte gegevens van het andere object op te nemen.
Gegevens in een XML-bestand
Profielgegevens worden op schijf opgeslagen in de vorm van een XML-bestand met de extensie .prx. Opgenomen in de Windows Media Format SDK is een verzameling profielen genaamd systeemprofielen die betrekking hebben op de meest voorkomende typen ASF-bestanden. Systeemprofielen worden opgeslagen in een bestand met de naam WMSysPr9.prx. (Houd er rekening mee dat dit bestand eigenlijk geen systeemprofielen voor Windows Media 9-serie bevat omdat het concept van systeemprofielen niet meer wordt gebruikt.) Wanneer u uw eigen aangepaste profielen opslaat, moet u deze opslaan in uw eigen bestanden.
U kunt het profielbeheerobject gebruiken om de gegevens van een profielobject op te slaan in een tekenreeks met XML-tekst. U kunt vervolgens de I/O-functies van het bestand gebruiken die u wilt gebruiken om de tekenreeks op te slaan in een bestand op schijf.
Gegevens in de header van een ASF-bestand
De schrijver neemt de informatie uit het profiel en gebruikt deze om de streams te maken die naar de gegevenssectie van het ASF-bestand gaan. Het grootste deel van de profielgegevens wordt opgeslagen in de koptekstsectie van het bestand wanneer een bestand wordt geschreven. Bij het afspelen heeft het lezerobject (of het synchrone lezerobject) toegang tot de informatie in de koptekst van het bestand. In dit geval maakt het leesobject een profielobject en vult het met de gegevens uit de koptekst.
Wanneer u de profielgegevens opent met behulp van de lezer (of synchrone lezer), kunt u wijzigingen aanbrengen in de profielgegevens, maar u kunt deze wijzigingen niet toepassen op het bestand in de lezer. U kunt de profielgegevens uit een bestand in een lezer toepassen op een profiel in een schrijver om een nieuw bestand te maken met dezelfde instellingen als het bestand in de lezer. In dit geval worden alle wijzigingen die u aanbrengt in de profielgegevens voordat u het profiel in de schrijver instelt, doorgevoerd in de profielgegevens die door de schrijver zijn geregistreerd.
Profieleditor gebruiken
In plaats van profielen te maken met de Windows Media Format SDK, kunt u Profile Editor gebruiken, een hulpprogramma dat is opgenomen in Windows Media Encoder. Gebruik in uw coderingstoepassing de methode IWMProfileManager::LoadProfileByData methode om het opgeslagen profiel te laden. In sommige scenario's, bijvoorbeeld als u een beperkt aantal profielen gebruikt die nooit dynamisch worden gewijzigd, is het wellicht handiger om de profieleditor te gebruiken om uw profielen te maken.
Als u echter wel Profieleditor gebruikt, is het raadzaam dat u de instelling 'Videogrootte: Hetzelfde als video-invoer' niet gebruikt. Wanneer dit selectievakje is ingeschakeld, maakt Profile Editor een profiel met de hoogte en breedte van de video-uitvoer ingesteld op nul. Wanneer Windows Media Encoder deze profielen tegenkomt, worden de juiste waarden ingesteld die overeenkomen met de video-invoer. De Writer in de Windows Media Format SDK doet dit echter niet automatisch, dus u moet ervoor zorgen dat uw toepassing de grootte van het videoframe instelt in gevallen waarin het profiel geen heeft.
Opmerking Sommige stroomconfiguratie-items worden niet opgeslagen in het profiel. De gegevens in het profiel beschrijven de indeling van het voltooide ASF-bestand. Invoermedia-eigenschappen en andere configuratiegegevens die door het writer-object worden gebruikt om de codecs te configureren, worden niet opgeslagen in het profiel. Dit omvat alle eigenschappen die zijn ingesteld met behulp van de methode IWMPropertyVault::SetProperty.
Verwante onderwerpen