홈 › 2장 미디어 파일 이해

2.1 컨테이너와 코덱 - 파일을 읽는 첫 번째 기준

확장자만으로는 영상 파일을 알 수 없는 이유와, 컨테이너(래퍼)·코덱·스트림·트랙을 구분하는 방법을 설명합니다.

최종 수정 2026-10-28 · 읽는 시간 약 2분 · 운영 프리즘(Prism) · 편집 원칙

#확장자는 이름표일 뿐이다

movie.mp4와 movie.mov는 겉보기에 다른 파일이지만, 두 파일 모두 H.264 영상과 AAC 오디오를 담고 있을 수 있습니다. 반대로 같은 .mxf 파일이어도 한쪽은 MPEG-2 영상이고 다른 쪽은 JPEG 2000 영상일 수 있습니다. 파일을 정확히 이해하려면 두 가지 층을 나누어 보아야 합니다.

  • 컨테이너(Container, Wrapper): 영상·오디오·자막·타임코드·메타데이터를 한 파일에 담아 정리하는 그릇입니다. 어떤 데이터가 어디에 있는지, 재생 시간은 어떻게 맞추는지를 정의합니다. (MXF, MOV, MP4, MKV, TS 등)
  • 코덱(Codec, Coder-Decoder): 영상과 오디오 데이터를 압축하고 푸는 방식입니다. (H.264, MPEG-2, ProRes, DNxHD, AAC, PCM 등)
┌───────────── 파일 (예: clip.mxf) ─────────────┐
│ 컨테이너: MXF OP1a                             │
│  ├ 비디오 스트림  ← 코덱: MPEG-2 (XDCAM HD422) │
│  ├ 오디오 스트림 ×4 ← 코덱: PCM 24bit 48kHz    │
│  └ 데이터/타임코드 ← 메타데이터                 │
└────────────────────────────────────────────────┘

#스트림과 트랙

컨테이너 안에는 여러 개의 스트림(MOV/MP4에서는 트랙)이 들어 있습니다. 하나의 스트림은 하나의 종류의 데이터입니다.

스트림 종류 예
비디오 H.264 1920×1080 29.97fps
오디오 PCM 48kHz 24bit 모노 4채널
자막/데이터 클로즈드 캡션, 타임코드 트랙

방송 소재는 오디오를 모노 트랙 여러 개로 담는 경우가 많습니다(예: 트랙 1-2는 스테레오 본방송, 트랙 3-4는 국제 음향). 반면 웹 영상은 대부분 스테레오 한 쌍이 전부입니다. 변환 시 어떤 트랙을 어떻게 매핑할지가 중요한 이유입니다.

#자주 만나는 조합

용도 컨테이너 영상 코덱 오디오 코덱
방송 제작·교환 MXF MPEG-2 (XDCAM HD), AVC-Intra, DNxHD/HR PCM
편집 중간 파일 MOV ProRes, DNxHD, H.264 PCM, AAC
웹·모바일 MP4 H.264(AVC), H.265(HEVC) AAC
방송 송출·녹화 MPEG-TS MPEG-2, H.264 AC-3, AAC, MP2
범용 보관·공유 MKV 거의 모두 거의 모두

#조합을 확인하는 가장 빠른 방법

ffprobe(FFmpeg 포함)를 쓰면 한 줄로 스트림 구성을 볼 수 있습니다.

ffprobe -v error -show_entries stream=index,codec_type,codec_name,width,height,r_frame_rate,sample_rate,channels \
        -of compact input.mxf

예상 출력은 다음과 같은 형태입니다.

stream|index=0|codec_name=mpeg2video|codec_type=video|width=1920|height=1080|r_frame_rate=30000/1001|
stream|index=1|codec_name=pcm_s24le|codec_type=audio|sample_rate=48000|channels=1|r_frame_rate=0/0
stream|index=2|codec_name=pcm_s24le|codec_type=audio|sample_rate=48000|channels=1|r_frame_rate=0/0

오디오 스트림의 r_frame_rate=0/0은 프레임레이트 개념이 없다는 뜻이니 무시해도 됩니다. 비디오의 r_frame_rate=30000/1001처럼 분수로 나오는 점에 주목하세요. 1장에서 본 29.97fps의 정확한 값입니다.

#정리

  • 영상 파일은 컨테이너 + 스트림(코덱) 두 층으로 이해합니다.
  • 확장자가 같아도 내용물이 다를 수 있으니, 도구로 직접 확인하는 습관이 필요합니다.
  • 컨테이너만 바꾸는 재래핑은 빠르고 무손실이지만, 방송용 메타데이터 보존 여부를 꼭 검증해야 합니다.