Dela via


WM ASF-skrivfilter (DirectShow)

[Funktionen som är associerad med den här sidan, DirectShow, är en äldre funktion. Det har ersatts av MediaPlayer, IMFMediaEngineoch Audio / Video Capture i Media Foundation. Dessa funktioner har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder MediaPlayer, IMFMediaEngine och Audio/Video Capture i Media Foundation i stället för DirectShow, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]

WM ASF Writer är ett omslutningsfilter för skrivarobjektet som medföljer Windows Media™ Format SDK. Filtret accepterar ett variabelt antal indataströmmar och skapar en ASF-fil (Advanced Systems Format). Filtret hanterar all komprimering och multiplexering (även om komprimeringsmekanismen kan kringgås). Du kan använda WM ASF Writer i olika scenarier som digital videoinspelning (DV), ljudåterkomprimering och konvertering av Audio-Video Interleaved (AVI) eller MPEG-multimediafiler för nätverksströmning. Det här filtret är det enda sättet att skapa Microsoft® Windows Media™ Audio- och Windows Media Video-filer i Microsoft DirectShow.

Mer information finns i Skapa ASF-filer i DirectShow.

Etikett Värde
Filtergränssnitt IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesDessutom, filtret exponerar följande Windows Media Format SDK-gränssnitt: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Mediatyper för indatastift Beror på ASF-profilen. Vanligtvis okomprimerade ljud- och videotyper, även om filtret accepterar komprimerade typer om de matchar ASF-profilen.
Pin-gränssnitt för indata IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderDessutom, pin-koden exponerar följande Windows Media Format SDK-gränssnitt: IWMStreamConfig2 (via IServiceProvider)
Mediatyper för utdatastift Inte tillämpligt.
Pin-gränssnitt för utdata Inte tillämpligt.
Filtrera CLSID CLSID_WMAsfWriter
Egenskapssidans CLSID CLSID_AsfWriterProperties
Genomförbar Qasf.dll
Merit MERIT_DO_NOT_USE
filterkategori Inte angivet

 

Anmärkningar

Filtret kräver Windows Media Format Software Development Kit (SDK) och dess underliggande beroenden.

Antalet pins för indata i filtret beroende på profil- eller profilidentifieraren för ASF-strömmen.

Indatastiften stöder en metod från gränssnittet IAMStreamConfig: IAMStreamConfig::GetFormat. Alla andra metoder returnerar E_NOTIMPL. Anropa metoden GetFormat för att fråga pin-kodens målkomprimeringsformat, som definieras av den aktuella ASF-profilen. Använd gränssnittet IConfigAsfWriter för att ange profilen.

Du kan använda filtrets IServiceProvider--gränssnitt för att hämta en pekare till gränssnittet IWMWriterAdvanced2, som definieras i Windows Media Format SDK. Du kan använda gränssnittet IWMWriterAdvanced2 för att styra videoavflätning när källvideon är sammanflätad. Om du vill ange deinterlacing-läget anropar du IWMWriterAdvanced2::SetInputSetting. För parametern dwInputNum använder du det nollbaserade indexet för pin-koden för videoindata som räknas upp av IEnumPins--gränssnittet.

I följande exempel visas hur du frågar efter det här gränssnittet:

// 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();
    }
}

Program bör inte använda någon av de IWMWriterAdvanced metoder som IWMWriterAdvanced2-gränssnittet ärver. Att anropa dessa metoder kan störa filtrets funktion.

Det enda filskrivningsläget som stöds av det här filtret är AM_FILE_OVERWRITE. Se IFileSinkFilter2::GetMode.

När Windows Media Format SDK-körningen skickar WMT_STATUS meddelanden till WM ASF Writer-filtret vidarebefordrar filtret dem som EC_WMT_EVENT händelser.

DirectShow-filter