다음을 통해 공유


정사각형이 아닌 픽셀로 스트림 작성

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows 미디어 플레이어 올바르게 표시되는 정사각형이 아닌 픽셀로 비디오 스트림을 만드는 방법에는 두 가지가 있습니다. 첫 번째 기술에는 파일 헤더에서 스트림 수준 특성을 설정하는 작업이 포함됩니다. 두 번째 기술에는 프로필의 스트림에 데이터 단위 확장을 추가한 다음, 작성된 모든 샘플에서 데이터 단위 확장에 대한 값을 설정하는 작업이 포함됩니다.

스트림 수준 헤더 특성을 사용하여 픽셀 가로 세로 비율을 설정하려면

  1. 기록기 개체를 설정합니다. 자세한 내용은 ASF 파일 작성을 참조하세요.
  2. 하나 이상의 비디오 스트림을 사용하여 프로필을 만들거나 로드합니다. 자세한 내용은 작성기와 함께 프로필을 사용하려면을 참조하세요.
  3. IWMWriter::SetProfile을 호출합니다. (헤더 특성을 설정하기 전에 항상 이 메서드를 호출합니다.)
  4. QueryInterface를 호출하여 IWMHeaderInfo3 인터페이스를 가져오고 AddAttribute를 두 번 호출하여 AspectRatioXAspectRatioY를 비디오 스트림의 스트림 수준 특성으로 추가합니다. 이러한 특성은 DWORD 값입니다.
  5. 파일을 작성합니다.

데이터 단위 확장을 사용하여 픽셀 가로 세로 비율 설정

쓰기 전에 다음을 수행합니다.

  1. 기록기 개체를 설정합니다. 자세한 내용은 ASF 파일 작성을 참조하세요.
  2. 하나 이상의 비디오 스트림을 사용하여 프로필을 만들거나 로드합니다. 자세한 내용은 작성기와 함께 프로필을 사용하려면을 참조하세요.
  3. 프로필의 각 스트림(모든 미디어 형식)에 대해 IWMStreamConfig::SetStreamName 을 호출하여 선택한 고유한 이름을 지정합니다. 두 스트림에 동일한 이름을 지정하지 마세요.
  4. 비디오 스트림에서 IWMStreamConfig2::AddDataUnitExtension 을 사용하여 픽셀 가로 세로 비율에 대한 데이터 단위 확장을 추가합니다.
  5. IWMWriter::SetProfile을 호출합니다.
  6. 파일을 작성합니다.

글을 쓰는 동안:

  • 각 샘플 에 대해 INSSBuffer3::SetProperty 를 호출하고 올바른 값과 함께 WM_SampleExtensionGUID_PixelAspectRatio 속성을 지정합니다. 가로 세로 비율 값은 연결된 두 자리 값으로 작성됩니다. 예를 들어 16:9는 1609 또는 0x0649 기록됩니다. 항상 2 바이트 값입니다.

제곱 픽셀이 아닌 비디오 스트림을 읽고 쓰려면