2.2 MXF - 방송 소재 교환을 위한 컨테이너
SMPTE가 표준화한 MXF의 KLV 구조, 파티션 레이아웃, Operational Pattern(OP1a, OP-Atom), 타임코드와 메타데이터를 정리합니다.
#MXF란
MXF(Material eXchange Format) 는 방송 소재를 장비와 시스템 사이에서 주고받기 위해 SMPTE가 표준화한 컨테이너입니다(SMPTE ST 377-1). 이름 그대로 "소재 교환"이 목적이기 때문에 특정 코덱에 묶여 있지 않고, MPEG-2, AVC, DNxHD, JPEG 2000 등 다양한 영상과 PCM 오디오를 담을 수 있습니다.
방송 현장에서는 다음과 같은 파일이 모두 MXF입니다.
- 소니 XDCAM(HD, HD422) 카메라·디스크 촬영 소재
- 파나소닉 P2 카드 소재(OP-Atom)
- 방송 송출 서버로 전달하는 부킹·송출용 소재
- 영국 DPP의 AS-11, AMWA의 AS-02 같은 납품·마스터링 규격
#KLV 구조
MXF의 가장 큰 특징은 모든 데이터를 KLV(Key-Length-Value) 라는 일정한 형식으로 기록한다는 점입니다.
- Key(16바이트): 이 데이터가 무엇인지를 알려주는 고유 식별자(UL, Universal Label)
- Length(BER 인코딩): 뒤따르는 Value의 길이
- Value: 실제 데이터(영상 프레임, 오디오, 메타데이터 등)
[ Key 16B ][ Length ][ Value ... ][ Key 16B ][ Length ][ Value ... ] ...
Key만 보면 알 수 없는 데이터는 Length를 이용해 건너뛸 수 있습니다. 그래서 새 버전의 MXF를 구형 장비가 읽어도 모르는 항목은 건너뛰고 필요한 부분만 처리할 수 있습니다. 이 확장성이 방송 장비 간 호환성의 바탕입니다.
#파일 전체 구조: 파티션
MXF 파일은 파티션(Partition) 단위로 나뉩니다.
- Header Partition: 파일 맨 앞. 이 파일의 Operational Pattern, 필수 메타데이터(패키지, 디스크립터, 타임코드 정보)가 들어 있습니다.
- Body Partition: 실제 영상·오디오 데이터(에센스)가 들어 있습니다.
- Index Table: 몇 번째 프레임이 파일의 어디에 있는지 알려주는 표입니다. 임의 접근(Seek)에 필수입니다.
- Footer Partition: 파일 끝. 녹화를 끝낸 뒤 확정된 메타데이터(최종 길이 등)를 담습니다.
- Random Index Pack(RIP): 파일 맨 끝에 있는 파티션 위치 목록입니다.
#Operational Pattern (OP)
MXF 파일이 "어떤 구조의 파일인지"를 나타내는 약속이 Operational Pattern입니다. 가장 자주 보이는 것은 두 가지입니다.
| OP | 구조 | 특징 | 대표 사례 |
|---|---|---|---|
| OP1a | 영상·오디오를 하나의 파일에 인터리브 | 파일 하나로 재생 가능, 교환용으로 가장 일반적 | XDCAM, 방송 납품·송출 |
| OP-Atom | 트랙(영상, 오디오 1개)별로 파일 분리 | 편집 시스템이 파일별로 접근하기 쉬움 | Avid, 파나소닉 P2 |
OP-Atom 소재는 영상 파일 1개와 오디오 파일 N개가 한 세트이므로, 한 세트 중 일부가 빠지면 재생이 안 됩니다. MAM에서 인제스트할 때 이 "세트"를 하나의 소재로 묶어서 관리하는 로직이 필요합니다.
#타임코드와 메타데이터
MXF는 타임코드를 Timecode Component로 메타데이터에 저장합니다. 시작 타임코드, 프레임레이트(반올림된 값), 드롭 프레임 여부가 포함됩니다(1장에서 살펴본 내용). 또한 UMID(소재 고유 식별자), 제작 정보, 클립 이름, 사용자 정의 메타데이터(DMS)를 담을 수 있습니다.
#직접 확인하기
MXF는 이진 형식이라 텍스트 편집기로 볼 수 없지만, 도구로 구조를 열어 볼 수 있습니다.
# 컨테이너 포맷과 시작 타임코드 확인 (ffprobe)
ffprobe -v error -show_format -show_entries format_tags=timecode -of default=nw=1 input.mxf
# MediaInfo로 OP, 코덱, 타임코드 보기
mediainfo input.mxf
MediaInfo 결과에서 Format : MXF, Commercial name : XDCAM HD422, Format settings : OP-1a, Time code of first frame 같은 항목이 보입니다. 이 항목들의 의미는 3장에서 자세히 설명합니다.
#정리
- MXF는 SMPTE 표준의 방송 소재 교환용 컨테이너이며 KLV 구조로 되어 있습니다.
- Header / Body / Footer 파티션과 Index Table로 구성되고, 완결되지 않은 파일은 열리지 않을 수 있습니다.
- OP1a(인터리브)와 OP-Atom(트랙별 분리)의 차이를 알아야 인제스트 로직을 올바로 설계할 수 있습니다.
#참고 자료
링크는 2026-10-28에 열람이 되는 것을 확인했습니다. 규격과 도구 문서는 개정될 수 있으므로 적용하기 전에 최신 판을 확인하세요.