개발/Cloud

[네이버 클라우드] Live Station과 함께 보는 치지직의 야심찬 도전

김키쿠 2023. 12. 29. 16:44

요즘 라이브 방송의 가치가 점점 높아지고 있다. 연예인들은 팬들과 소통을 라이브 방송을 통해 하거나 각종 공연, 페스티벌을 집에서 생생하게 즐길 수 있다. 동시에 동영상 서비스를 주로 하던 유튜브나 인스타그램과 같은 SNS도 라이브 서비스를 제공하고 있다. 

 

다양한 라이브 방송

 

생각해보면 라이브 서비스는 굉장히 높은 수준의 QoS가 요구된다. jitter, delay등에 의해 발생하는 버퍼링은 사용자 입장에서 충분히 불쾌하며 고화질과 높은 프레임 수준 또한 라이브 방송에서 중요한 요소 중 하나다.

 

최근에 인터넷 방송 플랫폼인 트위치가 한국에서 서비스를 종료한다고 발표했는데, 동시에 혜성처럼 등장한 네이버 치지직이 베타 서비스를 시작하며 새로운 인터넷 방송 플랫폼의 출발을 알렸다. 과연 치지직이 국내 인터넷 방송 시장에 어떤 영향을 미치게 될지 기대가 되는 상황이다.

 

트위치 한국 철수와 함께 등장한 네이버 치지직

 

그렇다면 라이브 방송은 어떻게 진행되는지 네이버 클라우드의 Live Station을 통해 알아보자. 네이버 치지직도 아마 Live Station을 활용해서 쓰지 않을까?

 

Naver Cloud Live Station

Live Station

 

Live Station은 라이브 방송 서비스 구축에 필요한 모든 기능을 제공하는 영상 인코딩 서비스다. 여기서 인코딩 서비스가 무엇일까? 우선 카메라를 통해 촬영된 영상이 실시간으로 시청자에게 도달하기까지의 과정을 살펴보자.

 

라이브 방송 영상의 전달 단계

 

라이브 방송은 카메라로 촬영된 영상이 인코더를 통해 압축되고 압축된 데이터는 미디어 서버를 통해 시청자의 동영상 플레이어로 전달되는 과정을 거친다.

 

카메라 ▶ Encoder(인코더) ▶ Media Server(+CDN Server) ▶ 동영상 플레이어 ▶ 시청자(Client) 

 

 

생각해보면 카메라로 촬영되는 영상을 그대로 서버에 보내게 되면 무지막지한 트래픽을 감당해야 한다. 따라서 영상을 압축하는 과정이 꼭 필요한데, 우리가 흔히 들어본 코덱(COder and DECoder)이 인코딩(압축)과 디코딩(압축 해제)를 담당한다. 대표적인 영상 코덱에는 H.264, H.265, AV1 등이 있는데 현재 성능도 좋고 무료인 AV1 코덱을 잘 도입하는게 생방송 플랫폼의 주요 이슈인 것 같다.

 

Live Station Service Spec

 

이렇게 압축된 디지털 파일을 미디어 서버에 전송하거나 다운로드할 때 스트리밍 프로토콜을 사용하는데 Live Station에서 지원하는 프로토콜은 다음과 같다.

  • Encoder : RTMP, RTSP, webRTC, SRT
  • Player : HLS, DASH, LL-HLS, webRTC, SRT

 

Encoder의 경우 과거에는 UDP 기반의 RTSP 프로토콜을 많이 사용했지만 최근에는 주로 RTMP 프로토콜을 사용한다. Player의 경우에는 HLS나 MPEG-DASH가 대표적인 프로토콜인데 Live Station은 LL-HLS(Low-Latency HLS)까지 지원한다고 한다. 그렇다면 Live Station이 자랑하는 LL-HLS 프로토콜이란 무엇일까?

 

LL-HLS(Low-Latency HLS)는 Apple의 HTTP Live Streaming(HLS) 프로토콜의 최신 버전 중 하나로 실시간 스트리밍에 최적화된 특징을 가지고있다. 기존의 HLS는 보통 10~30초의 지연 시간이 있었기 때문에, 실시간 이벤트나 상호 작용이 필요한 애플리케이션에는 적합하지 않았다. 따라서 이러한 문제를 해결하기 위해 LL-HLS가 설계되었는데 이 친구는 지연 시간이 무려 3초 이내라고 한다. 

 

LL-HLS

 

LL-HLS가 기존 HLS보다 낮은 지연 시간을 가질 수 있었던 비결은 세그먼트의 크기를 더 줄이는 방법이었다. 세그먼트가 생성되는 동안 플레이어는 버퍼를 채우게 되는데 이러한 측면에서 세그먼트의 크기를 줄이게 되면 버퍼 크기도 같이 줄어들고 이는 대기 시간이 줄어드는 효과를 가져오게 된다.

 

아무튼 Live Station은 이러한 프로토콜들을 사용해 미디어 서버와 통신하는데 이때 발생하는 대규모 트래픽을 안정적으로 처리하기 위해 Global Edge 같은 CDN 서비스를 사용한다. 또한 녹화 파일을 따로 저장할때는 Object Storage의 버킷에 저장된다.

 

채널 생성 화면
녹화 설정 화면

 

이외에도 Live Station은 여러 기능을 제공한다. Short Clip을 생성한다던가 전용 채널이 아닌 유튜브, 트위치, 아프리카TV 같은 다양한 방송 플랫폼으로 동시 송출이 가능하다. 또한 VOD2LIVE 기능을 통해 사전에 녹화된 영상을 생방송으로 송출할 수도 있다. 근데 동시 송출 플랫폼에 치지직이 추가될건지도 궁금하다. 아마 같은 네이버 서비스니까 굳이 안만들거 같기도 하고 궁금하군...

 

편리한 동시송출

 

이렇게 Live Station에 대해 간단하게 알아봤다. 인터넷 방송이라는 거대한 라이브 서비스 세계에 발을 들인 네이버 치지직은 잘 살아남을 수 있을 것인가... 진보하는 미디어 기술들과 함께 발전하는 네이버 클라우드의 여정이 기대가 된다. 개발자들도 화이팅~

 

 

 

참고자료

https://medium.com/naver-cloud-platform/%EB%AF%B8%EB%94%94%EC%96%B4-%EA%B8%B0%EC%88%A0-%EC%9D%B4%ED%95%B4-6%EB%8B%A8%EA%B3%84%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-%EB%9D%BC%EC%9D%B4%EB%B8%8C-%EC%83%9D%EB%B0%A9%EC%86%A1-%EC%86%A1%EC%B6%9C-%EC%9B%90%EB%A6%AC-86a5137a3655

 

[미디어 기술 이해] 6단계로 알아보는 라이브 생방송 송출 원리

최근 ‘라방’ 이라는 단어의 부상과 함께 네이버 쇼핑라이브에서 Live로 쇼핑도 하고, BTS 공연도 생중계로 볼 수 있게 되었죠. 이처럼 다양한 도메인에서 라이브 방송의 활용도는 높아지고 있습

medium.com