본문 바로가기
미디어 트렌드

CMAF 저지연 스트리밍 기술 소개

by 위안소프트 2019. 7. 22.

오늘날 온라인 비디오 산업에서 극복해야 할 가장 중요한 과제는 지연시간 입니다. 지금부터 지연시간이 무엇이고, 스트리밍에서 지연시간이 왜 중요하며, CMAF 저지연 스트리밍 기술이 어떻게 이 문제를 해결할 수 있는 지를 설명하고자 합니다.

라이브 스트림에서 지연시간이란 영상 소스에서 시작하여 재생 기기가 수신하여 표출할 때까지 라이브 콘텐츠의 실제 전송에 걸리는 시간을 말합니다. , 카메라가 실제 이벤트를 캡쳐하는 순간과 최종 사용자가 단말기에서 그 콘텐츠를 보는 시간 사이의 차이입니다.

일반적인 TV 방송 스트림의 지연 시간은 3~5초인 반면, 온라인 스트리밍에서는 사용되는 재생 기기나 비디오 워크플로우에 따라 30~60초 이상 입니다. 온라인 스트리밍 산업에서 해결해야 할 과제는 애플리케이션에 따라 조금씩 다르겠지만 이러한 지연시간을 TV 방송 신호의 지연 수준(3~5) 이하로 줄이는 것입니다.

저지연 스트리밍 필요성

저지연 스트리밍의 목표는 시청자들이 방송을 실시간에 가깝게 시청 함으로써 방송에 참여하여 상호 소통할 수 있도록 하는 것입니다. 대표적인 실시간 방송으로는 스포츠, 뉴스, 배팅, 게임 등이 있으며, 지연시간에 민감한 이러한 방송들은 대부분 양방향의 피드백 데이터가 있는 분야입니다.

또 다른 대화형 방송 분야로는 게임쇼와 시민 참여가 있습니다. 이러한 경우에는 시청자들의 다양한 기기에서 지연시간이 동기화되어 시청자가 동시에 질문에 답할 수 있게 평등한 기회를 주는 것이 중요합니다.

CMAF?
CMAF(Common Media Applications Format)2016년에 처음 제안되었고, 애플과 마이크로소프트가 MPEG-DASH HLS 프로토콜로 스트리밍할 수 있는 표준화된 전송 컨테이너를 만들었습니다.

주요 목표

1)    표준화된 암호화 방법으로 오버헤드를 줄이고, 인코딩과 전송 비용을 감소시킵니다.
2)    비디오 스트리밍 워크플로우나 통합관련 복잡성을 단순화합니다(: DRM, 광고, 폐쇄 자막, 캐싱 등).
3)    모든 온라인 기기에서 스트리밍이 가능하도록 단일 포맷을 지원합니다.

CMAF 저지연 스트리밍 원리

일반적으로 라이브 스트리밍 시에 미디어(비디오/오디오) 2~6초 길이의 세그먼트 형태로 전송됩니다. 이 세그먼트는 인코딩되고, 전송되고, 다운로드되며, 버퍼링된 후 플레이어에서 렌더링되는 과정을 거치기 때문에 전송부터 재생까지 몇 초의 지연시간이 걸리게 되는 것이며, 이 모든 과정에서 세그먼트 크기로 인해 지연시간을 최소화할 수 있는 한계가 있습니다.

CMAF에서는 각 세그먼트를 청크라고 하는 더 작은 단위로 세분화하여 지연시간을 크게 줄일 수 있으며, 각 청크는 인코더 구성에 따라 500밀리초(0.5) 이하가 될 수 있습니다. 저지연 CMAF 또는 청크 CMAF를 사용하는 플레이어에서는 세그먼트를 요청한 후, 세그먼트 전체가 수신되지 않더라도 수신된 청크만으로도 렌더링을 시작할 수 있기 때문에 지연시간을 크게 줄일 수 있습니다.

위 그림에서 청크는 레퍼런스할 수 있는 가장 작은 미디어 단위로, “moof”“mdat”를 원자를 포함합니다. mdat세그먼트를 시작하기 위해 필요한 하나의 IDR(Instantic Decoder Refresh) 프레임을 가지고 있습니다. “세그먼트는 하나 이상의 프레그먼트의 모음이고, “프레그먼트는 하나 이상의 청크의 모음입니다. “moof” 박스는 플레이어가 각 청크를 디코딩하고 렌더링하는데 필요한 정보를 담고 있습니다.

저지연 플레이어

미디어 플레이어를 저지연 모드로 설정하면, 플레이어는 세그먼트 전체가 다운로드될 때까지 기다리지 않고 청크 기반으로 디코딩 및 렌더링을 수행합니다.

플레이어는 시작 로직을 최적화하고, 버퍼 크기와 재생 속도를 조정하면 실제 라이브 스트리밍에 가깝게 재생할 수 있습니다. 스트림 안정성과 양호한 화질을 유지하면서 1.8초까지 지연시간을 낮추는 테스트는 이미 실증되었습니다.

위 그림은 플레이어 버퍼링과 디코딩 동작을 표현하고, 표준 세그먼트(표준 지연시간) 모드와 저지연 스트리밍을 위한 청크 세그먼트 모드를 비교하고 있습니다.

위 그림에서 세그먼트 크기가 4xC(여기서 C는 가장 작은 세분화 단위, 청크, 밀리초 단위) 3 세그먼트 버퍼링하는 청크 없는 세그먼트의 경우, 14xC초 플레이어 지연시간이 걸린다는 것을 보여 줍니다.

대조적으로 CMAF 청크 세그먼트에서는 2xC초 지연시간이 걸리며, 14xC초 지연시간이 걸리는 청크 없는 세그먼트 대비 7배 향상되는 것을 보여줍니다.

저지연과 고화질 시청 환경을 동시에 달성하려고 할 때 몇 가지 고려사항과 절충점이 있습니다.

버퍼 크기: 플레이어가 미디어 프레임을 수신하는 즉시 렌더링하는 것이 가장 이상적입니다. 이 말은 아주 작은 버퍼 사이즈를 유지해야 한다는 뜻입니다. 하지만 버퍼 사이즈가 작을 경우 네트워크나 인코더 문제로 인해 플레이어에 예기치 않은 중단 상태(프레임 손실이나 버스트)가 발생하면, 안정적인 시청 환경을 보장하기 어렵습니다. 로컬 버퍼에 프레임이 충분히 채워지지 않은 상태로 중단되었을 경우, 버퍼가 새 프레임들로 채워질 때까지 플레이어는 멈춥니다. 이때 플레이어는 재생 환경이 왜곡되었음을 인식하여 타이밍을 재 동기화하게 됩니다. 플레이어는 어느 정도의 네트워크 장애를 견디면서 시청자에게 원활한 시청 환경을 제공할 수 있도록 1초 이상의 버퍼를 유지하는 것이 좋습니다.

DRM은 시작시간 지연을 가져오는 추가적인 요인이며, 저지연 설정이 켜져 있어도 라이선스를 체크하는 동안은 콘텐츠 재생을 시작할 수 없습니다.

세션 품질 모니터링

위와 같은 이유로, 저지연 CMAF 스트리밍은 시간에 민감하게 작동합니다. 이것에 맞춰 최소의 버퍼링을 유지하면서 강력하고 확장성 있는 온라인 비디오 플랫폼의 균형을 맞추는 것은 상당히 어렵습니다. 이에 대한 해결책은 스트리밍 환경을 전반적으로 모니터링하는 솔루션입니다.

세션 품질 모니터링 솔루션은 세션 품질과 관련된 깊이 있는 통찰력을 가질 수 있게 합니다. 고객은 이것으로 시청 환경을 개선하기 위해 저지연 스트리밍 세션의 성능을 모니터링하고, 플레이어나 인코딩 설정을 조정하는 등 다양한 결정을 신속하게 할 수 있습니다.

다른 지연시간 요소
CMAF 청크 스트리밍과 저지연 플레이어는 온라인 스트리밍에 있어 지연시간을 줄이는 핵심 요소입니다. 하지만 비디오 전달 체인의 각 단계마다 지연시간이 발생하는 요인들이 있어, 해당 요소들의 추가적인 최적화도 필요합니다

  • 인코더: 인코더는 가능한 빨리 라이브 스트림을 인제스트할 수 있어야 합니다. 이때 적당한 크기의 청크와 세그먼트를 생성하여 배포용 오리진 서버에 업로드해야 하는데, 이를 위한 최적화된 인코딩 설정이 필요합니다.
  • ž퍼스트 마일 업로드: 업로드 시간은 네트워크 유형(유선, 무선)에 따라 달라지며 이것도 전체 지연시간에 영향을 줍니다.
  • žCDN: CDN 기술은 청크 기반 전송이 가능해야 하고, 여러 전달 노드에 청크를 전파하기 위해 정확한 캐싱 전략을 적용할 필요가 있습니다.
  • ž라스트 마일: 최종 사용자의 네트워크 조건 역시 전체 지연시간에 영향을 줍니다. , 사용자의 유선망/WiFi/무선망 등 네트워크 조건에 따라 다르며, 사용자가 CDN 에지에 얼마나 가까이 있는 지에 따라 다릅니다.
  • ž재생: 앞에서 설명했듯이 플레이어는 시작 동작을 최적화하고, 빠른 다운로드와 렌더링이 가능하도록 버퍼링과 재생속도의 균형을 맞추면, 실시간에 가깝게 재생할 수 있습니다.

위안미디어는?

시청자의 취향이 기존 대형 스크린 TV에서 온라인 스트리밍 환경으로 이동함에 따라, 콘텐츠 제공자도 온라인용 프리미엄 콘텐츠를 더 많이 만들고 있으며, 양방향 소통이나 저지연 스트리밍이 가능한 새로운 온라인 미디어 환경을 제공하고 있습니다.

위안미디어의 저지연 솔루션은 2초 미만의 저지연 라이브 스트리밍, 시청자에게 고품질의 시청 환경 제공, 저지연 스트리밍으로 인해 발생하는 바람직하지 않은 상황에 대처하는데 필요한 수준 높은 인사이트를 제공합니다.