Sdílet prostřednictvím


Vzájemné vyloučení

[Funkce přidružená k této stránce, Windows Media Format 11 SDK, je starší funkce. Byla nahrazena čtečkou zdroje a zapisovače jímky. a zapisovač jímky jsou optimalizované pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal Čtečka zdrojového kódu a Zapisovač jímky místo Windows Media Format 11 SDK, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]

Každý soubor ASF obsahuje jeden nebo více datových proudů, z nichž každý obsahuje data digitálních médií. Za normálních okolností je každý datový proud přidružený k jednomu výstupu. Při přehrávání objekt čtečky doručuje vzorky pro každý výstup. Ve výchozím nastavení tedy každý datový proud v souboru ASF doručí čtenář při přehrávání.

V situacích, kdy nechcete, aby každý datový proud doručil klientovi. Pokud například vytvoříte videosoubor s pěti zvukovými streamy, jeden pro každý z pěti jazyků, budete chtít, aby se najednou doručovaly jenom jeden z nich. Vzájemné vyloučení je funkce sady WINDOWS Media Format SDK, která umožňuje určit řadu vzájemně se vylučujících datových proudů, které se všechny shodují se stejným výstupem.

Vzájemné vyloučení je definováno v profilu použitém k vytvoření souboru. Vzájemné vyloučení v profilu nakonfigurujete pomocí objektů vzájemného vyloučení. Do objektu vzájemného vyloučení přidáte datové proudy po jednom, nastavíte typ a zahrnete objekt do profilu.

Sada Windows Media Format SDK rozpozná čtyři typy vzájemného vyloučení:

  • Přenosová rychlost
  • Jazyk
  • Prezentace
  • Neznámý

Vzájemné vyloučení podle přenosové rychlosti

Vzájemné vyloučení bitové rychlosti je zvláštní typ vzájemného vyloučení a běžně se označuje jako vzájemné vyloučení s více přenosovými rychlostmi (MBR). Vzájemné vyloučení MBR obsahuje řadu datových proudů, které pocházejí ze stejného vstupu, ale jsou kódovány v různých přenosových rychlostech. Při přehrávání souboru s protokolem MBR určuje čtenář nejlepší datový proud, který se má použít na základě dostupné šířky pásma.

Sada Windows Media Format SDK podporuje MBR pro zvukové streamy a streamy videa. Sada SDK také podporuje speciální typ videa MBR označovaného jako více velikostí videa MBR. To je jako normální video MBR s tím rozdílem, že jednotlivé streamy můžou mít různé velikosti snímků. Můžete mít například některé datové proudy s výchozí velikostí videa 320 × 240 a jiné s vyšší přenosovou rychlostí a velikostí videa 640 × 480.

Vzájemné vyloučení podle jazyka

Vzájemné vyloučení založené na jazyce je určeno pro použití s obsahem (obvykle zvukem) zaznamenaným v několika jazycích. Vzájemné vyloučení založené na jazyce zahrnuje několik datových proudů, které pocházejí z jedinečných vstupů. Každý vstup je stejný obsah, ale v jiném jazyce.

Aby fungovalo vzájemné vyloučení podle jazyka, musí aplikace pro čtení obsahovat logiku pro výběr příslušného jazyka. Pokud napíšete aplikaci pro přehrávání souborů ASF a chcete podporovat soubory se vzájemným vyloučením na základě jazyka, měli byste před zahájením přehrávání vybrat odpovídající datový proud.

Vzájemné vyloučení podle prezentace

Vzájemné vyloučení založené na prezentaci je poskytováno pro podporu video streamů, které obsahují stejný obsah kódovaný s různými poměry stran. Obvykle se používá při poskytování videa ve verzi dopisové schránky (poměr stran 16:9) a také naformátovaný pro televizní obrazovky (poměr stran 4:3).

Výběr prezentace pro přehrávání je nejčastěji určen uživatelem. Pokud napíšete aplikaci pro přehrávání souborů ASF a chcete podporovat soubory se vzájemným vyloučením na základě prezentace, měli byste uživateli předložit možnost vybrat typ prezentace pro prohlížení.

Neznámé vzájemné vyloučení

Vzájemné vyloučení můžete vytvořit na základě libovolných kritérií, která se vám líbí. Všechny vlastní typy vzájemného vyloučení by měly být vytvořeny pomocí neznámého typu.

Pokročilé funkce vzájemného vyloučení

Vzájemné vyloučení můžete použít také k přiřazení datových proudů ke skupinám, které se vzájemně vylučují. Můžete například chtít mít zvukové streamy ve více jazycích a přiřadit k nim jiný stream videa. Vzájemné vyloučení použijete k seskupení každého zvukového streamu s odpovídajícím video streamem a vzájemnému vyloučení všech skupin.

Čtenář automaticky vybere datové proudy pro všechna vzájemná vyloučení. U všech typů vzájemného vyloučení s výjimkou MBR a vzájemného vyloučení založeného na jazyce čtenář vždy vybere výchozí datový proud, což je první datový proud přidaný k objektu vzájemného vyloučení v profilu. Pro MBR čtenář vybere datový proud, který nejlépe vyhovuje dostupné šířce pásma v době přehrávání. Pokud nechcete použít výchozí datový proud, můžete před zahájením čtení souboru nastavit výběr datového proudu na ruční.

Ruční výběr datového proudu se vztahuje na celý soubor. Potíže mohou nastat, pokud máte vzájemné vyloučení různých typů ve stejném souboru. Soubor může například obsahovat vzájemné vyloučení založené na přenosové rychlosti i vlastní vzájemné vyloučení. Pokud chcete vybrat jiný datový proud než výchozí ve vlastním vzájemném vyloučení, musíte použít ruční výběr datového proudu. Pokud ale použijete ruční výběr datového proudu, čtečka automaticky nevybere datový proud s více přenosovou rychlostí. Pokud plánujete podporu více typů vzájemného vyloučení v jednom souboru, musíte v aplikaci naplánovat tuto případnost. Obvykle to znamená, že vytváříte vlastní rutiny výběru datových proudů pro normální automatické typy vzájemného vyloučení.

funkce souborů ASF

použití vzájemného vyloučení