Sdílet prostřednictvím


Zobrazení výčtu formátů kodeků

[Funkce přidružená k této stránce, Windows Media Format 11 SDK, je starší funkce. Byl nahrazen čtečkou zdroje a ukladačem. Source Reader a Sink Writer byly optimalizovány pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal Čtečku zdroje a Zapisovač přijímače 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é.]

Formát kodeku je objekt konfigurace datového proudu naplněný daty z kodeku. Každý formát kodeku obsahuje konfiguraci médií podporovanou kodekem. Většina zvukových kodeků podporuje konečný počet formátů, z nichž každý je vyčíslený kodekem a je přístupný pomocí metod IWMCodecInfo. Videokodeky na druhé straně poskytují pouze jeden formát. Je to proto, že streamy videa mají proměnné, jako je velikost rámce, které jsou flexibilnější než nastavení zvukového streamu. Pomocí video streamu musíte vyplnit některé hodnoty konfigurace datového proudu; Konfigurace zvukového streamu by se měly upravovat jenom pro přiřazení názvu, názvu připojení a čísla datového proudu. Další informace naleznete v tématu Konfigurace společné pro všechny datové proudy.

Formáty kodeků, které jsou uvedeny, závisí na aktuálním nastavení výčtu kodeků, které jsou nastaveny pomocí IWMCodecInfo3::SetCodecEnumerationSetting. V současné době jsou podporovány pouze dvě vlastnosti kodeku: g_wszNumPasses, která určuje počet průchodů kódování, které bude kodek provádět, a g_wszVBREnabled, který určuje, zda kodek bude používat kódování proměnlivé přenosové rychlosti. Maximální počet průchodů kódováním podporovaný některým z kodeků je dva, takže existují čtyři odlišné konfigurace, pro které můžete získat kodeky, jak je znázorněno v následující tabulce.

  Datový proud CBR (Constant Bit Rate) dvouprůchodový CBR stream Datový proud s proměnnou datovou rychlostí na základě kvality (VBR) Datový proud VBR založený na přenosové rychlosti (omezený nebo bez omezení)
g_wszVBREnabled NEPRAVDA NEPRAVDIVÝ PRAVDIVÝ PRAVDIVÝ
g_wszNumPasses 1 2 1 2

 

K vytvoření výčtu podporovaných formátů kodeku použijte IWMCodecInfo::GetCodecFormatCount k vyhledání počtu podporovaných kodeků. Potom volejte IWMCodecInfo::GetCodecFormat pro každý formát. Indexy formátu jsou v rozsahu od nuly až po jeden menší než celkový počet podporovaných formátů. Popis formátu můžete načíst voláním IWMCodecInfo2::GetCodecFormatDesc. Při použití GetCodecFormatDesc, nemusíte používat GetCodecFormat, protože objekt konfigurace streamu je načten oběma metodami. Formáty kodeků videa neobsahují popis. Každý kodek videa má pouze jeden formát, který se používá pro všechny datové proudy daného typu.

Když načtete formát kodeku, získáte rozhraní IWMStreamConfig objektu konfigurace datového proudu obsahujícího nastavení formátu.

získávání informací o konfiguraci streamu z kodeků