스트리밍(Streaming) 용어 – RTMP/RTSP, Adaptive Streaming

RTMP / RTSP

21세기 초반 어도비의 플래시는 인터넷에서 사용자 경험(User experience)과 RIA(Rich Internet Application) 측면에서 가장 앞서있던 기술이었다. 기존의 Window Media가 지배했던 웹 비디오 시장이 점차 HTTP 다운로드 방식의 플래시 비디오로 넘어가게 되었다. 이 당시 비디오 공유 시장, 소위 UCC의 확산으로 플래시 비디오는 거의 웹의 표준으로까지 성장하게 된다.
그러나 이 방식은 보안과 저작권에 대한 문제를 안고 있다. PC의 임시 저장 공간에 남아있는 컨텐츠로 인해서 누구라도 복제하고 재배포할 수 있는 우려를 낳게 해 준다. 이에 어도비는 전통적인 스트리밍 방식의 RTMP 프로토콜을 공개한다.

보통 1시간  분량의 드라마나 영화 수백 편을 온라인 서비스한다고 가정해 보면, 프로그레시브 다운로드 방식으로 사이트를 구축하면 어떤 문제가 발생할까? 고객의 불만이 늘어날 것입니다. 다운로드는 느리고..내가 보고 싶은 부분부터 볼수가 없으니 얼마나 답답할까? 보안에도 문제이다. 콘텐츠를 마구 컴퓨터로 저장하여 P2P 사이트에 올리면 어떻게 될까? 또한 bandwidth 효율성은 엄청 떨어질 것이다.
스트리밍의 대 전제는 전송하는 비디오 데이터 레이트보다 클라이언트의 다운로드 bandwidth가 반드시 커야한다는 것이다. 그럼 이런 문제는 어떻게 해결해야 할까? RMTP/RTSP 스트리밍에서는 기본적으로 아래 그림에서 보면 서로 다른  bit-rate로 인코딩 된 비디오 파일  3-4개를 서버에 저장하여 제공함으로 클라이언트는 중간에 화질을 교체할 수 있게 하였다.
RTMP/RTSP 스트리밍은 이런 문제를 해결하기 위해 나온 기술이며,  이러닝, VOD 서비스, 라이브 중계 등의 분야에서 가장 많이 사용되었다.  이 방식은 전체 파일을 보내는 개념이 아니라 클라이언트가 시청하려는 부분의 몇 프레임만을 전송한다. 즉,  시청가가 보려고 하는 장면을 찾아 클릭하면 그 부분의 프레임부터 플레이 되고 지나간 프레임은 자동 삭제되는 방식이다.(pseudo-streaming 방식은 지난 것은 삭제되지 않고 저장된다)  순간 시점의 프레임을 본다고 생각하면 된다.

RTMP RTSP

* RTMP/RTSP (출처 http://www.jwplayer.com/blog/what-is-video-streaming/)

– 라이브 중계가 가능
– 다운로드가 없어 보안에 문제가 없다
– Bandwidtch, Seeking 이 용이
– 실시간 Bandwidth 는 탐낼만 하다
– FMS, Wowza Media Service 추가 유료 소프트웨어 필요
– 기본적으로 서로 다른 bitrate로 인코딩된 파일을 3~4개 정도 올려 놓는다.

그럼 이 방식의 단점은 없을까?
일반적으로 PC 환경에서는 Adobe Flash Player를 이용하고 모바일 기기에서는 HTML5 기반에서 동작하는 내장 플레이어를 이용한다. 단, RTMP 방식은 Flash 전용이라서 모바일 기기에서는 사용을 할 수 없는 단점이 있다. 또 다른 단점으로 이 방식은 클라이언트가 클릭하는 부분의 프레임을 보내기 위해 특별한 웹 서버를 사용하는데 이것을 우리는 스트리밍 서버 (또는 미디어 서버)라고 한다.  그리고 특별한 유료 소프트웨어가 필요한데 대표적인 것으로 FMS (Flash Media Server)  와  Wowza Media Server 가 있다.  즉 물리적인 하드웨어와 추가적인 소프트웨어가 필요하다.  그리고 비디오 서비스를 위해 전문 기술자가 필요한 서버를 관리해야 하는 추가적인 일들이 발생합니다. 장점은 많지만 추가 비용이 발생하고 관리가 복잡하다.

RTMP(Real Time Messaging Protocol)

– 실시간 메시지 전송 프로토콜. 어도비 시스템즈사의 독점 컴퓨터 통신 규약
– 오디오, 비디오 및 기타 데이터를 인터넷을 통해 스트리밍 할 때 사용
– 어도비 플래시 플레이어와 서버 사이의 통신에 이용
– RTMFP(Real Time Media Flow Protocol) : 낮은 지연 UDP 스트리밍과 여러 Adobe Flash 플레이어 간의 P2P 통신이 가능하고, 다양한 라이브 실시간 통신을 가능하게 한다.

RTSP(Real Time Streaming Protocol)

– IETF(Internet Engineering Task Force) 가 1998년에 개발한 통신 규약
– 스트리밍 데이터를 제어하기 위한 방법을 제공
– 오디오, 비디오 등의 멀티미디어 데이터를 포함하는 미디어 서버를 원격 조작하기 위한 프로토콜
– 명령어는 “PLAY”, “PAUSE” 같이 VCR 동작하고 비슷하며 시간 정보를 바탕으로 서버에 접근
– 실제 미디어 스트리밍 데이터를 전송하지 않고, RTP 규약을 사용해서 전송 계층으로 실제 오디오/비디오 데이터를 전송
– RTSP 규약은 HTTP 규약하고 비교해 볼 때, 문법이나 동작이 비슷하지만, HTTP가 무상태형(Stateless)인 반면에 RTSP는 상태형(Stateful) 규약

——————————————————————————————————————–

Adaptive Streaming

Adaptive HTTP Streaming 은 전통적인 기술을 개선한 새로운 스트리밍 방식이다. 이 방식은 RTMP/RTSP 스트리밍과 프로그레시브 다운로드의 장점을 결합한 방식이다. 서버에 작은 조각 단위(Chunk : 몇초 단위) 의 동영상을 가지고 스트리밍하게 되며, 플레이어는 이 비디오 조각을 연속된 스트림으로 연결시킨다.
이 기술은 Move Network 사의 특허 기술인 adaptive bitrate 기술에서 출발하였다.

Adaptive는 시청자 bandwidth 환경을 스스로 인지하여 그에 맞는 스트리밍을 자동으로 보내주는 기술로, 2008년 베이징 올림픽 인터넷 라이브 중계로 마이크로소프트의 IIS Smooth Streaming 기술을 사용한 것이 처음이다. Apple 은 2009년 중순 iPhone 3.0 출시와 함께 HTTP Live Streaming 이란 이름으로 iOS 기반의 디바이스에서 라이브 중계와 VOD 서비스를 위해 출시하였다. Adobe Systems 는 2009년 말에 Adobe HTTP Dynamic Streaming (프로젝트명 : Zeri) 이란 이름으로 이 기술을 발표하였다.

Adaptive HTTP Streaming

* Adaptive HTTP Streaming (출처 http://www.jwplayer.com/blog/what-is-video-streaming/)

– HD화질 전송 / 모바일 환경의 needs
– 서비스 공급자는 여러 bit-rate 로 인코딩하여 저장해야 하는 불편은 있다.
– Bandwidth / CPU 상황 등을 체크하여 그에 맞는 화질과 음질을 내려주는 방식으로 품질개선 및 안전성 확보

* Adaptive Streaming = Progressive Download + RTMP 장점의 결합
– Progressive 장점: 미디어 서버와 같은 비싼 장비와 RTMP 프로토콜 같은 복잡한 기술을 사용하지 않는다.
– RTMP 장점: Bandwidth 효율성이 뛰어나고, 비디오 화질 변경이 용이

——————————————————————————————————————–

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

스트리밍 관련 마지막 Http dynamic streaming 관련 포스팅이 계속될 예정입니다.^^

* 출처 http://en.wikipedia.org/wiki/Adaptive_bitrate_streaming http://helloworld.naver.com/helloworld/7122 http://www.adobe.com/kr/products/hds-dynamic-streaming.html http://www.thekuroko.com/what-is-http-dynamic-streaming/ http://www.jwplayer.com/blog/what-is-video-streaming/ http://blog.edgecast.com/post/55198896476/hds-hls-hss-adaptive-http-streaming-demystified http://unipro.tistory.com/121 http://blog.naver.com/makerslee?Redirect=Log&logNo=30148808093 http://blog.naver.com/pyoyr?Redirect=Log&logNo=50037791019 정보통신산업진흥원, 주간기술동향(2013. 5. 8) – 멀티미디어 서비스 확산 동인(動因)과 스트리밍 기술 현황

2 Comments

    1. KOLLUS

      CodeDiver님 안녕하세요? 친절한 오타설명으로 수정 하였습니다.
      좋은 정보가 되셨길 바라며, 콜러스에 관심을 가져주셔서 감사합니다!

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.