정사각형이 아닌 픽셀로 스트림 작성
[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
Windows 미디어 플레이어 올바르게 표시되는 정사각형이 아닌 픽셀로 비디오 스트림을 만드는 방법에는 두 가지가 있습니다. 첫 번째 기술에는 파일 헤더에서 스트림 수준 특성을 설정하는 작업이 포함됩니다. 두 번째 기술에는 프로필의 스트림에 데이터 단위 확장을 추가한 다음, 작성된 모든 샘플에서 데이터 단위 확장에 대한 값을 설정하는 작업이 포함됩니다.
스트림 수준 헤더 특성을 사용하여 픽셀 가로 세로 비율을 설정하려면
- 기록기 개체를 설정합니다. 자세한 내용은 ASF 파일 작성을 참조하세요.
- 하나 이상의 비디오 스트림을 사용하여 프로필을 만들거나 로드합니다. 자세한 내용은 작성기와 함께 프로필을 사용하려면을 참조하세요.
- IWMWriter::SetProfile을 호출합니다. (헤더 특성을 설정하기 전에 항상 이 메서드를 호출합니다.)
- QueryInterface를 호출하여 IWMHeaderInfo3 인터페이스를 가져오고 AddAttribute를 두 번 호출하여 AspectRatioX 및 AspectRatioY를 비디오 스트림의 스트림 수준 특성으로 추가합니다. 이러한 특성은 DWORD 값입니다.
- 파일을 작성합니다.
데이터 단위 확장을 사용하여 픽셀 가로 세로 비율 설정
쓰기 전에 다음을 수행합니다.
- 기록기 개체를 설정합니다. 자세한 내용은 ASF 파일 작성을 참조하세요.
- 하나 이상의 비디오 스트림을 사용하여 프로필을 만들거나 로드합니다. 자세한 내용은 작성기와 함께 프로필을 사용하려면을 참조하세요.
- 프로필의 각 스트림(모든 미디어 형식)에 대해 IWMStreamConfig::SetStreamName 을 호출하여 선택한 고유한 이름을 지정합니다. 두 스트림에 동일한 이름을 지정하지 마세요.
- 비디오 스트림에서 IWMStreamConfig2::AddDataUnitExtension 을 사용하여 픽셀 가로 세로 비율에 대한 데이터 단위 확장을 추가합니다.
- IWMWriter::SetProfile을 호출합니다.
- 파일을 작성합니다.
글을 쓰는 동안:
- 각 샘플 에 대해 INSSBuffer3::SetProperty 를 호출하고 올바른 값과 함께 WM_SampleExtensionGUID_PixelAspectRatio 속성을 지정합니다. 가로 세로 비율 값은 연결된 두 자리 값으로 작성됩니다. 예를 들어 16:9는 1609 또는 0x0649 기록됩니다. 항상 2 바이트 값입니다.
관련 항목