스트리밍


상식&지식편에서는 우선 인터넷상의 방송과 동의어로도 곧잘 사용되는 “스트리밍”에 대해 알아본다 인터넷에서 파일이 작은 조각으로 나뉘어져 연속적으로 전송되는 것을 의미하는 스트리밍이 어떻게 탄생했고 종류로는 무엇이 있는지 살펴보자.

인터넷방송을 즐긴다는 것은 곧 스트리밍을 즐긴다는 의미와 상통하는데 이 스트리밍이라는 용어가 최근 부쩍 많이 사용되고 있다.
실제로는 자사 웹사이트에 스트리밍을 채용한 기업은 미국의 경우 지난 해에 비해 올해 17%증가했고 내년에는 47%증가할 것이라고 한다.
또한 스트리밍을 지원하는 프로그램인 리얼플레이어는 매일 10만회에 이르는 다운로드 횟수를 자랑하고 있다고 한다.
그렇다면 과연 스트리밍이란 무엇인가?여기서는 인터넷방송에 있어서 반드시 알아야 할 상식 또는 지식 중하나로 스트리밍에 대해 살펴보기로 한다.


스트리밍이란?

인터넷 방송에 있어서 스트리밍이라는 개념은 리얼네트웍사가 개발한 스트리밍 멀티미디어라는 기술에서 유래하는데, 이 기술의 원리는 아무리 큰 대용량의 멀티미디어 자료라도 이를 개별적으로 실행할 수 있는 1~2초분량의 작은 조각으로 나눠 시냇물이 흐르듯이 연속적으로 전송함으로써 이를 수신하는 사람은 전체자료가 모두 수신될때까지 기다릴 필요없이 즉석해서 각 조각의 파일들을 재생할 수 있도록 하는 것이다.
이는 마치 TV를 켜자마자 다양한 방송을 시청할 수 있는 것과 같은 효과를 제공한다고 해서 “인터넷방송”이라는 이름을 얻게되었다 그래서 현재 스트리밍이라는 용어는 인터넷상에서의 방송을 의미하며, 웹상에서 미이어 파일을 보는 것을 뜻하게 된다.

스트리밍의 기원과 표준 프로토콜

사실 스트리밍의 원조라고 할 수 있는 것은 뜻밖에도 이메일이다.
이메일 뉴스레터를 생각해보자 이것은 전송해달라고 요구한 것도 아니고 이시간에 도착하도록 예약해놓은 것도 아님에도 불구하고 전송되어 있다.
바로 푸시기술을 이용한것이데 그렇다면 푸시기술이 스트리밍과 무슨 관계가 이있는가?
왜냐하면 푸시기술은 동시다발적으로 미디어나 컨텐츠를 인터넷으로 방송한다는 뜻의 “브로드캐스팅”(Broadcasting)을 의 미하기 때문이다.
따라서 스트리밍은 브로드캐스팅의 한종류라고 할 수 있다. 한편 스트리밍은 기술적으로 유니캐스트(Unicast)와 멀티캐스트(Multicast)로 방식으로는 주문형(On Demand)과 라이브(Live)로 나뉘게 된다. 그렇다면 스트리밍은 어떤 프로토콜(일종의 계약)을 사용해 유니캐스트와 멀티캐스트를 행할까?
스트리밍 기술이 사용하는 표준 프로토콜은 RTSP(Real Time Streaming Protocol)이며, 이 규격은 지난 “98년, 넷스케이프사와 리얼네트웍사, 컬럼비아대학교가 공동 개발해 IETF(Internet Engineering)에 표준으로 등록한 것이다 참고로 RTSP프로토콜에 대해 좀더 자세하게 알고 싶다면 리얼네트웍사의 http://www.realnetworks.com/devzone/library/rtsp/index.html 를 참고하도록 한다.
한편 애플은 지난”97년 퀵타임 TV라는 프로젝트명으로 스트리밍에 대한 연구를 진행하였으나 얼마 지나지 않아 프로젝트명으로 스트리밍에 대한 연구를 진행했었으나 얼마 지나지 않아 프로젝트를 중지해버렸고, 리얼네트웍사는 RTPS를 개발하기전까지는 PNM이라는 프로토콜을 사용하였다.
RTSP가 표준이라면 퀵타임이나 윈도우즈 미디어 플레이어도 이규격을 사용할까? 물론 그렇다 퀵타임이나 윈도우즈미디어 플레이어의 액티브 스트리밍 포맷(.asf)은 클라이언트와 서버간의 상호작용을 RTPS에 의존해서 구현하고 있다.


H.323

RTPS와 H.323dms ahen RTP(Real Time Transport Protocol)프로토콜을 사용하므로 둘다 RTP의 하위개념이라고 볼수 있다.
이 중 H.323은 특히 소규모 그룹의 화상회의 에서 주로 사용되는데 RTPS에서처럼‘정지’와 ‘녹화, 재생’같은 비디오 명령은 지원하지 않는다.
참고로 H.323은 ITU(International Telecommuncations Union)에서 인정한 표준이다.

스트리밍의 종류

앞서 스트리밍 방송은 방식으로는 주문형과 라이브로 나뉘고, 기술적으로는 유니캐스터와 멀티캐스터로 구분된다고 했다.

주문형 스트리밍과 라이브 스트리밍

흔히 접할 수 있는 인터넷방송은 두가지다.
첫번째 주문형 스트리밍, 즉 미리 준비되어있는 미디어 파일을 스트리밍해 보는 방식으로 애플의 아이맥 광고 사이트(http://apple.com/imac/theater.html)에 가보면 주문형 스트리밍 방식의 광고 무비들을 볼수 있다.
이 무비들을 보기 위해서는 우선 해당파일을 클릭한 후 그 파일의 구동신호를 받을때까지 기다려야 한다.
물론 모두 받기전에 무비가 실행되기도 하는데 그것은 무비가 끝나는 시간에 맞춰서 실행시간을 조정해
놓았기 때문이다.
이 방식은 전화모뎀을 사용하건 ADSL을 사용하건 상관없이 미리 준비되어있는 파일을 보는 것이기 때문에 영상의 질에는 변함이 없다.
단 회선 속도의 차이로 인해 다운로드 시간이 달라질 수는 있다.
두번째 방식은 바로 라이브 스트리밍이다.
이방식은 해당하는 곳을 클릭하면 곧바로 스트리밍을 지원하는 플레이어(퀵타임 플레이어, 리얼 플레이어, 윈도우즈 미디어 플레이어 등) 가 나타나면 영상 또는 음향을 보내주게 된다.
이 방식에서는 되도록 빠른 통신선을 갖고 있는 것이 중요한데 전송속도가 음질이나 화질에 큰 영향을 주기 때문이다.
만약 데이터가 필요 이상으로 많이 들어오게 되면 일시적으로 버퍼에 저장되며 데이터가 필요 한것보다 적게 들어오게 되면 음질이나 화질이 떨어진다.


유니캐스트와 멀티캐스트

스트리밍은 기술적으로 유니캐스트와 멀티캐스트로 나뉜다.
우선 유니캐스트와 멀티캐스트의 정의에 대해 알아보자. 유니캐스트는 정보를 하나의 IP에 보내는 방식이다 (참고로 브로드캐스팅은 불특정 다수에게 동시에 컨텐츠를 보내는 것이고, 멀티캐스트는 정해진 그룹에게 동시에 컨텐츠를 보내는 것이다) 얼핏 들어보면 현재의 스트리밍 방식은 모두 멀티캐스트가 아닌가 하는 생각이 들겠지만 아직까지 주류를 이루고 있는 스트리밍들은 모두 유니캐스트방식을 취하고 있다.
구체적으로 유니캐스트의 방식은 이러하다 어떤 사람이 ‘A’라고 하는 방송을 보고 싶어한다고 가정했을때, 웹페이지에서 ‘A’방송에 대한 링크를 클릭하면 클릭한 그 사람에레 해당 방송 컨텐츠가 전송된다.
또 다른 사람이 같은 시간에 같은 ‘A’방송을 보려고 한다면 또다시 ‘A’방송은 그 사람에게 1대1로 전송된다. 그렇다면 그 좋다는 멀티캐스트가 왜 아직 실행이 안되는 것일까? 멀티캐스트 자체는 퀵타임과 리얼 윈도우즈 미디어 플레이어가 모두 지원하고 있지만 소프트웨어의 지원만으로는 이용하기가 힘들다.
현재의 인터넷 하부구조와 하드웨어들이 대다수 유니캐스트쪽에 맞춰져 있기 때문에 라우터와 허브, 게이트웨이 등의 네트웍 하드웨어들도 멀티캐스트를 지원해야 비로소 진정한 멀티캐스트 스트리밍을 할 수 있는 것이다.


Streaming Protocol:

참고: http://translate.google.co.kr/translate?hl=ko&sl=en&tl=ko&u=http%3A%2F%2Fall-streaming-media.com%2Ffaq%2Fstreaming-media%2Ffaq-streaming-media-protocols.htm&anno=2

1. HTTP

2. MMS(Multimedia Messaging Services) - Microsoft Media Services
- MMS protocol is used for streaming Windows Media only.

3. RTSP - Real Time Streaming Protocol
- RTSP protocol is the default protocol for streaming Windows Media.
- RTSP protocol is also used for streaming RealMedia/RealVideo/RealAudio, streaming QuickTime video (.mov, .mp4, .sdp streams).

4. PNM/PNA
- PNM protocol is used for RealMedia/RealVideo/RealAudio streaming only

5. RTMP - Real Time Messaging Protocol
- RTMP protocol is used for Flash audio and video streams only.
- Media files can also be streamed through HTTP or other protocols.
- RTMPE - secure RTMP protocol. Uses encryption.

RTSP using UDP is called RTSPU
RTSP using TCP is called RTSPT
MMS using UDP is called MMSU
MMS using TCP is called MMST

RTP(Realtime Transport Protocol) http://tools.ietf.org/html/rfc1889
- RTP는 인터넷상에서 다수가(영상회의 등) 종단간에 실시간으로 비디오나 오디오 패킷을 전송하기 위해 표준화된 프로토콜을 말한다.
- 참고: http://www.ktword.co.kr/abbr_view.php?m_temp1=1381&m_search=RTP

RTCP(Realtime Transport Control Protocol) http://tools.ietf.org/html/rfc3550
- RTCP는 RTP 세션상의 RTP 데이터 스트림에 대한 실시간 멀티미디어 전송의 제어감시
- RTP의 송수신과 관련하여 멀티미디어 세션 참여자들이 QoS 관련 정보를 (패킷지연, 패킷손실, 지터 등) 주기적으로 교환하도록하는 역할
- 참고: http://www.ktword.co.kr/abbr_view.php?m_temp1=1805&m_search=RTCP

Posted by 퓨전마법사
,