Condividi tramite


Filtro Mux AVI

[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.

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 video o creazione possono usare questo filtro per salvare i file su disco in formato AVI. Il filtro è in genere connesso al filtro File Writer , ma può connettersi a qualsiasi filtro il cui pin di input supporta le interfacce IStream e IMemInputPin .

Etichetta Valore
Interfacce di filtro IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages
Tipi di supporti di aggiunta di input Qualsiasi tipo principale che corrisponde a un FOURCC di tipo 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 pin di input IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl
Tipi di supporti di pin di output MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfacce pin di output IPin, IQualityControl
Filtro CLSID CLSID_AviDest
CLSID della pagina delle proprietà CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1
File eseguibile qcap.dll
Merito MERIT_DO_NOT_USE
Categoria filtro CLSID_LegacyAmFilterCategory

 

Commenti

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

Segnaposto

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
name 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 , AVI Mux usa i timestamp nel primo fotogramma video. Il formato di file AVI non supporta le frequenze dei fotogrammi variabili.

Fotogrammi eliminati

Il filtro MUX AVI calcola i fotogrammi eliminati 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 frame eliminato.

IMediaSeeking

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

  • Il metodo GetCurrentPosition restituisce lo stato di avanzamento corrente del multiplexing. Se si esegue la transcodifica di un file (più lento rispetto al tempo reale), questo valore è più accurato rispetto al 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.

Filtri DirectShow