에몽이

온라인 동영상 전송을 위한 미디어 서버 본문

Backend/protocol

온라인 동영상 전송을 위한 미디어 서버

ian_hodge 2017. 4. 14. 14:29

미디어 서버가 왜 필요할까?

흔히 HTML(Hyper Text Markup Language)은 몇kb 정도의 작은 용량의 문서이다. HTML을 전송하는 서버를 웹 서버라고 한다.보통 동영상은 일반적으로 수십 kb에서 몇 백 kb까지 비교적 용량이 큰 용량의 파일이다.(동영상 전체를 한번에 다 보내주는 것이 아니고, 조금씩 나눠서 보낸다)  기존에 일반적인 웹 서버는 이러한 대용량의 파일 전송을 목적으로 만들어지지 않기에, 동영상 파일을 전송하는 것을 목적으로 하는 미디어 서버가 따로 필요했다. 그래서 미디어 서버는 동영상 서비스를 위해 필요한 서버라고 생각하면 된다.

미디어 서버의 종류
WMS (Windows Media Server)
WOWZA Streaming Server
Adobe FMS(Flash Media Server)
IIS
Darwin Server
red5
Helix Server

WMS (Windows Media Server)

Microsoft (MS)에서 개발한 WMS는 디지털 오디오 및 비디오 콘텐츠를 인터넷이나 인트라넷을 통해 클라이언트로 스트리밍 한다. 이러한 클라이언트는 Windows Media Player 등의 플레이어를 사용하여 콘텐츠를 재생하는 다른 컴퓨터 또는 장치일 수도 있고, 콘텐츠를 프록시, 캐시 또는 재배포하는 Windows Media 서비스를 실행하는 다른 컴퓨터(Windows Media Server) 일 수도 있다.
WMS는 Windows Server 의 발전과 함께 하였으며, Windows Server 2000 에서는 WMT(Windows Media Technology) 4.1, Windows Server 2003 에서는 WMS 9.0, Windows Server 2003 R2 에서는 WMS 9.1, Windows Server 2008 에서는 WMS 9.5 로 발전해 왔다.
미디어 서버 4.1에서는 ASF 파일 확장자를 주로 사용했지만, Windows Server 2000 에서는 WMV 라는 확장자가 ASF 를 대체하게 된다. 이렇게 되면서 동영상으로는 WMV, ASF 파일이 스트리밍 가능하였고, 음성으로는 WAV, MP3 등이 가능해졌다.

MMS (Microsoft Media Server)
– 마이크로소프트 네트워크 스트리밍 프로토콜
– Windows Media Service 의 유니캐스트 데이터를 전송하는데 사용
– Windows Server 2008 R2에서 MMS 프로토콜은 지원되지 않으며, 프로토콜 롤오버를 통해서 서비스 가능

MMS 프로토콜은 Windows 미디어9 시리즈가 출시되면서부터 Windows Server 2003에는 사용되지 않고, 윈도우 XP 및 그 이전 버전의 Windows Media 플레이어에만 사용되고 있다. Windows Media Service 2008은 MMS 스트리밍 프로토콜을 지원하지 않는다. 다양한 스트리밍 플레이어 지원을 위해서는 MMS URL 모니커(mms://)를 스트리밍 컨텐츠의 연결 URL안에 넣어서 사용해야 한다 (예: mms://Server_Name/File_Name.wma). MMS URL 모니커를 통해 모든 연결 플레이어는 가장 적절한 스트리밍 프로토콜로 컨텐츠가 재생되도록 프로토콜 롤오버를 사용하게 된다.

미디어9 시리즈 서버는 기본적으로 윈도우 2003 서버에 탑재되어 있다. 미디어9 서버의 가장 큰 특징이라 한다면 우선 미디어 파일을 열때, 파일을 찾아 버퍼링 하는 단계의 속도를 개선하였고, 미디어 파일을 스트리밍 하는 동안 남아있는 여분의 네트워크 사용량을 가지고 캐싱함으로써 미디어 파일을 뒤로 움직일 때 빠르게 접근할 수 있으며, 모바일이나 위성방송기기에서 끊어진 스트림을 복구할 때 빠르게 할 수 있는 FEC(Forword Error Correction) 기능이 있다. 또한, 시간 설정이 된 컨텐츠를 끊어졌다가 다시 복구될 때 더 빠르게 재생할 수 있도록 하는 기능이 있어, 새 미디어9 서버는 빠른 전송과 복구가 강조된 서버라고 할 수 있다.
하지만, Windows Server 2008 R2 가 나오면서 MS는 WMS의 개발을 중단한다. WMS의 보안과 버그 문제로 인한 유지는 되겠지만, 더 이상의 개발은 하지 않는다는 이야기이다. MS가 WMS를 버린 이유라면 스마트폰 등의 모바일 기기 등장 때문일 것이다. mms:// 로 시작하는 WMS 는 모바일에서 동작하지 않는다. 다른 브라우저도 마찬가지이다.
이에 MS의 대체 기술로 모바일에서도 서비스가 가능한 IIS 미디어 서비스 Smooth Streaming 이 있다.

WMS 지원범위
지원포맷 : WMV, ASF 등
지원코덱 : Windows Media
지원 OS : Windows
프로토콜 : MMS, MSBD, RTSP, HTTP

WOWZA Streaming Server

와우자 미디어 서버는 미디어 시스템즈(MediaSystem Inc)에서 개발한 동영상 스트리밍 서버 소프트웨어이다.
라이브와 온-디맨드 방식의 비디오 스트림과 녹음 그리고 오디오와 비디오를 활용한 채팅 등으로 다양한 미디어 분야에서 많은 수상을 한 미디어 서버이다. Java로 개발되었기에 Linux, Mac OS X, Unix, Windows 에서 이용이 가능하며, HTTP Live Streming (HLS)와 RTMP/RTSP 등 최근 각광받는 다양한 프로토콜을 지원한다. 와우자 미디어 스트리밍 서버는 서비스 제공업체와 미디어 관련 업체, 회사 및 기타 조직이 스마트폰과 태블릿, 컴퓨터 및 IPTV나 OTT 등 여러 기종과 어떠한 디지털 스크린에도 IP동영상을 전송할 수 있도록 만들어졌다.
MP4를 비롯한 WMV, FLV 등 다양한 포맷 동영상 스트리밍이 가능하고 H.264를 포함한 고화질 파일과 모바일 단말향 스트리밍이 가능하다. VOD서비스와 라이브방송이 가능하며, CCTV 를 사용한 스트리밍과 녹화중계 및 채팅서버로로 활용할 수 있다. RTMP 프로토콜을 사용하여 Adobe Flash Player와 통신할 수 있으며, 클라이언트 서버 간의 원격 프로시저 호출도 지원한다.

Wowza Media Sever 3.5 특징
1. Scale 분포, 확장된 범위
실시간 및 주문형 Video Stewams를 위한 자막을 지원한다. Stream과 File기반 Sources로 부터 자막 Date를 받아들일 수 있으며 Apple HTTP Live Streaming (HLS), Adobe HTTP Dynamic Streaming(HDS), RTMP protocols 를 사용하는 실시간과 주문형 Video Streaming 을 위한 Caption Format 로 변환할 수 있다.

2. Transcoder AddOn
Wowza Transcoder AddOn 은 비디오와 오디오를 Decode하는 Live Stream의 기능을 제공하며 원하는 Playback 장치를 Re-Encode하여 Stream 한다. 또한 Transcoder Overlays가 Wowza Transcoder AddOn 을 위한 새로운 Module 은 Javs 기반 API를 사용함으로써 정적 및 동적 이미지를 Overlay 할 수 있다.
이 기능은 광고, Titling, Watermarking, 로고나 심볼, 스포츠나 주식 시세 표시 같은 곳에 활용이 가능하다.

3. Content 보호
Wowza DRM AddOn 은 실시간 주문형 Video Workflows 를 위한 Add-on-the-fly 암호화를 추가하는 third party Digital Rights Managrment (DRM), Key Management System (KMS) 와 함께 제공된다. Medio 보안으로 무료 AddOn 인 MediaSecurity 는 Wowza Media Server 3.5 에 포함되어 있다. SecureToken과 같은 MediaSecurity 기능, REMP 인증, RTSP 인증, StreamNameAlias는 Apple HTTP Live Streaming (HLS), Adobe HTTP Dynamic Streaming (HDS), Microsoft Smooth Streaming 을 사용하는 콘텐츠를 제공할때 더 안전한 Stream을 보장한다.

4. RTMP Security
새로운 Wowza StreamLock AddOn 은 암호화를 요구하는 대부분의 Wowza Media Server Stream 에 사용되지만 256Bit SSL 인증을 제공함으로써 더 쉽게 RTMPS Streams를 스트리밍 한다.

WOWZA Streaming Engine 4.0
Wowza 스트리밍 엔진은 기본 Wowza 미디어 서버에서 발전한 서버 소프트웨어로 더욱 더 쉽고 실용적으로 비디오 스트리밍 서버를 설정하고, 스트리밍 작업과 함께 CPU, 메모리 및 디스크 사용량과 같은 실시간 서버 통계를 모니터링하고 관리할 수 있다.

Wowza 지원범위
지원포맷 : MP4, FLV 등
지원코덱 : H.264
지원단말 : Android, IOS, Windows
프로토콜 : HTTP Live Streaming (HLS), RTMP/RTSP

Adobe FMS

Adobe FMS(Flash Media Server) 는 Flash를 만든 어도비 시스템즈 (Adobe Systems) 사에서 개발한 플래시 기반의 미디어 서버이다. 쉽게 말해서 플래시 비디오인 FLV 파일들을 스트리밍 해주는 서버를 말한다. Flash Player 를 통해 VOD, Live Video, 음악, 블로그 영상, 영상 메시지, 멀티미디어 채팅, 다중 사용자 게임 등의 환경을 제공하는 실시간 미디어 서버로 대표적으로는 유튜브가 사용하는 스트리밍 서버이다.

유튜브에서 동영상을 보신 분들은 알겠지만 다양한 부가기능과 광고, 그림 등의 삽입이 가능하고, 가장 큰 장점은 이미 대부분의 사용자들의 컴퓨터에 설치된 Flash Player 를 사용하기 때문에 방송이나 파일 재생 시에 추가로 설치해야 하는 프로그램이 없다는 점이다.

FMS 특징
– 표준 프로토콜 및 코덱 지원 (H.264, MPEG 등)
– 미디어 콘텐츠 Live 및 VOD 서비스
– HTTP Dynamic Streaming
– DVR (Digital Video Recoder) 기능
– 보안 프로토콜 및 SWF 인증을 통한 콘텐츠 보안
– 미디어 전송 암호화 지원 (FLV / FLV)

FMS 지원범위
지원포맷 : FLV, F4V 등
지원코덱 : VP6, H.264
지원 OS : Windows, Linux (Partial)
프로토콜 : HTTP, RTMP (Real Time Messaging Protocol)

IIS

IIS (Smooth Streaming) 는 Microsoft (MS)에서 개발한 HTTP 기반 어댑티브(Adaptive) 스트리밍의 한 종류이다.
윈도우에서 미디어를 온라인 상으로 전달하는 방식은 크게 두 가지로 구분해 볼 수 있다. 우선은 실시간 방송이나 사용자가 원하는 콘텐츠를 바로 서비스 할 수 있는 스트리밍 방식(WMS)과 다른 하나는 웹 서버로부터 파일을 다운 받아서 재생을 하는 방식인 다운로드 방식이다.
다운로드 방식은 IIS 웹 서버를 이용해서 서비스를 할 수가 있다. 과거에는 다운로드 방식이 파일을 모두 다운로드 받고 나서야 재생을 할 수 있었지만, 이제는 다운로드 받으면서도 부분 재생이 가능한 프로그레시브 다운로드 (Progressive Download) 방식이 사용되면서, 웹 서버를 이용한 다운로드 방식도 많이 사용되고 있다. 또한, 다운로드 방식은 부가적인 스트리밍 서버가 필요하지 않고, 일반 HTTP 프로토콜을 이용하기 때문에 일반 웹 서버에서도 쉽게 서비스가 가능하다.

Bit Rate Throttling (Windows Server 2008)
스트리밍은 동영상/미디어 유출 등을 보호할 수 있고, 대역폭을 효과적으로 사용할 수 있다는 장점에 많이 사용되었고, 프로그레시브 다운로드는 웹 서버에 동영상 파일을 그냥 위치시켜 놓으면 특별한 노력 없이 미디어 서비스가 가능했기에 많이 사용되었다. 하지만, 스트리밍 방식은 캐싱이 되지 않는 다는 단점이 있었고, 프로그레시브 다운로드는 대역폭의 낭비가 한계였다. 예를들면, 1시간 짜리 동영상을 10분 보고 중단하는 경우에도 1시간에 해당하는 용량을 모두 한 번에 다운 받기 때문에 재생한 이후 분량은 사용되지 않은 채로 없어지게 되는 것이다. 미디어 서비스를 하는 회사 입장에서는 자원이 낭비되는 일이다.
이를 해결하기 위해 IIS7에서는 비트 레이트 스로틀링 (Bit Rate Throttling) 기능을 통해 서비스 버퍼링을 없애 20초, 10초 등의 설정한 데이터만 더 다운 받는 방식을 사용하였다. 이 기능은 IIS7 에서 자체적으로 제공하는 기능이므로 사용자가 어떤 플레이어를 사용하는지 상관없이 적용이 가능하다.

– 프로그레시브 다운 : 사용자가 보지 않는 부분까지 전체 다운로드 한다.
– 비트 레이드 스로클링 : 설정한 일정 부분 이상 미리 다운로드 되지 않는다.

Smooth Streaming (Windows Server 2008)
Smooth Streaming을 사용하면 서버에서 사용자의 네트워크 상태를 자동으로 모니터링 해서 필요에 따라 높은 화질과 낮은 화질로 번갈아 가면서 서비스를 할 수 있다. 이 같은 변경이 재생중에 자연스럽게 이어지기 때문에 사용자들은 끊김없이 미디어 서비스를 받을 수 있다. 이는 사용자의 네트워크와 PC 상황에 맞도록 300K, 700K, 2.4M 등의 가변적인 파일 공급을 통해 사용자는 느끼지 못하는 동안 최고의 품질을 경험하게 하는 방식이다.

사용자가 서비스를 요청할 때 그 파일의 일부를 보내주는데 중간에 Edge Server를 두고 그 서버를 통해 클라이언트로 파일을 전송한다. 이 조각난 파일들은 Cache로 남아 있게 되고, 다른 사용자의 요구에 실제 Origin서버까지 가지 않고 Edge Server에서 전송받는 형태이다. 즉, 스트리밍의 단점인 캐싱을 가능하게 해주고, 프로그레시브의 단점인 대역폭 낭비를 막아주는 것이다. Smooth Streaming이라는 기술은 IIS7 웹 서버의 다운로드 방식을 이용하면서도 기존 스트리밍이 가지고 있는 장점까지 흡수한 기능이라 할 수 있다.

Smooth Streaming 방식
*Smooth Streaming 방식 ( 출처 : http://www.cooolguy.net/164 )

IIS 지원범위
지원포맷 : MP4(ISMV)
지원코덱 : H.264, VC-1
지원 OS : Windows
프로토콜 : HTTP, Smooth Streaming (Silverlight)

Darwin Server

Apple 에서 Darwin Streaming Server (DSS) 라는 이름으로 개발한 QuickTime Streaming Server 의 오픈 소스 버전이다. QuickTime Streaming Server 와 같은 코드를 기반으로 하는 Darwin Streaming Server 는 초기에는 Mac OS X 플랫폼에서만 작동하였으나 v2.0.1까지 나온 현재는 FreeBSD, Linux, Solaris, Windows NT4/2000 Server 등 다양한 플랫폼에 서 선택/운영이 가능하다.

– 애플의 소스 공개 정책에 따라 윈도우즈와 매킨토시 양쪽을 모두 지원
– 소스까지 공개되어 있기 때문에 누구든지 무료로 설치 가능
– 동영상, MP3 등의 디지털 미디어를 실시간으로 배포하고 라이브 이벤트를 실현시킬 수 있으며, Linux, Solaris, Windows NT/2000 등 가장 대중적인 엔터프라이즈급 플랫폼을 지원

Darwin 지원범위
지원포맷 : MOV 등
지원코덱 : H.264
지원 OS : Windows, Linux, Solaris 등
프로토콜 : RTSP, HTTP
*Open Source

red5

레드5 미디어 서버 1.0은 강력한 비디오 스트리밍과 어도비 플래시 플레이어 및 기타 흥미로운 클라이언트 기술에 다중 사용자 솔루션을 제공한다. 오픈 소스 레드5 미디어 서버를 사용하면 화상 회의, 다중 사용자 게임 및 엔터프라이즈 응용 프로그램 소프트웨어에서 사용할 수 있는 확장 가능한 개방형 플랫폼이 가능하다.

– Flash Player 스트리밍이 가능하도록 하는 Open Source Flash Server
– Java 로 작성된 오픈 소스 서버

red5 지원범위
지원포맷 : FLV, F4V, 3GP 등
지원코덱 : H.264
지원 OS : Windows, Linux 등
프로토콜 : HTTP, RTSP
*Open Source

Helix Server

리얼네트웍스(RealNetworks) 에서 개발한 헬릭스 서버는 멀티 포맷을 지원하는 유/무선 장치로 스트리밍 서비스가 구현 가능한 서버이다.

– 리얼 네트웍스가 개발하고 RealServer의 후계 기종
– 전송 매체 종류 Real Media (.ra, .rm, .ram), Windows Media, Quick Time (.mov, .qt)

Helix Server 종류
상용 : Helix Server(Universal Server (www.realnetworks.com)
오픈소스 : Helix DNA Server (www.helixcommunity.org)

Helix Server 와 Helix DNA Server 비교
Helix Server 와 Helix DNA Server  비교

* On-demand(주문형 게시 지점)
– 사용자의 요청으로 컨텐츠 제공이 시작된다. 서버에서 스트림을 통해 클라이언트에 컨텐츠가 제공되고, 시작, 중지, 되감기, 앞으로 감기, 일시중지 등의 제어가 가능하다.
* SLTA서비스 (오픈소스는 미지원)
– The Simulated Live Transfer agent : Simulated live broadcasting 을 위한 유틸리티.
– On-demand 의 약점을 보완하여 각각의 동영상 클립을 live broadcast 방송과 같이 스트리밍 할 수 있다.

Helix Server 지원범위
지원포맷 : FLV, F4V 등
지원코덱 : H.264
지원 OS : Windows, Linux , FreeBSD , Solaris 등
프로토콜 : RTSP, HTTP Live Streaming (HLS)

온라인비디오플랫폼(OVP)로 미디어서버 고민 한번에 해결하기

“어떤 미디어 서버를 선택해야 하는것인가??”
“미디어 서버 구축은 어떻게 해야 하는것 인가??”

온라인 비디오 서비스를 위해 내 서비스에 환경에서 어떤 미디어 서버가 가장 적합한지에 대한 고민은 물론 물리적 서버 구축에 대한 고민이 함께생긴다.

온라인비디오플래폼(OVP) Kollus 는 이런 미디어서버 고민에 대한 모든 문제를 해결할 수 있다.
Kollus(콜러스)는 Web 상에서 비디오 원본 파일만 업로드 하면 N-Screen이 가능하도록 다양한 형식으로 자동 인코딩되어 국내는 물론 해외까지 안정적으로 전송할 수 있는 서비스이다. 웹 상에서 통합 솔루션으로 제공되는 서비스이다 보니 구축이 전혀 필요없다.
즉, 미디어 서비스에 대한 고민은 필요가 없다는 말씀!

그럼 과금은 어떻게????

Kollus는 앞서 말한 바와 같이 구축없이 Web 상에서 비디오 원본 파일만 업로드 하면 N-Screen이 가능하도록 다양한 형식으로 자동 인코딩되어 국내는 물론 해외까지 안정적으로 전송할 수 있는 서비스이다. 이와 함께 동영상 보안, 광고삽입, SNS 연동, 분석 및 통계 기능 등 다양한 부가 서비스가 동시에 지원된다. (동영상 보안, 광고 삽입, 분석 및 통계 등 부가 기능은 다음에 설명해 드릴께요^^)

하지만 과금은 Traffic양과 Storage비용만 종량제로 과금 되기 때문에 쫌 합리적??!!
(이제 머리속에서 미디어 서버 구매? 렌탈? 고민은 지워버리시길)

www.kollus.com 에서 kollus에 대한 자세한 내용을 알아보자.
그리고 더 궁금한 점은 1544-4367로 언제든지 문의 하시길!

—————————————————————————————————————-
*출처
WMS (Windows Media Server)
http://technet.microsoft.com/ko-KR/windowsserver/dd448620

http://blogs.msdn.com/b/randomnumber/archive/2012/11/14/windows-media-services-not-supported-on-windows-server-2012.aspx

WOWZA streaming server
http://www.wowza.com/
http://en.wikipedia.org/wiki/Wowza_Media_Server

Adobe FMS
http://www.adobe.com/kr/products/adobe-media-server-family.html
http://cafe.naver.com/aonenetworks/345

IIS
http://www.iis.net/
http://joongs.net/149
http://www.cooolguy.net/164

Darwin server
https://developer.apple.com/opensource/
http://dss.macosforge.org/

red5
http://www.red5.org/

Helix server
https://helixcommunity.org/
www.realnetworks.com
https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1652

Written by 주현성 @ 카테노이드 서비스팀

'Backend > protocol' 카테고리의 다른 글

exo player  (0) 2017.04.14
HTTP Live Streaming  (0) 2017.04.14
미디어 파일 포맷의 종류  (0) 2017.04.14
스트리밍(Streaming) 용어 – HLS(Http Live Streaming)  (0) 2017.04.14
tcp/ip,http,웹소켓  (0) 2017.04.14
Comments