Sdílet prostřednictvím


Profily

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

Profil je kolekce dat, která popisují konfiguraci souboru ASF. Profil musí minimálně obsahovat nastavení konfigurace pro jeden datový proud.

Informace o datovém proudu v profilu obsahují vlastnosti přenosové rychlosti, okna vyrovnávací paměti a médií pro datový proud. Informace o datovém proudu pro zvuk a video popisují přesně to, jak je médium nakonfigurované v souboru, včetně toho, který kodek (pokud existuje) se použije ke komprimaci dat.

Profil obsahuje také informace o různých funkcích souborů ASF, které se budou používat v souborech vytvořených s ním. Patří mezi ně vzájemné vyloučení, stanovení priorit datových proudů, sdílení šířky pásmaa rozšíření datových jednotek .

Předchozí verze sady Windows Media Format SDK poskytovaly předkonfigurované systémové profily, které se dají použít k vytváření běžných typů souborů nebo se mírně změnily tak, aby vyhovovaly potřebám vaší aplikace. Systémové profily nejsou podporovány pro kodeky Windows Media 9 Series. Důvodem je, že počet "běžných" typů souborů se exponenciálně zvýšil přidáním nových funkcí. Očekává se, že prakticky každý tvůrce obsahu potřebuje, aby přesahoval jednoduchá řešení poskytovaná systémovými profily. Staré systémové profily můžete stále používat jako výchozí místo. Další informace naleznete v tématu Použití systémových profilů.

Pro každý soubor, který píšete, musíte zadat zapisovač s profilem. Profil, který se má použít se zapisovačem, můžete zadat voláním IWMWriter::SetProfile.

Data profilu existují v několika různých formách, které lze použít sadou WINDOWS Media Format SDK. K informacím o profilu je také možné přistupovat několika způsoby. To může vést k nejasnostem o tom, co je profil a jak se používá.

Následující diagram ukazuje, jak se data profilu používají v sadě SDK.

diagram znázorňující tok informací o profilu

Data profilu mají tři různé formy: data obsažená v objektu profilu v aplikaci, soubor XML na disku a data v hlavičce souboru ASF. Každá z těchto forem dat se v diagramu zobrazuje jako stínovaný obdélník.

Data v objektu profilu

Při úpravách profilu použijete objekt profilu, který zapouzdřuje všechna data profilu. Prázdný objekt profilu můžete vytvořit pomocí objektu správce profilu. Pomocí objektu správce profilu můžete také načíst existující data profilu do objektu profilu.

Většina dat profilu musí být přidána a manipulována pomocí objektů představujících jednotlivé části profilu. Patří sem objekty konfigurace datových proudů, objekty vzájemného vyloučení, objekty sdílení šířky pásma a objekt stanovení priority datového proudu. Každý z těchto typů objektů lze vytvořit pomocí metod v objektu profilu. Provádění změn těchto objektů nemá vliv na objekt profilu, dokud nepoužijete metodu v objektu profilu k zahrnutí aktualizovaných dat z druhého objektu.

Data v souboru XML

Data profilu se ukládají na disk ve formě souboru XML s příponou názvu souboru .prx. Součástí sady Windows Media Format SDK je kolekce profilů označovaných jako systémové profily, které pokrývají nejběžnější typy souborů ASF. Systémové profily se ukládají do souboru s názvem WMSysPr9.prx. (Všimněte si, že tento soubor ve skutečnosti neobsahuje žádné systémové profily pro windows Media 9 Series, protože koncept systémových profilů se už nepoužívá.) Při ukládání vlastních profilů je nutné je uložit do vlastních souborů.

Pomocí objektu správce profilu můžete uložit data z objektu profilu do řetězce textu XML. Pak můžete použít libovolné vstupně-výstupní funkce souboru, které chcete uložit do souboru na disku.

Data v záhlaví souboru ASF

Zapisovač vezme informace z profilu a použije je k vytvoření datových proudů, které přejdou do datové části souboru ASF. Hromadná data profilu jsou uložena v části záhlaví souboru při zápisu souboru. Při přehrávání má objekt čtenáře (nebo synchronní objekt čtenáře) přístup k informacím v záhlaví souboru. V tomto případě objekt pro čtení vytvoří objekt profilu a naplní ho daty ze záhlaví.

Při přístupu k datům profilu pomocí čtečky (nebo synchronní čtečky) můžete provádět změny informací o profilu, ale neexistuje způsob, jak tyto změny použít v souboru v čtenáři. Informace o profilu ze souboru v čtenáři můžete použít pro profil v zapisovači a vytvořit nový soubor se stejným nastavením jako soubor v čtečce. V takovém případě se všechny změny provedené v informacích o profilu před nastavením profilu v zapisovači projeví v informacích o profilu zaregistrovaných autorem.

Použití Editoru profilů

Místo vytváření profilů pomocí sady Windows Media Format SDK můžete použít Editor profilů, což je nástroj, který je součástí programu Windows Media Encoder. V kódovací aplikaci použijte IWMProfileManager::LoadProfileByData metodu načtení uloženého profilu. V některých scénářích, například pokud používáte omezený počet profilů, které se nikdy nemění dynamicky, může být vhodnější použít Editor profilů k vytvoření profilů.

Pokud ale používáte Editor profilů, doporučujeme nepoužívat nastavení Velikost videa: Stejná jako vstup videa. Pokud je toto políčko zaškrtnuté, Editor profilů vytvoří profil s výškou výstupu videa a šířkou nastavenou na nulu. Když windows Media Encoder narazí na tyto profily, nastaví správné hodnoty tak, aby odpovídaly vstupu videa. Zapisovač v sadě Windows Media Format SDK to ale neprovádí automaticky, takže musíte zajistit, aby vaše aplikace nastavila velikost rámce videa v případech, kdy profil nemá žádný.

Poznámka Některé položky konfigurace datového proudu nejsou uloženy v profilu. Data v profilu popisují formát dokončeného souboru ASF. Vlastnosti vstupního média a další konfigurační data používaná objektem zapisovače ke konfiguraci kodeků nejsou uloženy v profilu. To zahrnuje všechny vlastnosti nastavené pomocí IWMPropertyVault::SetProperty metoda.

objekt sdílení šířky pásma

koncepty

rozhraníIWMProfile

rozhraníIWMProfileManager

objekt vzájemného vyloučení

objektu správce profilu

objekt konfigurace streamu

objektu stanovení priority streamu

práce s profily