Condividi tramite


Filtro Mux AVI

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

Il filtro AVI Mux accetta più flussi di input e li interlea in formato AVI. Il filtro usa pin di input separati per ogni flusso di input e un pin di output per il flusso AVI.

Le applicazioni di acquisizione o creazione di video possono usare questo filtro per salvare i file su disco in formato AVI. Il filtro è in genere connesso al filtro writer di file, ma può connettersi a qualsiasi filtro il cui pin di input supporta IStream e interfacce IMemInputPin.

Etichetta Valore
Interfacce di filtro IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages
Tipi di supporti pin di input Qualsiasi tipo principale che corrisponde a un FOURCC di stile precedente o MEDIATYPE_AUXLine21Data. Per altre informazioni, vedere classe FOURCCMap.)
  • Se il tipo principale è MEDIATYPE_Audio, il formato deve essere FORMAT_WaveFormatEx.
  • Se il tipo principale è MEDIATYPE_Video, il formato deve essere FORMAT_VideoInfo o FORMAT_DvInfo.
  • Se il tipo principale è MEDIATYPE_Interleaved, il formato deve essere FORMAT_DvInfo.
Interfacce del pin di input IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl
Tipi di supporti pin di output MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfacce pin di output IPin, IQualityControl
Filtrare CLSID CLSID_AviDest
CLSID della pagina delle proprietà CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1
Eseguibile qcap.dll
Merit MERIT_DO_NOT_USE
categoria filtro CLSID_LegacyAmFilterCategory

 

Osservazioni

Le osservazioni seguenti descrivono vari aspetti della funzionalità del filtro Mux AVI.

Gambe

Quando viene creato il filtro Mux AVI, ha un pin di input. Quando ogni pin di input è connesso, il filtro crea un nuovo pin di input.

Proprietà flusso

I pin di input supportano l'interfaccia IPropertyBag per impostare le proprietà su singoli flussi. Attualmente, viene definita la proprietà seguente:

Proprietà Descrizione
nome Nome del flusso. Questa proprietà viene scritta come blocco 'strn'.

 

Se il filtro è in esecuzione o sospeso, il metodo IPropertyBag::Write restituisce VFW_E_WRONG_STATE.

Frequenza dei fotogrammi

Se il filtro upstream non specifica una frequenza dei fotogrammi nel membro AvgTimePerFrame della struttura VIDEOINFOHEADER, il Mux AVI usa i timestamp nel primo fotogramma video. Il formato di file AVI non supporta la frequenza dei fotogrammi variabili.

Fotogrammi eliminati

Il filtro AVI Mux calcola i fotogrammi rilasciati in base ai tempi multimediali di ogni campione, se disponibili oppure ai timestamp dell'esempio. Scrive una voce di indice di lunghezza zero per ogni fotogramma eliminato.

IMediaSeeking

Il filtro MUX AVI implementa l'interfaccia IMediaSeeking come indicato di seguito:

  • Il metodoGetCurrentPositionrestituisce lo stato di avanzamento corrente del multiplexing. Se si esegue la transcodifica di un file (più lento del tempo reale), questo valore è più accurato del valore restituito da Filter Graph Manager. Per altre informazioni, vedere la sezione Osservazioni della pagina di riferimento getCurrentPosition.
  • Il metodo GetDuration esegue una query su ogni filtro upstream e restituisce la durata del flusso più lungo. Se uno di questi filtri non riesce la chiamata GetDuration (o non supporta IMediaSeeking), AVI Mux restituisce un codice di errore e compila il parametro pDuration con la durata più lunga trovata. Tuttavia, il valore di pDuration in questo caso non è necessariamente la lunghezza del flusso di input più lungo.
  • AVI Mux non implementa i metodi GetStopPosition, GetPositions, GetAvailable, GetRate o GetPreroll; né implementa metodi Set* per la ricerca.

Estensioni di formato di file AVI 2.0

DirectShow supporta attualmente le estensioni di formato di file AVI 2.0 seguenti:

  • Aumento delle dimensioni del file AVI (maggiore di 1 GB)
  • Indicizzazione gerarchica

Per altre informazioni, vedere la versione 1.02 del sottocomitato "OpenDML AVI File Format Extensions" pubblicato dal sottocomitato OpenDML AVI M-JPEG File Format.

DirectShow Filtri