MPEG-2 분할기 사용
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
참고
Microsoft® Windows® XP부터 MPEG-2 분할기 필터는 더 이상 사용되지 않습니다. 대신 MPEG-2 Demultiplexer 를 사용합니다.
MPEG-2 분할자 필터는 다음 스트림 유형 중 하나 이상을 포함하는 MPEG-2 프로그램 스트림의 풀 모드 재생을 지원합니다.
- MPEG-2 비디오
- MPEG-2 오디오
- DVD-Video 대해 정의된 대로 인코딩된 Dolby AC-3 오디오
- LPCM(선형 펄스 코드 변조됨) DVD-Video 대해 정의된 대로 인코딩된 오디오
MPEG-2 분할기에서 지원하는 미디어 형식 목록은 MPEG-2 분할기 미디어 형식을 참조하세요.
MPEG-2 분할기는 전송 스트림을 구문 분석하지 않습니다. 전송 스트림에 MPEG-2 Demultiplexer 필터를 사용합니다(푸시 모드에만 해당).
타임스탬프를
MPEG-2 프로그램 스트림을 재생할 때 MPEG-2 분할자 필터는 첫 번째 시스템 클록 참조를 모든 스트림의 시간 원본으로 처리합니다. 이는 프레젠테이션 타임스탬프를 사용하는 MPEG-1 Stream Splitter와 다릅니다. IAMParse::GetParseTime 메서드는 처리된 데이터에 대한 (예상) 스트림 시스템 클록 시간을 반환합니다.
MPEG-2 분할기 필터에서 불연속성 속성 집합이 있는 입력 샘플이 발견되면( IMediaSample::SetDiscontinuity 또는 IMediaSample2::SetProperties를 사용하여 불연속성 속성을 설정할 수 있음) 데이터에서 첫 번째 팩을 찾을 때까지 데이터를 건너뛰고 해당 팩에 대한 SCR(시스템 클록 참조)이 SCR 시간과 동일하게 간주되도록 타임스탬프를 조정합니다. SCR 클록이 뒤로 이동하거나 1초 이상 앞으로 이동한 다음(MPEG-2 프로그램 스트림 사양에 따라) 이 시계 불연속성으로 처리되고 명백한 클록 불일치가 다운스트림 필터에 전달된 타임스탬프에서 빼집니다.
스트림 선택
MPEG-2 프로그램 스트림을 재생하면 프로그램 스트림을 트래버스하는 첫 번째 비디오 스트림과 첫 번째 오디오 스트림이 선택됩니다. 최대 하나의 오디오와 하나의 비디오 출력 핀이 지원됩니다. IAMStreamSelect 인터페이스를 통해 시스템 헤더의 오디오 제한에 지정된 수까지 동일한 유형의 다른 스트림을 선택할 수 있습니다. MPEG-2 오디오의 경우 현재 스트림이 스트림 0xC0 시작하여 연속 범위를 형성한다고 가정합니다.
지원되는 인터페이스
MPEG-2 분할기 필터는 다음 인터페이스를 지원합니다.
- IAMParse. MPEG-2 프로그램 스트림만.
- IAMStreamSelect. MPEG-2 프로그램 스트림만, 오디오 스트림만.
- IMediaSeeking. 바이트 모드 검색을 포함합니다.
관련 항목