ASF 파일 작성

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

Windows Media Format SDK의 기록기 개체를 사용하여 디지털 미디어 데이터에서 ASF 파일을 만들 수 있습니다. 기록기 개체의 instance 만들려면 WMCreateWriter 함수를 호출합니다. 기록기 개체는 Windows Media Format SDK 외부에 있는 코덱을 비롯한 여러 구성 요소의 기능을 조정합니다.

기록기 개체의 기본 기능은 다음 단계로 나눌 수 있습니다. 이러한 단계에서 "애플리케이션"은 Windows Media Format SDK를 사용하여 작성하는 프로그램을 나타냅니다.

  1. 애플리케이션은 작성기에 ASF 파일을 만드는 데 사용할 프로필을 제공합니다. 기록기는 프로필 데이터를 로드할 때 프로필의 각 연결에 입력 번호를 할당합니다.
  2. 애플리케이션은 기록기에 기록할 파일의 출력 파일 이름을 제공합니다. 작성기는 파일 만들기 및 입력을 관리하는 기록기 파일 싱크 개체를 만듭니다. 자세한 내용은 기록기 파일 싱크 개체를 참조하세요.
  3. 작성기는 프로필의 정보를 기반으로 새 파일에 대한 헤더를 만듭니다.
  4. 애플리케이션은 압축되지 않은 샘플을 기록기에 전달합니다. 샘플은 버퍼 개체에 래핑된 버퍼에서 한 번에 하나씩 전달됩니다. 애플리케이션은 작성기가 프레젠테이션 시간 순서로 모든 샘플을 받을 수 있도록 각 스트림에 대한 샘플을 동시에 전달해야 합니다.
  5. 작성기는 압축을 위한 적절한 코덱에 샘플을 전달합니다. 작성기가 압축된 샘플을 받으면 다른 스트림의 샘플과 상호 연결하여 스트림에 관계없이 샘플이 프레젠테이션 시간 순서로 파일로 이동하도록 합니다. 그런 다음 샘플 데이터는 패킷으로 만들어지고 파일의 데이터 섹션에 기록됩니다.
  6. 모든 샘플이 처리되면 작성기는 파일에 인덱스 를 추가하여 검색 성능을 향상시킬 수 있습니다.

이러한 단계는 WMStats 샘플 애플리케이션에 설명되어 있습니다. 자세한 내용은 샘플 애플리케이션을 참조하세요.

또한 작성기는 고급 기능을 지원하므로 다음을 수행할 수 있습니다.

  • 파일의 헤더에서 메타데이터를 편집합니다.
  • 미리 압축된 샘플을 작성합니다.
  • 라이브 데이터 스트리밍을 위해 네트워크 싱크에 씁니다.
  • 고급 파일 제어 옵션에 대한 파일 싱크에 씁니다.
  • 최종 사용자에게 콘텐츠를 배달할 서버에 배포할 싱크를 푸시하기 위해 씁니다.
  • 출력 확인을 위한 사후 보기 샘플을 제공합니다.
  • 기록기 성능 통계를 제공합니다.

다음 섹션에서는 기록기 개체의 사용에 대해 자세히 설명합니다.

섹션 Description
기록기에서 프로필을 사용하려면 작성기와 함께 사용할 프로필을 지정하는 방법을 설명합니다.
입력 작업 기록기에서 입력 설정을 식별하고 구성하는 방법을 설명합니다.
기록기를 사용하여 메타데이터를 편집하려면 기록기를 사용하여 새 파일에 대한 메타데이터를 편집하는 방법을 설명합니다.
샘플을 작성하려면 작성기에 샘플을 전달하는 방법을 설명합니다.
데이터 단위 확장 설정 샘플에 확장 데이터를 추가하는 방법을 설명합니다.
압축 샘플 작성 미리 압축된 샘플을 작성기에 전달하는 방법을 설명합니다.
이미지 스트림 작성 이미지 스트림에 대한 입력을 구성하는 방법을 설명합니다.
비디오 이미지 샘플 작성 비디오 이미지 샘플을 구성하는 방법을 설명합니다.
가변 비트 전송률 스트림 작성 VBR(가변 비트 전송률) 스트림을 작성하는 방법을 설명합니다.
Two-Pass 인코딩 사용 파일을 작성하기 전에 코덱이 예비 패스를 수행하도록 하는 방법을 설명합니다.
강제 Key-Frame 삽입하려면 코덱이 샘플을 키 프레임으로 인코딩하도록 수동으로 강제 적용하는 방법을 설명합니다.
기록기 대기 시간을 관리하려면 기록기가 출력 파일 또는 싱크로 샘플을 처리하는 데 걸리는 시간을 최소화하는 방법을 설명합니다.
기록기 싱크 작업 기록기 싱크를 사용하여 파일 또는 네트워크 위치에 콘텐츠를 전달하는 방법을 설명합니다.
기록기 통계를 얻으려면 작성기에 대한 통계를 가져오는 방법을 설명합니다.
기록기 Postview를 사용하려면 확인을 위해 파일을 작성할 때 압축되지 않은 샘플을 가져오는 방법을 설명합니다.

 

프로그래밍 가이드

기록기 파일 싱크 개체

기록기 네트워크 싱크 개체

기록기 개체