AVI Mux 필터

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

AVI Mux 필터는 여러 입력 스트림을 허용하고 AVI 형식으로 인터리브합니다. 필터는 각 입력 스트림에 대해 별도의 입력 핀과 AVI 스트림에 대해 하나의 출력 핀을 사용합니다.

비디오 캡처 또는 제작 애플리케이션은 이 필터를 사용하여 파일을 AVI 형식으로 디스크에 저장할 수 있습니다. 필터는 일반적으로 파일 기록 기 필터에 연결되지만 입력 핀이 IStream 및 IMemInputPin 인터페이스를 지원하는 모든 필터에 연결할 수 있습니다.

레이블
필터 인터페이스 IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages
입력 핀 미디어 형식 이전 스타일의 FOURCC 또는 MEDIATYPE_AUXLine21Data 해당하는 모든 주 형식입니다. (자세한 내용은 FOURCCMap 클래스를 참조하세요.)
  • 주 형식이 MEDIATYPE_Audio 경우 형식을 FORMAT_WaveFormatEx 합니다.
  • 주 형식이 MEDIATYPE_Video 경우 형식은 FORMAT_VideoInfo 또는 FORMAT_DvInfo 합니다.
  • 주 형식이 MEDIATYPE_Interleaved 경우 형식을 FORMAT_DvInfo 합니다.
입력 핀 인터페이스 IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl
출력 핀 미디어 형식 MEDIATYPE_Stream, MEDIASUBTYPE_Avi
출력 핀 인터페이스 IPin, IQualityControl
CLSID 필터링 CLSID_AviDest
속성 페이지 CLSID CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1
실행 파일 qcap.dll
장점 MERIT_DO_NOT_USE
필터 범주 CLSID_LegacyAmFilterCategory

 

설명

다음 설명에서는 AVI Mux 필터 기능의 다양한 측면에 대해 설명합니다.

AVI Mux 필터를 만들 때 하나의 입력 핀이 있습니다. 각 입력 핀이 연결되면 필터는 새 입력 핀을 만듭니다.

스트림 속성

입력 핀은 개별 스트림에서 속성을 설정하기 위한 IPropertyBag 인터페이스를 지원합니다. 현재 다음 속성이 정의되어 있습니다.

속성 Description
name 스트림의 이름입니다. 이 속성은 청크로 작성됩니다 'strn' .

 

필터가 실행 중이거나 일시 중지된 경우 IPropertyBag::Write 메서드는 VFW_E_WRONG_STATE 반환합니다.

프레임 속도

업스트림 필터가 VIDEOINFOHEADER 구조의 AvgTimePerFrame 멤버에서 프레임 속도를 지정하지 않으면 AVI Mux는 첫 번째 비디오 프레임의 타임스탬프를 사용합니다. AVI 파일 형식은 가변 프레임 속도를 지원하지 않습니다.

삭제된 프레임

AVI Mux 필터는 각 샘플의 미디어 시간(사용 가능한 경우) 또는 다른 샘플의 타임스탬프에 따라 삭제된 프레임을 계산합니다. 삭제된 모든 프레임에 대해 길이가 0인 인덱스 항목을 씁니다.

IMediaSeeking

AVI Mux 필터는 다음과 같이 IMediaSeeking 인터페이스를 구현합니다.

  • GetCurrentPosition 메서드는 멀티플렉싱의 현재 진행률을 반환합니다. 파일을 코드 변환하는 경우(실시간보다 느리기), 이 값은 Filter Graph Manager에서 반환하는 값보다 더 정확합니다. 자세한 내용은 GetCurrentPosition 참조 페이지의 설명 섹션을 참조하세요.
  • GetDuration 메서드는 각 업스트림 필터를 쿼리하고 가장 긴 스트림의 기간을 반환합니다. 이러한 필터 중 하나라도 GetDuration 호출에 실패하거나 IMediaSeeking을 지원하지 않는 경우 AVI Mux는 오류 코드를 반환하고 가장 긴 기간이 있는 pDuration 매개 변수를 채웁니다. 그러나 이 경우 pDuration 값이 반드시 가장 긴 입력 스트림의 길이는 아닙니다.
  • AVI Mux는 GetStopPosition, GetPositions, GetAvailable, GetRate 또는 GetPreroll 메서드를 구현하지 않습니다. 검색을 위해 Set* 메서드를 구현하지도 않습니다.

AVI 2.0 파일 형식 확장명

DirectShow는 현재 다음 AVI 2.0 파일 형식 확장자를 지원합니다.

  • AVI 파일 크기 증가(1GB 초과)
  • 계층적 인덱싱

자세한 내용은 OpenDML AVI M-JPEG 파일 형식 하위위원회가 게시한 "OpenDML AVI 파일 형식 확장명" 버전 1.02를 참조하세요.

DirectShow 필터