Condividi tramite


Filtro writer ASF WM (DirectShow)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation, invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

WM ASF Writer è un filtro wrapper per l'oggetto writer fornito con Windows Media™ Format SDK. Il filtro accetta un numero variabile di flussi di input e crea un file ASF (Advanced Systems Format). Il filtro gestisce tutta la compressione e il multiplexing (anche se il meccanismo di compressione può essere ignorato). È possibile usare WM ASF Writer in vari scenari, tra cui l'acquisizione di video digitali (DV), la ricompressione audio e la conversione di file audio-video interleaved (AVI) o MPEG per lo streaming di rete. Questo filtro offre l'unico modo per creare file Audio e Windows Media Video di Microsoft® Windows Media™ in Microsoft DirectShow.

Per altre informazioni, vedere Creazione di file ASF in DirectShow.

Etichetta Valore
Interfacce di filtro IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, inoltre, il filtro espone le interfacce seguenti di Windows Media Format SDK: IWMIndexer2, IWMHeaderInfo, IWMHeaderInfoIWMWriterAdvanced2
Tipi di supporti pin di input Dipende dal profilo ASF. In genere, i tipi audio e video non compressi, anche se il filtro accetterà tipi compressi se corrispondono al profilo ASF.
Interfacce dei pin di input IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProvider, inoltre, il pin espone la seguente interfaccia di Windows Media Format SDK: IWMStreamConfig2 (tramite IServiceProvider)
Tipi di supporti pin di output Non applicabile.
Interfacce pin di output Non applicabile.
Filtrare CLSID CLSID_WMAsfWriter
CLSID della pagina delle proprietà CLSID_AsfWriterProperties
File eseguibile Qasf.dll
Merito MERIT_DO_NOT_USE
Categoria filtro Non specificato

 

Osservazioni:

Il filtro richiede Windows Media Format Software Development Kit (SDK) e le relative dipendenze sottostanti.

Numero di pin di input nel filtro a seconda del profilo o dell'identificatore del profilo del flusso ASF.

I pin di input supportano un metodo dall'interfaccia IAMStreamConfig : IAMStreamConfig::GetFormat. Tutti gli altri metodi restituiscono E_NOTIMPL. Chiamare il metodo GetFormat per eseguire una query sul formato di compressione di destinazione del pin, definito dal profilo ASF corrente. Usare l'interfaccia IConfigAsfWriter per impostare il profilo.

Puoi usare l'interfaccia IServiceProvider del filtro per ottenere un puntatore all'interfaccia IWMWriterAdvanced2, definita in Windows Media Format SDK. È possibile usare l'interfaccia IWMWriterAdvanced2 per controllare la disincantazione video quando il video di origine è interlacciato. Per impostare la modalità di denterlacing, chiama IWMWriterAdvanced2::SetInputSetting. Per il parametro dwInputNum , usare l'indice in base zero del pin di input video, come enumerato dall'interfaccia IEnumPins .

Nell'esempio seguente viene illustrato come eseguire una query per questa interfaccia:

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

Le applicazioni non devono usare alcun metodo IWMWriterAdvanced ereditato dall'interfaccia IWMWriterAdvanced2 . La chiamata di questi metodi potrebbe interferire con l'operazione del filtro.

L'unica modalità di scrittura file supportata da questo filtro è AM_FILE_OVERWRITE. Vedere IFileSinkFilter2::GetMode.

Quando il runtime di Windows Media Format SDK invia messaggi WMT_STATUS al filtro WM ASF Writer, il filtro li inoltra come eventi EC_WMT_EVENT.

Filtri DirectShow