본문 바로가기

IT 개발자의 창고

CMAF란 무엇인가? 영상 스트리밍의 새로운 표준

원본 출처 : https://www.wowza.com/blog/what-is-cmaf

 

What Is CMAF? (Update)

CMAF is an emerging standard intended to reduce video format complexity. Additionally, this industry-wide effort aims to minimize latency for HTTP streams.

www.wowza.com

 

 

영상 스트리밍의 품질을 유지하면서 지연 시간을 줄이는 것은 업계의 중요한 과제가 되어 왔습니다. 이러한 문제를 해결하기 위해 도입된 것이 바로 **공통 미디어 애플리케이션 포맷(Common Media Application Format, CMAF)**입니다. CMAF는 산업 전반의 효율성을 높이고 지연 시간을 줄이기 위해 개발된 표준 포맷으로, HTTP 기반의 다양한 미디어 형식을 통합하는 역할을 합니다.

CMAF란?

CMAF는 HTTP 기반 미디어 전달을 위한 포맷으로, HLS(HTTP Live Streaming)와 MPEG-DASH 프로토콜을 함께 지원하는 통합 컨테이너 파일 형식입니다. 이는 단순한 프로토콜이 아니라, 단일 접근 방식을 통해 영상 스트리밍을 표준화하려는 산업적 노력의 결과물입니다.

CMAF의 가장 큰 장점은 **청크 인코딩(chunked encoding) 및 청크 전송(chunked transfer encoding)**을 활용하여 지연 시간을 획기적으로 줄인다는 점입니다. 이를 통해 저장 공간이 절감되며, 스트리밍 속도가 향상됩니다.

 

청크(Chunk)는 데이터를 작은 조각으로 나누는 기술을 의미합니다. 영상 스트리밍에서는 큰 비디오 파일을 **일정한 크기의 작은 조각(청크)**으로 나눠서 전송하는 방식이 사용됩니다.

CMAF의 필요성

기존의 스트리밍 업계는 다양한 코덱, 프로토콜, 미디어 포맷 및 기기로 인해 복잡한 문제를 안고 있었습니다. 서로 다른 파일 컨테이너(예: .ts, .mp4, .wma, .mpeg 등)를 사용해야 했기 때문에 동일한 콘텐츠를 여러 번 인코딩하고 저장해야 하는 비효율이 발생했습니다. 이는 스트리밍 비용 증가와 지연 시간 문제를 초래했습니다.

CMAF는 이러한 문제를 해결하고자 등장했습니다. 단일 컨테이너(.mp4)를 사용하여 다양한 플랫폼에서 호환 가능하도록 만들었으며, 지연 시간을 30~45초에서 3초 미만으로 줄일 수 있도록 설계되었습니다.

CMAF의 발전 과정

  1. 2016년 2월: 애플과 마이크로소프트가 MPEG(Moving Pictures Expert Group)에 CMAF 표준을 제안
  2. 2016년 6월: 애플이 fMP4(분할 MP4) 포맷 지원 발표
  3. 2017년 7월: CMAF 표준 규격 확정
  4. 2018년 1월: CMAF 표준 공식 발표

이처럼 주요 IT 기업들이 협력하여 개발한 CMAF는 영상 스트리밍 업계의 표준을 단순화하고, 비용 절감 및 성능 개선을 목표로 하고 있습니다.

CMAF의 주요 기술

1. 단일 포맷

과거에는 애플의 HLS가 .ts(MPEG-TS) 포맷을, DASH가 .mp4(fMP4) 포맷을 사용했습니다. 그러나 CMAF는 **ISOBMFF(ISO Base Media File Format)**을 기반으로 한 fMP4 포맷을 표준으로 채택하여 두 개의 프로토콜을 하나의 포맷으로 통합했습니다.

2. 청크 인코딩

CMAF는 청크 단위로 영상을 인코딩하고 즉시 전송할 수 있도록 설계되었습니다. 이는 전체 영상이 완성될 때까지 기다리지 않고, 즉각적인 스트리밍을 가능하게 합니다. 쉽게 말해, 한꺼번에 음식을 받는 것이 아니라 에피타이저를 먼저 받으며 메인이 준비되는 동안 먹을 수 있는 방식과 유사합니다.

3. 파일 암호화 및 DRM 표준화

CMAF는 **공통 암호화(Common Encryption, CENC)**를 지원하여 FairPlay(애플), PlayReady(마이크로소프트), Widevine(구글) 등의 다양한 DRM을 통합할 수 있도록 설계되었습니다. 이는 DRM 방식의 비호환성을 해결하는 중요한 역할을 합니다.

CMAF와 기타 스트리밍 기술 비교

1. CMAF와 HLS

애플은 CMAF가 도입된 이후에도 Low-Latency HLS(LL-HLS)를 발표하여 지연 시간을 2~8초 수준으로 낮췄습니다. 따라서 HLS를 활용하는 방법은 다음 세 가지로 정리됩니다:

  1. 전통적인 HLS (높은 신뢰성, 높은 지연 시간)
  2. Low-Latency HLS (낮은 지연 시간, 신뢰성 유지)
  3. CMAF 기반 HLS (낮은 지연 시간, 표준화된 컨테이너 활용)

2. CMAF와 RTMP

RTMP(Real-Time Messaging Protocol)는 과거 플래시 기반 스트리밍의 표준이었지만, 현재는 재생보다는 인제스트(ingest, 업로드) 용도로만 사용됩니다. RTMP의 지연 시간은 약 5초로, 기존 HLS보다 빠르지만 확장성 및 보안 문제로 인해 점차 HTTP 기반 기술로 대체되고 있습니다.

3. CMAF와 WebRTC

WebRTC(Web Real-Time Communications)는 초저지연(ULL, Ultra-Low Latency) 기술로, 1초 미만의 지연 시간을 제공합니다. 그러나 기본적으로 화상 회의 용도로 개발된 기술이기 때문에 대규모 스트리밍에는 확장성이 부족합니다.

Wowza와 같은 스트리밍 솔루션을 사용하면 WebRTC 기반의 스트리밍을 더 확장할 수 있습니다.

결론: CMAF의 미래

CMAF는 비용 절감, 워크플로우 단순화, 지연 시간 감소라는 목표를 가지고 등장했으며, 현재까지도 그 가치를 입증하고 있습니다.

하지만 구형 기기 및 브라우저에서는 여전히 호환성 문제가 발생할 수 있어, 업계가 완전히 CMAF로 전환되기까지는 시간이 필요할 것입니다.

이러한 문제를 해결하기 위해 Wowza Streaming Engine은 HLS, MPEG-DASH, RTMP 등 다양한 포맷을 지원하며, CMAF의 저지연 스트리밍 기능도 지속적으로 개선하고 있습니다.

앞으로 더 많은 기기와 플랫폼이 CMAF를 지원하게 되면, 영상 스트리밍의 표준화가 더욱 가속화될 것입니다.