WM ASF Writer Filter (DirectShow)
[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é.]
WM ASF Writer je obálkový filtr pro objekt zapisovače poskytnutý sadou Windows Media™ Format SDK. Filtr přijímá proměnný počet vstupních datových proudů a vytvoří soubor ASF (Advanced Systems Format). Filtr zpracovává veškerou kompresi a multiplexování (i když je možné obejít mechanismus komprese). WM ASF Writer můžete použít v různých scénářích, včetně digitálního video (DV) zachycení, rekomprese zvuku a převodu Audio-Video interleaved (AVI) nebo MPEG multimediálních souborů pro streamování sítě. Tento filtr poskytuje jediný způsob, jak vytvořit soubory Microsoft® Windows Media™ Audio a Windows Media Video v aplikaci Microsoft DirectShow.
Další informace naleznete v tématu Vytváření souborů ASF v directShow.
Označit | Hodnota |
---|---|
Rozhraní filtru |
IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesNavíc, Filtr zveřejňuje následující rozhraní sady WINDOWS Media Format SDK: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2 |
Typy médií připnutí vstupu | Závisí na profilu ASF. Obvykle nekomprimované typy zvuku a videa, i když filtr přijme komprimované typy, pokud odpovídají profilu ASF. |
Rozhraní vstupního kolíku |
IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderNavíc pin zpřístupní následující rozhraní windows Media Format SDK: IWMStreamConfig2 (prostřednictvím IServiceProvider) |
Typy médií připnutí výstupu | Nelze použít. |
Rozhraní výstupního kolíku | Nelze použít. |
Filtr CLSID | CLSID_WMAsfWriter |
CLSID stránky vlastností | CLSID_AsfWriterProperties |
Spustitelný | Qasf.dll |
Merit | MERIT_DO_NOT_USE |
kategorie filtru | Nezadá se |
Poznámky
Filtr vyžaduje sadu Windows Media Format Software Development Kit (SDK) a její základní závislosti.
Počet vstupních špendlíků ve filtru v závislosti na identifikátoru profilu nebo profilu datového proudu ASF.
Vstupní špendlíky podporují jednu metodu z rozhraní IAMStreamConfig: IAMStreamConfig::GetFormat. Všechny ostatní metody vrací E_NOTIMPL. Volání GetFormat metoda dotazování cílového formátu komprese pinu, který je definován aktuálním profilem ASF. K nastavení profilu použijte rozhraní IConfigAsfWriter.
Pomocí rozhraní IServiceProvider filtru můžete získat ukazatel na rozhraní IWMWriterAdvanced2 rozhraní, které je definováno v sadě Windows Media Format SDK. Rozhraní IWMWriterAdvanced2 můžete použít k řízení deinterlacingu videa při prokládání zdrojového videa. Chcete-li nastavit deinterlacing režim, volání IWMWriterAdvanced2::SetInputSetting. Pro parametr dwInputNum použijte index vstupu videa s nulovým indexem, jak je uvedeno rozhraním IEnumPins.
Následující příklad ukazuje, jak dotazovat na toto rozhraní:
// Assume that pAsfWriter is a valid IBaseFilter pointer.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = pAsfWriter->QueryInterface(
IID_IServiceProvider,
(void**)&pProvider
);
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(
IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2,
(void**)&pWMWA2
);
pProvider->Release();
if (SUCCEEDED(hr))
{
// Use pWMWA2. (Not shown.)
pWMWA2->Release();
}
}
Aplikace by neměly používat žádnou z IWMWriterAdvanced metod, které IWMWriterAdvanced2 rozhraní dědí. Voláním těchto metod může dojít k narušení provozu filtru.
Jediný režim zápisu souborů podporovaný tímto filtrem je AM_FILE_OVERWRITE. Viz IFileSinkFilter2::GetMode.
Když modul runtime sady Windows Media Format SDK odesílá WMT_STATUS zprávy do filtru zapisovače WM ASF, filtr je přepošle jako události EC_WMT_EVENT.
Související témata