기본적인 클라우드 방송기술 소개 – 1
클라우드 미디어 기술 개요
정진호 메가존클라우드 Telco/Media 그룹 Media Special팀 팀장
클라우드에서 지원이 되는 미디어 기술들
안녕하세요. 메가존클라우드 미디어 스페셜팀입니다. 앞으로 6번의 연재를 통하여, 미디어 기술들이 클라우드에서 어떻게 구현되고 준비되고 있는지를 살펴보려고 합니다. 대부분은 경험을 통하여 얻게 된 사례들을 위주로 소개를 하려고 합니다. 이를 통하여 클라우드에 어떤 방송기술들이 있는지와 이러한 기술을 어떻게 사용하면 좋을지에 대한 방향 수립에 도움이 되었으면 하는 바람입니다.
방송의 여러 기능과 워크플로우들이 있기에, 온라인에서 가장 먼저 할 수 있는 미디어기술 부문을 소개해 드리고자 합니다. 가장 먼저는 비디오를 스트리밍하는 부분입니다. 크게는 생방송과 On-demand 형태인 VoD로 구분할 수 있을 것 같습니다.
이전(대략 10년 이전)에는 인터넷으로 방송하는 방법은 매우 부수적인 방법이었습니다. 그 시기는 고화질 촬영과 장비로 구성된 시스템으로 방송 콘텐츠를 다루던 시대였고, 인터넷 속도가 느려 이를 통하여 보낼 수 있는 화질에 한계가 있었습니다. 그리고 인터넷으로 보낼 때 한계가 또 하나 있었습니다. 하나의 방송 전송으로 모든 지역에서 수신할 수 있던 broadcasting 방식과 달리 인터넷은 개별 전송 환경입니다. 즉, 1:1로 session을 맺어 영상스트림을 지속해서 보내야 하기에 시청자 한명 한명이 온라인 비디오 제공 서버와 연결되어 방송을 시청하는 방법이었습니다. 그래서 서버가 담당할 수 있는 규모에 따른 시청자 수용 제한이 있었고, 시청자 규모에 따라 여러 대의 서버와 IT 자원을 준비해야 하는 사전 인프라 구성 설계에 대한 부담이 존재하였습니다.
인터넷 스트리밍에 새로운 기술 변화가 생겼습니다. 위와 같은 구조의 한계성이 2009년도 이르러 다음의 그림과 같은, 파일을 분절하여 다운로드하는 방식으로 구조 전환이 되었습니다. 시청자가 끊이지 않고 영상을 볼 수 있기에 ‘스트리밍’이라고 표현할 수 있으면서, 사실상 영상을 작은 파일들로 분할하여 하나씩 인터넷 다운로드로 전달하기에 기술적으로 ‘파일 다운로드’ 구조로 구분되는 방법이었습니다. 이러한 변화의 결과로 전체적 미디어 전송 서비스에 큰 변화를 가져왔다고 생각됩니다.
기본적인 원리를 조금 쉽게 설명해 드립니다.
・ 이러한 변화를 통하여 기술구조가 보편적이고 간소한 모습이 되었는데, 영상을 10초 내외의 단위로 분할한 후 저장하고, 이를 가장 http 인터넷 프로토콜을 사용하여 다운로드를 제공하는 구조가 되었습니다.
・ 이전에 1:1 session 관계였던 구조로 서비스 제공 서버에 부담이 되었던 부분이 http를 사용하여 다운로드하는 방법으로 전환되었고, http 프로토콜에서 전송을 담당하고 있는 CDN(contents delivery network)을 활용함으로써 1:n 서비스가 가능하게 되었습니다. 그리고, 이를 통해 전송 시 서버 준비에 대한 부담을 제거하는 계기가 되었습니다. CDN은 파일을 누구에게나 동시에 전달할 수 있는 보편적 서비스로, 이를 사용함으로써 소량의 서버에 원본 파일만 준비하면 전송은 매우 손쉬운 영역이 되었습니다.
이렇듯 콘텐츠 전송에 cache 기능을 제공하는 CDN을 활용함으로써 영상의 전송 단순화와 글로벌 전송이 가능한 변화도 맞게 되었고, 온라인 스트리밍 서비스가 클라우드에서 제공이 가능하게 되었습니다.
그동안 방송기술들이 소프트웨어 기반으로 변화되면서, 클라우드에 더욱 적합한 계기가 생겼습니다. 많은 방송기술들이 클라우드에서 제공이 되고 있습니다. 고화질 영상저장 기능과 함께, CDN을 통하여 전 세계로 콘텐츠를 전송하는 일련의 과정과 최적의 시청을 위한 플레이어(player) 그리고 mobile에서부터 smartTV에 이르기까지 다양한 시청 디바이스를 유연하게 지원하는 기술로 발전하게 되었습니다. 많이 사용하는 넷플릭스도 클라우드에서 서비스를 제공하고 있고, 이젠 대부분의 OTT 서비스는 클라우드와 밀접한 기술적 연관성을 갖고 있습니다. 앞으론 더욱 많은 전문 방송 기술들도 클라우드에서 제공될 것으로, 클라우드 환경에서의 방송 기획과 콘텐츠 제작도 비중이 높아지리라 기대합니다.
1
VOD에 대한 기능과 기술들
VoD는 클라우드에서 쉽게 구성할 수 있는 대표적인 서비스입니다. 파일을 클라우드에 저장하고 이를 CDN을 통하여 전송하면 어디에서나 시청할 수 있는 구성입니다. AWS를 예로 들어 설명하도록 하겠습니다.
모든 콘텐츠는 클라우드의 오브젝트 저장소인 S3에 저장이 됩니다. 오브젝트 저장소는 클라우드가 제공하는 가장 대표적인 스토리지 서비스로 매우 높은 안정성과 redundancy 그리고 미디어 스트리밍의 원본 서버인 Origin 기능을 포함한 여러 기능을 보유하고 있습니다. 콘텐츠를 S3 저장소에 업로드하는 것만으로 콘텐츠를 서비스할 수 있는 기본 준비가 완료됩니다. 여기에 앞에서 설명해 드린 CDN을 붙여서 사용하면 CDN이 콘텐츠를 캐싱하여 1:n으로 방송(broadcasting)합니다. 심플하지만 강력한 구성으로 VoD의 미디어 파이프라인을 구성하여 글로벌 스트리밍을 제공할 수 있습니다.
온라인 비디오에서 비디오전송 HLS(Http Live Streaming으로 Apple 사에서 2009년 출시)와 MPEG-DASH(ISO에서 2011년 출시, 이후 DASH)를 좀 더 주목하게 될 것입니다. 위와 같은 방식을 근간으로 2009년, 2011년에 출시한 두 프로토콜 규격은 가장 많이 사용되고 있는데요, HLS 또는 DASH 방식으로 스트리밍을 하기 위해서는 콘텐츠를 단일 파일 형태가 아닌 분절된 형태로 만들어야 합니다. 그런 상태에서 S3 저장소에 보관을 해야 합니다. 우리는 이를 위해서 transcoding을 사용합니다. AWS에는 MediaConvert라고 하는 서비스가 있어 이를 통하여 콘텐츠 파일을 HLS, DASH 방식으로 변환할 수 있습니다. 콘텐츠를 클라우드에 업로드한 후 MediaConvert에서 트랜스코딩을 구동하면 우리는 HLS 또는 DASH 서비스를 위한 원본 파일을 얻을 수 있고, 여기에 CDN을 붙이면 VoD 서비스를 준비할 수 있게 됩니다.
1
생방송에 대한 기능과 기술들
생방송도 VoD와 크게 다르지는 않지만, 다른 게 있다면 ‘실시간’이란 점과 입력 수단이 ‘파일’이 아니고 실시간 카메라에서 받은 ‘IP’ 데이터/시그널 이란 점일 것 같습니다. 아마 RTMP 프로토콜은 독자분들이 잘 알고 계시리라 생각합니다. 대부분의 인터넷 방송에서 자주 사용되는 프로토콜인데요, 이와 같은 IP로 전송될 수 있는 카메라 신호를 소스로 클라우드에 보내주면 MediaLive에서 이를 받아 방송 채널 구성과 전송 서비스를 구현할 수 있습니다. 이 외에도 SRT, Zixi, RTMP, RTSP, UDP, RTP 같은 영상 전송 프로토콜들이 클라우드 입력신호로 사용될 수 있습니다. 이런 프로토콜로 카메라, PGM 신호를 데이터로 클라우드에 전달하면 이를 생방송 입력으로 사용하여 방송 채널을 운영하게 됩니다.
위의 그림에서 보시는 것 같이, MediaLive는 클라우드의 실시간 인코더와 유사한 서비스입니다. IP로 들어오는 소스를 다양한 스트림 방식으로 트랜스코딩과 패키징을 합니다. HLS/DASH가 가장 많이 사용되는 보편적인 스트리밍 방법인데요, MediaLive에서 이 기능을 제공합니다. 이렇게 정리된 원본을 MediaPackage에 실시간으로 저장을 하면, CloudFront에서 이 파일을 원본(Origin)으로 바라보고 캐싱(Caching)합니다. 쉽게 말씀드리면 복제하여 전 세계 CDN 서버에 둠으로써 각 지역에서 시청자들이 가까이에 있는 CDN 서버에서 데이터 접속하여 시청할 수 있도록 합니다. 이렇게 3개의 서비스만으로 생방송 전송 파이프라인을 구성하고 시청 영역은 전 세계 어디 나가 될 수 있습니다.
HLS에 대하여 잠시 소개를 드리려고 합니다.
위의 그림과 같이 HLS는 분절된 방법으로 콘텐츠 파일을 전송하는데요, 이때 해상도를 적게는 2개 많게는 7개 내외를 준비합니다. 파일이 분절되어 있다 보니 다음 파일로 재생할 때에 해상도에 맞게 변경할 수 있으며, 네트워크 상황에 맞는 해상도를 찾아 재생할 수 있는 장점을 갖고 있습니다. 이렇게 하면 초기에 낮은 해상도로 빠르게 영상을 시청할 수 있도록 하고, 이어 높은 해상도로 안정적인 시청을 할 수 있도록 도움을 줍니다. 이 기능을 우리는 적응형 스트림 Adative Bitrate(ABR)라고 합니다. 대부분의 온라인 스트림은 이러한 방식을 사용하고 있는데요, 넷플릭스와 유튜브에서 경험해 보실 수 있습니다.
1
메가존클라우드의 OVP 오퍼링 소개
메가존클라우드는 클라우드 기업입니다. AWS와 구글, 마이크로소프트, 네이버 등 클라우드를 공급하는 일을 하고 있습니다. 이 중 저희는 미디어 방송기술의 공급과 컨설팅을 제공하고 있으며, 클라우드를 기반으로 하는 미디어 기술을 제공하고 있습니다. 그리고, 클라우드에서 사용할 수 있는 자사 개발 솔루션을 보유하고 있습니다. 미디어 자산관리, 아카이브 및 편성과 송출, 편집 등의 업무 솔루션이며 보유 솔루션의 주요 기능은 아래의 도식과 같습니다.
콘텐츠를 클라우드로 업로드하거나 마이그레이션을 할 수 있으며 모든 자원이 클라우드에서 제공이 되기에, 별도의 인프라 장비와 시설을 구성하지 않고 사용할 수 있는 미디어 서비스라고 이해하시면 됩니다. 클라우드 스토리지에 안전하게 저장된 콘텐츠를 미리보기, 메타정보 관리 등 일반적인 자산관리 툴로 활용할 수 있으며, 오래된 장기 보관 콘텐츠를 아카이브 할 때에도 클라우드 Deep Archive 스토리지를 활용하여 저렴한 금액으로 안전하게 보관할 수 있습니다.
아래의 화면은 클라우드 스토리지를 어렵지 않게 사용할 수 있는 화면입니다. 폴더 구조에 드래그앤 드롭으로 클라우드에 콘텐츠를 업로드 저장하고, 검색 조회하고 필요시 다운로드 또는 클라우드에서 편집 등의 기능을 활용하여 자산들을 저장 관리할 수 있습니다.
아래의 화면과 같이, 클라우드로 업로드한 콘텐츠를 웹브라우저 전용 콘솔을 통하여 목록을 조회하고 해당 영상을 확인할 수 있습니다. 미디어 자산으로 등록된 파일들은 다양합니다. H.264, H.265 코덱류의 비디오와 함께 PSD, AI 등의 2D 이미지 파일과 섬네일 등을 모두 포함하고 있어, 콘솔에서 검색 조회하고 해당 이미지의 프리뷰를 확인하고 공유하거나 콘텐츠를 On-demand 미디어로 스트리밍을 할 수 있습니다.
아래의 화면은 콘텐츠에 대하여 메타정보를 등록할 수 있는 화면입니다. 메타 필드는 커스텀으로 추가하여 다양한 메타정보로 관리할 수 있습니다. 메타정보는 산업군별로 다르기에, 산업군별로 메타필드를 설정할 수 있도록 별도 관리를 하고 있습니다. 하나의 자산에 포함되거나 연결된 연관 자산들도 함께 관리를 할 수 있습니다. 서비스 페이지에서 Assets API로 특정 자산을 조회하고 호출하는 경우 관련한 부가 정보들이 모두 사용할 수 있도록 제공하고 있습니다.
AI Analysis를 통하여 영상의 내용 분석에 AI를 활용할 수 있습니다. 콘텐츠 내용을 분석하여 메타정보로 활용하거나 부가 정보로 활용할 수 있으며, Label Detection으로 시작하여 얼굴 분석 등 여러 분석 요소가 함께 제공되어 영상을 분석하고 응용할 수 있습니다.
그리고 아래의 화면과 같이 필요한 부분을 편집할 수 있습니다. 간단한 커팅 위주의 편집을 지원하고, 전문적인 영상 편집은 이후에 다룰 별도의 클라우드 편집시스템을 통하여 소개를 드리도록 하겠습니다. 간단히 In 점과 Out 점을 잡으신 후 영상을 자르고 붙이는 작업을 할 수 있습니다. 이때 숏비디오를 위한 세로형 비디오 등 설정도 가능합니다.
지금까지 클라우드에서 가장 기본적으로 미디어 서비스를 할 수 있는 요소에 대하여 알아보고, 이를 손쉽게 사용하며 많은 콘텐츠를 효율적으로 관리할 수 있는 자사의 솔루션에 대하여 알아보았습니다. 별도로 기재하지 못하였지만, 방송 채널 편성표와 송출, 전송에 이르는 기능들도 함께 포함되어 있어 대부분의 미디어 서비스를 클라우드에서 사용하고자 할 때에 도움이 될 수 있도록 제품을 구성하고 있습니다.
지금까지 클라우드에서 주요하게 어떤 미디어 서비스를 활용할 수 있는지를 보았습니다. 다음 글에서는 방송 중계, 생방송 프로덕션에 대하여 알아보도록 하겠습니다. 클라우드에 있는 기술을 활용하여 방송을 중계할 때 카메라 입력을 받고 비디오 스위칭과 오디오 믹싱 그리고 자막을 어떻게 처리할 수 있는지에 대하여 알아보도록 하겠습니다.