[Media/Basics] 코덱과 컨테이너

묘니·2025년 7월 9일

Media Streaming

목록 보기
3/3

코덱과 컨테이너란?

코덱(codec)

  • 오디오나 비디오 데이터를 압축(encoding)하거나 해제(decoding)하는 기술 또는 소프트웨어
  • 파일의 용량, 음질/화질, 처리 속도, 라이선스 등에서 각각 특성이 다름

컨테이너(container)

  • 여러 미디어 스트림(오디오, 비디오, 자막 등)을 하나의 파일로 묶는 "그릇" 역할
  • 내부에 어떤 코덱이 들어있는지, 트랙의 메타데이터, 타이밍 정보 등을 관리
구분설명예시
코덱 (codec)Coder-Decoder. 비·오디오 데이터를 압축(Encoding)→ 전송/저장 ↔ 해제(Decoding)→ 재생/후처리AAC · MP3 · Opus · Speex · Vorbis · H.264/AVC · H.265/HEVC
컨테이너 (container / file format)여러 트랙(오디오·비디오·자막 등)을 하나로 래핑해주고, 메타•타임스탬프 관리MP4 · fMP4 · WebM · Matroska(MKV) · Ogg · MPEG-TS

fMP4(컨테이너)

구조특징
Init segment = ftyp + moov
Media segment = moof + mdat 반복
- 네트워크로 “조각” 단위 전송 → MSE, DASH, HLS(CMAF) 에서 사용
- MP4 규격이라 광범위한 플레이어·CDN 호환

CMAF(공통 미디어 포맷)는 실질적으로 “HLS/DASH용 fMP4” 표준이라고 보면 됨.

https://thompsonng.blogspot.com/2010/11/mp4-file-format.html

OPUS(코덱) 비교

항목SpeexOpus (Speex + CELT 계열의 진화형)
개발 주체Xiph.org (2002)IETF 표준 RFC 6716, Xiph.org + Mozilla + Google
최적화 대역폭8 / 16 / 32 kHz (좁은·넓은·초광대역) 음성 전용48 kHz 고정 (내부 resample) 음성·음악 겸용
지연(Latency)30 ms+ (프레임 20 ms· 온전한 패킷 필요)2.5 ~ 60 ms 설정 가능 → WebRTC Low-latency
압축 효율2–24 kbps : 음성엔 OK, 음악 품질 ↓8 ~ 128 kbps ↔ 동일 비트레이트에서 Speex ↑
라이선스BSD-style, 특허 無 (이미 만료)완전 로열티 free
지원 현황구형 VoIP(에코캔슬), 임베디드 MCUWebRTC·Discord·Zoom, Android / iOS(AVFoundation 불가), FFmpeg, GStreamer
브라우저 네이티브Ogg·WebM 컨테이너 전용 decodeAudioData 가능
fMP4 불가
Ogg·WebM·(fMP4 제한적) Chrome 94+ 일부 지원
장점‣ 저사양 CPU OK
‣ 폭넓은 음성 연구자료
‣ 고음질 / 저지연
‣ 음악도 품질 우수
‣ 미래 표준(AV1+aac)
단점사장(死藏) 코덱 : 메인터넌스 중단
‣ 새 브라우저·SDK엔 미탑재
fMP4와 미묘한 호환성 (Safari·iOS는 수신만)
‣ 구형 디바이스 HW 디코더 부재

컨테이너-코덱 조합 선택 가이드

목적추천 조합비고
웹 재생(MSE/HTML5)WebM/Opus ⟶ Chrome·Firefox·Edge
MP4/H.264+AAC ⟶ Safari 포함 전브라우저
WebM Opus > 재생 시 FFmpeg wasm 필요 無
실시간 L-Low LatencyfMP4/Opus (CMAF, MSE)WebRTC와 동일 코덱, 단 Safari 14- 는 Audio Only 제한
파일 다운로드(저장)MP4/AAC, MP4/H.264 (범용)
WebM/Opus (저용량)
iOS 기본 Player = MP4 전용
무손실 아카이브WAV(PCM) or FLACWAV는 JS Blob 생성·스트리밍 난해, 용량 ↑

모바일 + PC 완전 범용 조합

컨테이너오디오비디오비고
MP4AACH.264가장 안전
WebMOpusVP8/VP9/AV1iOS 사파리 미지원(AVFoundation X)
CMAF (HLS/DASH)AAC or Opus(실험)H.264/H.265/AV1점차 통합 표준

fMP4 + Opus

검토 항목✔︎ 장점✖︎ 이슈·대안
스트리밍 지연‘fragment’ 덕분에 < 1 초도 가능동일 실시간 성능은 WebM Chunked, LL-HLS도 달성
CDN·플레이어 지원HLS(DASH) 인프라 그대로 활용오디오 전용 Opus → Safari·iOS 재생 실패 시 fallback 필요
후처리(편집·Waveform)MP4 파서·ISO BMFF 툴 풍부Opus 트랙 상위 호환 도구 적음 → Remux 필요
표준화 방향CMAF Audio (ISO/IEC 23000-19) 초안에 Opus 포함아직 모든 디바이스가 수용하진 못함

0개의 댓글