Delen via


Wederzijdse uitsluiting

[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.]

Elk ASF-bestand bevat een of meer streams, elk met digitale mediagegevens. Onder normale omstandigheden wordt elke stream gekoppeld aan één uitvoer. Bij het afspelen levert het lezerobject voorbeelden voor elke uitvoer. Als standaard wordt elke stream in een ASF-bestand dus geleverd door de lezer bij het afspelen.

Er zijn situaties waarin u niet wilt dat elke stream aan de client wordt geleverd. Als u bijvoorbeeld een videobestand met vijf audiostreams maakt, één voor elk van de vijf talen, wilt u slechts één van deze tegelijk leveren. Wederzijdse uitsluiting is een functie van de Windows Media Format SDK waarmee u een aantal wederzijds exclusieve streams kunt opgeven die allemaal gelijk zijn aan dezelfde uitvoer.

Wederzijdse uitsluiting wordt gedefinieerd in het profiel dat wordt gebruikt om een bestand te maken. U configureert wederzijdse uitsluiting in een profiel met behulp van wederzijdse uitsluitingsobjecten. U voegt streams één voor één toe aan het object voor wederzijdse uitsluiting, stelt het type in en neemt het object op in het profiel.

De Windows Media Format SDK herkent vier soorten wederzijdse uitsluiting:

  • Bitsnelheid
  • Taal
  • Presentatie
  • Onbekend

Wederzijdse uitsluiting op bitsnelheid

Bitsnelheid wederzijdse uitsluiting is een speciaal type wederzijdse uitsluiting en wordt meestal aangeduid als meervoudige bitsnelheid (MBR) wederzijdse uitsluiting. Een WEDERZIJDSE MBR-uitsluiting bevat een aantal streams die allemaal afkomstig zijn van dezelfde invoer, maar worden gecodeerd met verschillende bitsnelheden. Bij het afspelen van een bestand met MBR bepaalt de lezer de beste stream die moet worden gebruikt op basis van de beschikbare bandbreedte.

De Windows Media Format SDK ondersteunt MBR voor audio- en videostreams. De SDK ondersteunt ook een speciaal type MBR-video met de naam meerdere videogrootte MBR. Dit is net als normale MBR-video, behalve dat de afzonderlijke streams verschillende framegrootten kunnen hebben. U kunt bijvoorbeeld sommige streams hebben met de standaard videogrootte van 320 x 240 en sommige andere met hogere bitsnelheden en 640 x 480 videogrootte.

Wederzijdse uitsluiting per taal

Op taal gebaseerde wederzijdse uitsluiting is ontworpen voor gebruik met inhoud (meestal audio) opgenomen in verschillende talen. Een wederzijdse uitsluiting op basis van taal omvat verschillende streams die afkomstig zijn van unieke invoer. Elke invoer is dezelfde inhoud, maar in een andere taal.

Voor wederzijdse uitsluiting per taal moet de leestoepassing logica bevatten om de juiste taal te selecteren. Als u een toepassing schrijft om ASF-bestanden af te spelen en u bestanden wilt ondersteunen met wederzijdse uitsluiting op basis van taal, moet u de juiste stream selecteren voordat u begint met afspelen.

Wederzijdse uitsluiting per presentatie

Op presentaties gebaseerde wederzijdse uitsluiting wordt geboden ter ondersteuning van videostreams die dezelfde inhoud bevatten die is gecodeerd met verschillende hoogte-breedteverhoudingen. Dit wordt meestal gebruikt bij het leveren van video in een letterbox-versie (hoogte-breedteverhouding 16:9) en opgemaakt voor televisieschermen (hoogte-breedteverhouding 4:3).

De selectie van een presentatie voor afspelen wordt meestal bepaald door de gebruiker. Als u een toepassing schrijft om ASF-bestanden af te spelen en bestanden wilt ondersteunen met wederzijdse uitsluiting op basis van presentaties, moet u de gebruiker presenteren met de optie om een presentatietype te selecteren voor weergave.

Onbekende wederzijdse uitsluiting

U kunt wederzijdse uitsluiting maken op basis van criteria die u wilt. Alle aangepaste wederzijdse uitsluitingstypen moeten worden gemaakt met het onbekende type.

Geavanceerde functies voor wederzijdse uitsluiting

U kunt ook wederzijdse uitsluiting gebruiken om streams toe te wijzen aan groepen die elkaar wederzijds uitsluiten. U wilt bijvoorbeeld audiostreams in meerdere talen hebben en een andere videostream aan elke stream toewijzen. U gebruikt wederzijdse uitsluiting om elke audiostream te groeperen met de bijbehorende videostream en alle groepen wederzijds exclusief te maken.

De lezer selecteert automatisch streams voor alle wederzijdse uitsluitingen. Voor alle typen wederzijdse uitsluiting, behalve MBR en op taal gebaseerde wederzijdse uitsluiting, selecteert de lezer altijd de standaardstroom. Dit is de eerste stream die is toegevoegd aan het wederzijdse uitsluitingsobject in het profiel. Voor MBR selecteert de lezer de stream die het beste past bij de beschikbare bandbreedte op het moment van afspelen. Als u de standaardstroom niet wilt gebruiken, kunt u stroomselectie instellen op handmatig voordat u begint met het lezen van een bestand.

Handmatige stroomselectie is van toepassing op het hele bestand. Er kunnen problemen optreden wanneer u wederzijdse uitsluitingen van verschillende typen in hetzelfde bestand hebt. Een bestand kan bijvoorbeeld zowel op bitsnelheid gebaseerde wederzijdse uitsluiting als aangepaste wederzijdse uitsluiting bevatten. Als u een andere stream wilt selecteren dan de standaardwaarde in de aangepaste wederzijdse uitsluiting, moet u handmatige stroomselectie gebruiken. Als u echter handmatige stroomselectie gebruikt, selecteert de lezer niet automatisch de stroom met meerdere bitsnelheid. U moet deze uiteindelijk in uw toepassing plannen als u van plan bent om meerdere soorten wederzijdse uitsluiting in één bestand te ondersteunen. Dit betekent meestal dat u uw eigen streamselectieroutines maakt voor normaal gesproken automatische typen wederzijdse uitsluiting.

ASF-bestandsfuncties

wederzijdse uitsluiting gebruiken