Sdílet prostřednictvím


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.

Filtry DirectShow