다음을 통해 공유


Windows Media Format SDK 개요

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

Windows Media Format SDK에는 ASF 파일의 수명 중 생성, 편집 및 재생의 세 지점에서 작업을 수행하는 개체가 포함되어 있습니다. 일부 애플리케이션, 특히 비디오 편집을 위해 Windows Media Format SDK의 광범위한 기능을 사용하여 ASF 파일의 콘텐츠를 읽고, 해당 콘텐츠를 변경하고, 결과를 새 파일에 씁니다. 그러나 파일 만들기, 편집 및 재생의 세 단계에서 이 SDK를 생각하는 것이 가장 쉽습니다.

Windows Media Format SDK를 사용하여 ASF 파일 만들기

Windows Media Format SDK를 사용하여 ASF 파일을 작성하는 프로세스는 대략적으로 매우 간단합니다. 파일 만들기는 기록기 개체에 의해 관리됩니다. 사용할 프로필 개체를 지정하여 작성기 개체에 만들 파일의 종류를 알려줍니다. 각 프로필 개체에는 ASF 파일에 대한 설정이 포함되어 있습니다. 일부 프로필은 이 SDK에 포함되며 여러 개체에서 프로필 편집 지원을 제공합니다. 사용할 기록기 개체의 프로필을 설정한 경우 처리를 위해 작성기에 샘플을 전달할 수 있습니다. 대부분의 경우 샘플은 압축되지 않은 오디오 또는 비디오 조각이지만 샘플은 모든 유형의 데이터일 수 있습니다.

내부적으로 작성기는 세 가지 주요 작업을 수행합니다. 먼저 샘플이 속한 스트림을 압축하는 경우 작성기는 코덱의 인코딩 부분(압축기/압축 해제기)과 통신하여 샘플을 압축합니다. 샘플이 프로필에 지정된 형식이 되면 작성기는 샘플을 네트워크를 통해 스트리밍할 적절한 크기의 패킷으로 분리합니다. 마지막으로, 다양한 스트림의 데이터가 멀티플렉싱되거나 인터리브되므로 모든 스트림에서 비슷한 프레젠테이션 시간이 있는 샘플이 ASF 파일의 데이터 섹션에서 서로 가까이 있습니다.

기록기 개체는 실제로 파일 자체를 작성하지 않습니다. 싱크라는 하나 이상의 개체와 통신하여 기록기에서 대상으로 데이터를 전달합니다. 로컬 파일의 경우 파일 싱크는 파일에 데이터 쓰기를 관리합니다. 네트워크를 통해 ASF 데이터를 제공하도록 네트워크 싱크를 구성할 수도 있습니다. 일반적으로 둘 이상의 싱크가 사용됩니다. 예를 들어 애플리케이션은 네트워크를 통해 파일을 스트리밍하고 복사본을 로컬 디스크에 파일로 동시에 저장할 수 있습니다. 푸시 싱크를 사용하면 쓰기 애플리케이션의 콘텐츠를 Windows Media Services를 실행하는 하나 이상의 서버로 브로드캐스트할 수 있습니다. 그러면 콘텐츠가 사용자에게 배포됩니다.

Windows Media Format SDK를 사용하여 ASF 파일 편집(메타데이터 편집)

ASF 파일의 데이터 섹션 내용을 편집하려면 파일을 다시 작성해야 합니다. Windows Media Format SDK는 데이터 섹션을 조작하는 개체를 제공하지 않습니다. 두 파일을 연결하거나 파일에서 콘텐츠를 잘라내는 등의 간단한 편집의 경우 압축을 풀지 않고 샘플을 읽은 다음 동일한 헤더 정보를 사용하여 새 파일에 쓸 수 있습니다. 더 복잡한 편집에는 새 파일에 사용되는 프로필을 변경하는 작업이 포함됩니다.

Windows Media Format SDK는 파일을 다시 작성하지 않고 헤더 섹션의 편집 부분을 지원합니다. ASF 파일의 헤더에는 다양한 유형의 데이터가 포함되어 있습니다. 가장 일반적으로 편집되는 메타데이터 특성은 콘텐츠의 측면과 콘텐츠 만들기에 관련된 사용자를 설명하는 이름/값 쌍입니다. Windows Media Format SDK의 메타데이터 편집기 개체를 사용하여 메타데이터를 편집할 수 있습니다. 이 개체는 ASF 파일을 열고, 헤더의 일부 내용을 변경하고, 파일에 변경 내용을 작성하고, 파일을 닫을 수 있도록 합니다. 메타데이터 편집은 값을 검색하고 설정하는 간단한 메서드 호출을 통해 매우 간단합니다.

Windows Media Format SDK를 사용하여 ASF 파일 읽기

Windows Media Format SDK는 ASF 파일을 읽기 위한 두 가지 고유한 개체인 reader 개체와 동기 판독기 개체를 제공합니다. 판독기 개체는 모든 버전의 SDK에서 사용할 수 있지만 동기 판독기 개체에는 Windows Media Format 9 시리즈 SDK 이상이 필요합니다. 둘 사이의 주요 차이점은 판독기 개체가 콜백 메서드에 이벤트를 발생시켜 애플리케이션에 샘플을 전달하는 반면 동기 판독기는 메서드 호출에 대한 응답으로 개별 샘플을 제공한다는 것입니다.

reader 개체를 사용하려면 판독기 개체의 상태 및 샘플 메시지에 반응하도록 여러 콜백 메서드를 구현해야 합니다. 원하는 대로 콘텐츠를 배달하고, 판독기를 시작하고, 샘플 메시지를 기다리도록 판독기를 구성합니다. ASF 파일에서 샘플을 검색하는 프로세스는 기본적으로 쓰기 프로세스의 반대입니다. 판독기 개체는 압축된 스트림을 디코딩하는 데 필요한 코덱과 통신하고 압축되지 않은 데이터를 애플리케이션에 제공합니다. 이전에 인코딩된 스트림을 새 파일에 포함할 수 있도록 판독기 개체가 압축된 상태로 샘플을 제공하도록 구성할 수도 있습니다.

동기 판독기 개체는 판독기 개체와 거의 동일한 방식으로 작동합니다. 그러나 콜백을 구성하는 대신 동기 판독기에서 각 샘플을 개별적으로 요청해야 합니다. 동기 판독기를 사용하려면 단일 스레드만 필요하지만 판독기를 사용하려면 여러 스레드가 필요합니다. 동기 판독기 개체는 파일의 여러 부분에 빠르게 액세스하고 파일 간에 데이터를 복사해야 하는 콘텐츠 편집 애플리케이션에 대해 특정 상황에서 판독기 개체에 비해 몇 가지 이점이 있습니다. 동기 판독기 개체는 사용하기가 훨씬 간단하며 데이터 섹션의 특정 위치를 쉽게 검색할 수 있습니다. 그러나 동기 판독기는 네트워크를 통해 파일 읽기를 지원하지 않으며 디지털 권한 관리를 지원하지 않습니다.

Windows Media Format SDK를 사용하는 기타 작업

방금 설명한 세 가지 기본 기능 영역 외에도 Windows Media Format SDK에는 ASF 파일과 관련된 다른 작업을 수행할 개체가 있습니다. 프로필 관리자 개체는 프로필을 만들고 액세스하고 저장하는 데 사용됩니다. 인덱서 개체는 비디오 파일에서 검색을 허용하는 ASF 파일에 인덱스 개체를 만듭니다. 마지막으로 독자 개체와 작성자 개체는 콘텐츠 제작자의 지적 권리를 보호하기 위해 디지털 권한 관리를 지원합니다.

참고 일반적으로 ASF 파일 구조와 이 SDK의 의도는 오디오 및 비디오가 포함된 디지털 미디어 파일을 생성하는 것이며, 이 설명서는 이를 염두에 두고 작성되었습니다. 그러나 ASF 파일 구조는 다른 형식의 콘텐츠에도 작동합니다. 오디오 및 비디오와 관련이 없는 ASF 파일에 대한 많은 애플리케이션을 찾을 수 있습니다.

Windows Media Format SDK 정보