본문 바로가기
Server

Live & VOD Streaming Media server 구축 (2) - 미디어 서버의 종류

by 오늘도 깨달았다 2022. 2. 20.
반응형

미디어서버를 선정하려면 가장 먼저 고려해야할 부분은 스트리밍 서버의 타입이다.  

 

스트리밍 서버의 타입이란게 생소할 수 있으니 설명하고 넘어가겠다.

 

과거에는 전통적인 스트리밍 서버 - 플레이어 형태의 서비스를 제공했다면 이제는 스트리밍 서버를 굳이 사용하지 않고 웹 서버를 가용하고 웹 프로토콜(http)만으로도 Streaming 을 하는 것처럼 보이게 하는 "Pseudo-Streaming" 방식까지 두가지가 있다. 

**pseudo : 가짜, ~인 것 처럼 보이는 

pseudo-streaming :  HTTP 서버(Apache, IIS, nginX) 등을 이용하여 다운로드 방식으로 파일을 전송하면서 재생하는 방식

HTTP1.1 규약에서 다운로드 시점 설정이 가능해지면서 도입된 스트리밍 방식

이름에서 보다시피(PSEUDO : 가짜, ~처럼 행동하는) 실제 스트리밍은 아니고 "파일 다운로드" 방식으로 부분적인 파일전송을 진행하면서 재생하는 방식

 

 

 

● Legacy Streaming 서버 : Wowza, Red5...
Pseudo-Streaming 서버 : Apache, NginX...

 

 

특징은 이러하다. 

  Legacy Streaming Server Pseudo-Streaming Server
트랜스코딩 내장 직접 구축
보안, 인증
비용 비싸다 대부분 무료
대역폭 제어 내장 직접 구축

 

 

1) 트랜스코딩 

Legacy 같은 경우는 미디어파일을 디코딩 후 재압축해주는 과정인 트랜스코딩이 서버를 설치하기만 하면 가능하도록 설계되어있다. 하지만 웹 서버를 사용하여 pseudo-steraming 을 하려면 트랜스코딩을 직접 구현해줘야한다. 

** 인코딩 라이브러리들(ex, ffmpeg)을 활용하여 트랜스코딩 가능 

 

2) 보안

Legacy Streaming서버를 통해 스트리밍 서비스를 받으면 콘텐츠의 주소는
ㆍHLS → HTTP://abc.com/sample.mp4/playlist.m3u8
RTMP → RTMP://abc.com/sample.mp4
RTSP → RTSP://abc.com/sample.mp4
등으로 만들어지게 된다. 스트리밍 서버를 사용하면 콘텐츠를 보호할 수 있는 1차 장치가 이미 갖추어진 상태에서 시작할 수 있는 것이죠.
HLS의 경우는 http://로 시작되어 다운로드 받을수 있을것 같지만, 실제 다운로드를 하면 playlist.m3u8이라는 index 파일이 다운로드 됩니다. 실제 동영상의 주소는 알 수가 없다.

Pseudo-Streaming 은 Http 통신을 기반으로 이루어지기 때문에 보안에 신경을 쓰지 않게 되면 동영상을 마음대로 다운받을 수 있게 되고, 보안장치가 없이 무분별하게 동영상이 다운받아지면 서버에 과도한 트래픽을 유발하고, 동영상 보안에도 문제가 생기기 때문에 보안작업을 따로 진행해야하는데 One-time-url이나 다른 보안방식을 활용해야한다. 하지만 보안을 유지하려는 과정에서 또 cpu 를 사용하게되고 트랜스코딩 자체로도 cpu사용량이 많기 때문에 잘 조절해서 로직을 구성해야한다.

 

 

3) 비용

Pseudo-Streaming Server인 웹서버를 이용하는 가장 큰 이유이다.

Legacy는 트래픽, 대역폭, 클라이언트 수, 모든 구성요소가 돈이다. 유명한 Wowza Streaming Server는 한달 비용이 30만원? 을 웃돈다.

웹서버는 대부분 무료이고, 미디어 서비스용 프로토콜 모듈만 달아주면 된다. 물론 성능은 Legacy가 훨씬 좋지만 가성비는 웹서버가 좋다.

 

 

4) 대역폭 제어

대역폭 제어란 쉽게 말해서 클라이언트 다수가 동시에 Live Streaming을 시청하려고 접속했을 때 모두에게 버퍼링이 걸리지 않도록 클라이언트가 많아진다면 대역폭을 나눠줘서 접속한 클라이언트들에게 균등하게 데이터들이 전송되도록 하는 것이다. 

 

Legacy 서버는 설계될 때부터 클라이언트들이 증가했을 때 그에 맞춰 대역폭이 제어되도록 설계되었지만

웹 서버(Pseudo)는 기본적으로 빠르고, 한꺼번에, 많이 전송되도록 설계되고, 그에맞춰 발전되어왔다.

그래서 웹 서버를 미디어서버로 사용하기 위해서는 대역폭에 대한 컨트롤도 해줘야한다. 

 

 

 

결론 

가용할 돈있으면 미디어서버 사용하고 없으면 웹서버 커스터마이징 해서 미디어서버로 만들어야한다고 보여진다. 

하지만 media server 중에서도 open source가 있기 때문에 다음엔 Legacy media server open source와 pseudo-streaming server 리스트업 한 후 어떤거 사용하는게 좋을 지 검토해야겠다. 

라이브 스트리밍 관련 프로토콜도 다음번에 같이 정리하겠다.

 

 

 

참조 : https://m.blog.naver.com/signcast/221199659871

반응형

댓글