Delen via


Codec-indelingen opsommen

[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 codec-indeling is een streamconfiguratieobject dat is gevuld met gegevens uit een codec. Elke codec-indeling bevat een mediaconfiguratie die wordt ondersteund door de codec. De meeste audiocodecs ondersteunen een eindig aantal indelingen, die elk door de codec worden geïnventariseerd en kunnen worden geopend met behulp van de methoden van IWMCodecInfo. Videocodecs bieden daarentegen slechts één indeling. Dit komt doordat videostreams variabelen hebben, zoals framegrootte, die flexibeler zijn dan de instellingen van een audiostream. Met een videostream moet u enkele van de stroomconfiguratiewaarden invullen; configuraties voor audiostreams mogen alleen worden bewerkt om een naam, verbindingsnaam en streamnummer toe te wijzen. Zie Algemene configuratie voor alle streamsvoor meer informatie.

De codec-indelingen die zijn geïnventariseerd, zijn afhankelijk van de huidige instellingen voor codec-inventarisatie, die zijn ingesteld met behulp van IWMCodecInfo3::SetCodecEnumerationSetting. Op dit moment worden slechts twee codec-eigenschappen ondersteund: g_wszNumPasses, waarmee het aantal coderingspassen wordt opgegeven dat door de codec wordt uitgevoerd en g_wszVBREnabled, waarmee wordt aangegeven of de codec variabele bitsnelheidscodering gebruikt. Het maximum aantal coderingspassen dat wordt ondersteund door een van de codecs is twee, dus er zijn vier afzonderlijke configuraties waarvoor u codecs kunt ophalen, zoals wordt weergegeven in de volgende tabel.

  Constante bitsnelheidsstroom (CBR) CBR-stroom met 2-passen Op kwaliteit gebaseerde variabele bitsnelheid (VBR) stroom Op bitsnelheid gebaseerde VBR-stroom (beperkt of niet-gebonden)
g_wszVBREnabled ONWAAR ONWAAR WAAR WAAR
g_wszNumPasses 1 2 1 2

 

Als u de indelingen wilt inventariseren die worden ondersteund voor een codec, gebruikt u IWMCodecInfo::GetCodecFormatCount om het aantal ondersteunde codecs te vinden. Roep vervolgens IWMCodecInfo::GetCodecFormat aan voor elke indeling. De indelingsindexen variëren van nul tot één kleiner dan het totale aantal ondersteunde indelingen. U kunt een beschrijving van de indeling ophalen door IWMCodecInfo2::GetCodecFormatDescaan te roepen. Wanneer u GetCodecFormatDesc-gebruikt, hoeft u GetCodecFormatniet te gebruiken, omdat het streamconfiguratieobject door beide methoden wordt opgehaald. Videocodec-indelingen bevatten geen beschrijving. Elke videocodec heeft slechts één indeling die wordt gebruikt voor alle streams van dat type.

Wanneer u een codec-indeling ophaalt, krijgt u de IWMStreamConfig interface van een streamconfiguratieobject met de indelingsinstellingen.

Stream-configuratiegegevens ophalen uit codecs