Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
[Funkce přidružená k této stránce DirectShow je starší funkce. Byla nahrazena MediaPlayer, MMFMediaEnginea Audio/Video Capture v Media Foundation. Tyto funkce jsou optimalizované pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal MediaPlayer, MMFMediaEngine a Audio/Video Capture v Media Foundation místo DirectShow, 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é.]
Rozhraní API kodéru poskytuje jednotné rozhraní pro konfiguraci softwarových a hardwarových kodérů. Aplikace můžou pomocí rozhraní API kodéru nakonfigurovat kodér a uložit nastavení konfigurace. Dodavatelé kodéru můžou pomocí rozhraní API kodéru zpřístupnit možnosti kodéru. I když je rozhraní API kodéru navržené primárně pro kodéry, je obecně dostačující, aby ho dekodéry mohly podporovat i.
Rozhraní API kodéru je přístupné aplikacím prostřednictvím rozhraní ICodecAPI, které je vystaveno filtrem kodéru. Filtr kodéru může být nativní filtr DirectShow, hardwarový kodér nebo objekt DMO (DirectX Media Object).
- Softwarové filtry: Kodér implementovaný jako nativní filtr DirectShow by měl vystavit ICodecAPI přímo.
- Hardwarové kodéry: Kódovací zařízení je vystaveno prostřednictvím jednoho nebo více minidriverů AVStream, které jsou reprezentovány v uživatelském režimu KSProxy. KSProxy překládá volání metody ICodecAPI do sad vlastností KS. Další informace najdete v dokumentaci k sadě DDK.
- Objekty dynamické správy: Objekt DMO by měl zveřejnitrozhraníICodecAPI. Aplikace DirectShow mohou dotazovat filtr DMO Wrapper, který zveřejňuje rozhraní agregací DMO. Aplikace, které nejsou založené na DirectShow, se můžou dotazovat přímo na DMO.
Capabilties kodéru
Kodér může zaregistrovat seznam funkcí vysoké úrovně tím, že je uloží do systémového registru. Každá funkce je identifikována identifikátorem GUID. Pokud chcete vytvořit výčet funkcí určitého kodéru, postupujte takto:
- Vytvořte moniker, který představuje filtr kodéru. (Viz použití enumerátoru systémových zařízení.)
- Zadejte dotaz na moniker filtru pro rozhraní IGetCapabilitiesKey.
- Volání IGetCapabilitiesKey::GetCapabilitiesKey. Metoda vrátí popisovač klíče registru, který obsahuje seznam schopností filtru.
- Volání RegEnumValue funkce pro výčet hodnot pro vrácený klíč.
Pokud vytváříte kodér, vytvořte položky registru pro možnosti při registraci filtru. Pro softwarové filtry vytvořte klíč s názvem Capabilities, který sousedí s klíči FilterData a FriendlyName klíče. Obvykle byste tyto informace přidali po volání AMovieDllRegisterServer2 k registraci standardních dat filtru. Další informace naleznete v tématu Jak zaregistrovat filtry DirectShow. Alternativně můžete vytvořit klíč CapabilitiesLocation obsahující řetězec s umístěním klíče Capabilities v registru. Řetězec by měl začínat řetězcem "HKLM\", "HKCR\" nebo "HKCU\", který označuje podstrom registru. U zařízení Plug and Play by instalační soubory ovladače měly vytvořit Schopnosti klíč vedle klíče filtru FriendlyName nebo může použít klíč CapabilitiesLocation, jak je popsáno pro softwarové filtry.
Po vytvoření klíče Capabilities vytvořte hodnotu pro každý identifikátor GUID schopností. Název hodnoty by měl být řetězcový formulář identifikátoru GUID ve formuláři {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. Každý typ hodnoty by měl být jeden z následujících:
- Jedna číselná hodnota. Použijte hodnotu DWORD.
- Identifikátor guid. Použijte řetězcovou formu identifikátoru GUID.
- Číselné páry. K reprezentaci dvojic hodnot, jako je šířka a výška, nebo čitatel a jmenovatel pro zlomky použijte řetězec s tvarem a b.
- Pole hodnot. K reprezentaci více hodnot použijte více řetězců (REG_SZ_MULTI).
Následující příklad ukazuje rozložení registru pro softwarový filtr:
\HKCR\CLSID\Filter Category\Instance\Filter CLSID\Capabilities\
Values:
guid1: 1234 (REG_DWORD)
guid2: "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" (REG_SZ)
guid3: "2","4","6" (REG_SZ_MULTI)
guid4: "720,480" (REG_SZ)
Profily kodéru
Profil kodéru je pevný seznam nastavení konfigurace, které lze použít u kodéru za běhu. Profily jsou nezávislé na kodéru; aplikace může vybrat kodér a pak vybrat profil a použít nastavení profilu pro kodér. Profily jsou identifikovány identifikátorem GUID a měly by být uloženy v následujícím umístění v registru:
\HKLM\Software\Microsoft\EncoderProfiles\Profile GUID\
where PROFILE GUID
je řetězcová forma identifikátoru GUID, která identifikuje profil. Vytvořte hodnoty pro každé nastavení. Vytvořte také řetězcovou hodnotu s názvem FriendlyName, jejíž data identifikují profil (například LowBandwidthVideo).
Související témata