ASF 기록기 구성

WM ASF 기록기 필터가 만들어지면 WMProfile_V80_256Video 프로필로 자동으로 구성됩니다. 이 프로필은 Windows Media 9 시리즈 코덱만큼 최신이 아닌 Windows Media Audio 및 Windows Media Video 버전 8 코덱을 사용합니다. Windows Media 9 시리즈 코덱을 사용하는 사용자 지정 프로필을 만들고 프로필 및 기타 ASF 파일 속성 구성에 설명된 대로 사용자 지정 프로필을 사용하여 WM ASF 기록기를 구성하는 것이 좋습니다. 필터를 구성하기 전에 필터 그래프에 WM ASF 기록기 필터를 추가하고 다른 필터에 연결하기 전에 필터를 구성해야 합니다.

모든 입력 데이터는 타임스탬프를 지정해야 하며 필터를 실행하거나 일시 중지하기 전에 모든 입력 핀을 연결해야 합니다. 따라서 오디오 스트림과 비디오 스트림이 있는 프로필로 필터를 구성하는 경우 필터는 오디오 및 비디오 입력 핀을 만들고 필터를 실행하기 전에 두 핀을 모두 연결해야 합니다. Windows Media Format SDK를 사용하려면 오디오 스트림이 작동해야 하므로 WM ASF 기록기에는 더미 스트림(음소거된 저비트 속도 오디오 스트림)에 대한 입력 오디오 핀이 항상 있어야 합니다.

데이터 단위 확장 추가

이 작업 순서를 따르는 한 필터가 연결되기 전이나 후에 SMPTE 시간 코드와 같은 데이터 단위 확장에 대한 프로필 스트림을 구성할 수 있습니다.

  1. IWMStreamConfig2::AddDataUnitExtension을 사용하여 하나 이상의 데이터 단위 확장을 스트림에 추가합니다.
  2. IWMProfile::ReconfigStream을 호출하여 프로필을 업데이트합니다.
  3. 업데이트된 프로필 개체 를 사용하여 IConfigAsfWriter::ConfigureFilterUsingProfile 을 호출합니다.
  4. 비디오 입력 핀을 찾고 IAMWMBufferPass::SetNotify 메서드를 호출하여 애플리케이션 정의 IAMWMBufferPassCallback 인터페이스를 등록합니다.

그래프가 실행되면 각 프레임에 대해 IAMWMBufferPassCallback::Notify 메서드가 호출되며, INSSBuffer3 인터페이스 메서드를 사용하여 샘플에서 속성을 가져와서 설정할 수 있습니다.

참고

역 원격 전송과 같은 일부 프로세서 집약적 시나리오에서 WM ASF 기록기는 일부 다운스트림 필터에서 지원할 수 있는 것보다 더 많은 출력 버퍼가 필요할 수 있습니다. 예를 들어 DV 디코더는 출력 핀에 대해 둘 이상의 버퍼를 허용하지 않으며 특정 조건에서 AVI 압축 해제기에서도 마찬가지입니다. 이러한 필터에 연결하려고 할 때 또는 그래프를 실행할 때 문제가 발생하는 경우 출력 핀에 원하는 수의 버퍼를 허용하는 중간 필터를 작성해야 할 수 있습니다.

 

DirectShow에서 ASF 파일 만들기