다음을 통해 공유


AVI 파일에 압축 미디어 저장(Microsoft Media Foundation)

Windows 미디어 오디오 및 비디오 코덱을 사용하여 압축하는 모든 콘텐츠는 일부 컨테이너 형식으로 넣어야 합니다. 가장 인기 있는 형식 중 하나는 오디오 비디오 인터리브 또는 AVI입니다. Windows용 Microsoft 비디오(VfW) 또는 Microsoft DirectShow를 사용하여 AVI 파일을 만들 수 있습니다.

Windows Media 오디오 및 비디오 코덱은 Windows Media에서 사용하는 컨테이너인 ASF(Advanced Systems Format)의 속성을 사용하도록 개발되었습니다. AVI 및 ASF는 콘텐츠를 다르게 저장하기 때문에 Windows Media Audio 및 Video 코덱을 사용하여 압축된 콘텐츠를 AVI 파일에 저장할 때 몇 가지 어려움이 발생합니다.

Windows Media 오디오 코덱은 개별 샘플에 대한 타임스탬프를 사용하지 않고는 제대로 압축을 해제할 수 없는 방식으로 오디오 콘텐츠를 압축합니다. 이렇게 하면 압축된 미디어에서 일부 최적화가 가능합니다. ASF 컨테이너는 모든 샘플과 함께 타임스탬프를 유지하므로 오디오 알고리즘의 이러한 특성은 항상 잘 작동했습니다.

그러나 AVI 파일은 샘플에 타임스탬프를 보관하지 않습니다. 즉, AVI 파일에 저장할 때 Windows 미디어 오디오 콘텐츠를 제대로 압축 해제할 수 없습니다. Windows Media Video 콘텐츠에는 이 제한이 없으며 AVI 파일에 포함될 수 있습니다. Windows Media Video 콘텐츠를 동기화된 사운드가 있는 AVI 파일로 인코딩하려면 다른 오디오 코덱을 사용해야 합니다.

Windows Media용 컨테이너로 AVI 파일을 사용하는 다른 문제는 저비트 속도 비디오와 관련이 있습니다. Windows Media 비디오 코덱이 낮은 비트 속도로 비디오 콘텐츠를 생성하는 방법 중 하나는 중복 프레임을 삭제하는 것입니다. ASF 파일에 Windows Media Video 콘텐츠를 넣으려면 모든 프레임이 파일에 표시되도록 중복 프레임(MFPKEY_PRODUCEDUMMYFRAMES VARIANT_TRUE 설정)을 위해 더미 프레임을 제공하도록 인코더를 설정해야 합니다. 코덱에서 생성된 더미 프레임의 크기는 8바이트입니다. 그러나 AVI 멀티플렉서가 파일에 쓴 프레임은 수백 바이트 더 크고 임의 데이터로 채워질 수 있습니다. 이러한 방식으로 만든 AVI 파일은 여전히 재생할 수 있지만 예상보다 훨씬 큽합니다. AVI 파일의 스토리지용 비디오를 인코딩할 때 더 높은 비트 전송률을 사용하여 이 문제를 방지할 수 있습니다.

Windows Media 코덱