Linux Streaming Server Project Á¦¾È¼
1 ¹è°æ ¹× ¸ñÀû
ÀÎÅͳÝÀº WWWÀÇ ÃâÇö°ú È°¼ºÈ·Î »ýÈ°ÀÇ Áß¿äÇÑ ÀϺκÐÀÌ µÇ¾ú´Ù.
ÃÖ±Ù ³×Æ®¿÷ ±â¼úÀÇ ¹ß´Þ·Î ³×Æ®¿÷ÀÇ ´ë¿ªÆøÀÌ Å©°Ô Áõ°¡µÇ°í ÀÖ°í,
DSLÀ̳ª ÄÉÀ̺í¸ðµ© µîÀÇ µµÀÔÀ¸·Î, ȸ»ç³ª Çб³ »Ó¾Æ´Ï¶ó °¡Á¤¿¡¼µµ
°í¼ÓÀÇ Åë½ÅÀÌ °¡´ÉÇÏ°Ô µÇ¾ú´Ù. ÀÌ·± ³×Æ®¿÷ ȯ°æÀÇ Çâ»óÀº ÀÎÅͳÝ
¼ºñ½º ¾÷üµéÀÌ ¿Àµð¿À³ª ºñµð¿À °°Àº ¸ÖƼ¹Ìµð¾î ÄÁÅÙÃ÷ÀÇ ¼ºñ½º¸¦
Çϱ⠽ÃÀÛÇÏ´Â µ¿±â¸¦ Á¦°øÇß´Ù.
»ç¿ëÀÚµé ¶ÇÇÑ ±×·± ¼ºñ½º¿¡ ´ëÇÑ ¿ä±¸°¡ Ä¿Áö°í ÀÖ´Ù. ÇöÀç ¸ÖƼ¹Ìµð¾î
µ¥ÀÌÅÍ°¡ ÀÎÅÍ³Ý Æ®·¡ÇÈ¿¡¼ Â÷ÁöÇÏ´Â ºñÁßÀÌ »ó´çÇÏ°í, ¹Ì·¡¿¡´Â
ÀÎÅͳÝÆù(Internet phone), ºñµð¿ÀȸÀÇ(video conferencing), VOD¿Í °°Àº
¾ÖÇø®ÄÉÀ̼ǵéÀÌ ´õ¿í º¸Æí鵃 °ÍÀ¸·Î º¸¿©Áø´Ù.
¸ÖƼ¹Ìµð¾î µ¥ÀÌÅÍ´Â ¿ë·®ÀÌ Å©±â ¶§¹®¿¡ ÅؽºÆ®³ª À̹ÌÁöó·³ Àüü µ¥ÀÌÅ͸¦
Àü¼Û¹ÞÀº ÈÄ¿¡ Àç»ýÇÏ´Â °ÍÀº È¿°úÀûÀÌÁö ¸øÇÏ´Ù. µû¶ó¼, ¼¹ö¿Í Ŭ¶óÀ̾ðÆ® °£¿¡
µ¥ÀÌÅ͸¦ ½ºÆ®¸®¹Ö(streaming)ÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ÇÏÁö¸¸, Àç»ý½ÃÁ¡ ÀÌÈÄ¿¡´Â
½Ç½Ã°£ Ư¼ºÀÌ ¿ä±¸µÇ±â ¶§¹®¿¡ È¿À²ÀûÀÎ ½ºÆ®¸®¹ÖÀÌ ÇÊ¿äÇÏ´Ù.
µû¶ó¼ º» ÇÁ·ÎÁ§Æ®´Â Àß ¾Ë·ÁÁø RTP(RFC1890)¿¡ ±â¹ÝÇÑ ¸®´ª½º¿ë ½ºÆ®¸®¹Ö
¼¹ö(Linux Streaming Server, LSS)¸¦
±¸ÇöÇÔÀ¸·Î½á, RTPÀÇ ¼º´ÉÀ» °üÂûÇÏ°í, ¼º´É Çâ»ó ¹æ¾È¿¡ ´ëÇؼ ¾Ë¾Æº¸°íÀÚ ÇÑ´Ù.
2 ±¸Çö ¸ðµ¨
2.1 ½ºÆ®¸®¹Ö(Streaming)
½ºÆ®¸®¹ÖÀº ÀÎÅͳݰú °°Àº ³×Æ®¿÷À» ÅëÇØ ¼¹ö¿¡¼ Ŭ¶óÀ̾ðÆ®·Î
ºñµð¿À(¶Ç´Â ¿Àµð¿À)¸¦ Àü¼ÛÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¼¹ö´Â ºñµð¿À¸¦ ³×Æ®¿÷À¸·Î º¸³¾
¼ö ÀÖµµ·Ï ÆÐŶÀ¸·Î ÂÉ°µ´Ù. Ŭ¶óÀ̾ðÆ®´Â ±× ÆÐŶµéÀ» ´Ù½Ã ¸ð¾Æ¼ ¿ø·¡
ÇüÅ·Π¸¸µç ÈÄ Àç»ýµÈ´Ù. ÀÌ ¶§, Àç»ý°ú ÆÐŶ ¼ö½ÅÀº µ¿½Ã¿¡ ÀϾÙ. ¿©±â¼
¿¬°üµÈ ÀÏ·ÃÀÇ ÆÐŶµéÀ» ½ºÆ®¸²(stream)À̶ó°í ÇÑ´Ù.
½ºÆ®¸®¹ÖÀº Ŭ¶óÀ̾ðÆ®°¡ ºñµð¿À µ¥ÀÌÅ͸¦ ¹ÞÀ¸¸é¼ Àç»ýÇÑ´Ù´Â Á¡¿¡¼, Àüü
ºñµð¿À¸¦ ¹ÞÀº ÈÄ Àç»ýÇÏ´Â ´Ü¼øÇÑ ÆÄÀÏ Àü¼Û°ú ±¸º°µÈ´Ù.
»ç½Ç, ½ºÆ®¸®¹Ö Ŭ¶óÀ̾ðÆ® ÆÐŶÀ» ¹ÞÀ¸¸é¼ Àç»ýÀ» ÇÏ°í, Àç»ýµÈ µ¥ÀÌÅÍ´Â ¹ö¸°´Ù.
ÆÄÀÏÀ» ½ºÆ®¸®¹ÖÇÏ´Â µ¥ ´ÙÀ½°ú °°Àº ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- HTTP (Hiper Text Transport Protocol)
- FTP (File Transfer Protocol)
- RTP (Realtime Transport Protocol)
HTTP¿Í FTP´Â º»ÁúÀûÀ¸·Î ÆÄÀÏ Àü¼Û ÇÁ·ÎÅäÄÝÀÌ´Ù. ÇÏÁö¸¸, RTP´Â ½Ç½Ã°£
½ºÆ®¸®¹ÖÀ»
À§ÇØ »ç¿ëµÈ´Ù. ºñµð¿À ÆÐŶµéÀº ½Ç½Ã°£À¸·Î Àü¼ÛµÇ¾î¼, 1ºÐÂ¥¸® ºñµð¿À´Â 1ºÐ ¾È¿¡
Àü¼ÛµÈ´Ù. ÆÐŶµé¿¡ ŸÀÓ-½ºÅÆÇÁ(time-stamp)°¡ ÂïÈ÷¹Ç·Î, ÆÐŶµéÀº
½Ã°£¿¡ µ¿±âȵǾî Àç»ýµÉ ¼ö ÀÖ´Ù.
ÆÐŶµéÀÌ ½Ç½Ã°£À¸·Î Àü¼ÛµÇ±â ¶§¹®¿¡, RTP ½ºÆ®¸®¹ÖÀº ÀúÀåµÈ ÄÁÅÙÃ÷(stored
contents) »Ó¾Æ´Ï¶ó ¶óÀ̺ê ÄÁÅÙÃ÷(live contents)µµ Áö¿øÇÑ´Ù.
¶ÇÇÑ ½Ç½Ã°£ ½ºÆ®¸²Àº À¯´Ïij½ºÆ®(unicast)¿Í ¸ÖƼij½ºÆ®(multicast)¸¦ ¸ðµÎ
Áö¿øÇÑ´Ù.
- À¯´Ïij½ºÆ®(Unicast) ½ºÆ®¸®¹Ö
À¯´Ïij½ºÆ®¿¡¼´Â Ŭ¶óÀ̾ðÆ®°¡ RTSP(Real Time Streaming ProtocolÀ»
»ç¿ëÇØ ºñµð¿À¿¡ ´ëÇÑ ¿äû(request)À» ¼¹ö¿¡ ¾Ë¸°´Ù. ¼¹ö´Â ±× ºñµð¿À¿¡ ´ëÇÑ
Á¤º¸¸¦ ´ã°í ÀÖ´Â ½ºÆ®¸®¹Ö ¼¼¼Ç(streaming session)À¸·Î Ŭ¶óÀ̾ðÆ®¿¡
ÀÀ´äÇÑ´Ù. ÇϳªÀÇ ½ºÆ®¸®¹Ö ¼¼¼ÇÀº ºñµð¿À ½ºÆ®¸²°ú ¿Àµð¿À ½ºÆ®¸²°ú °°Àº ÇÑ °³
ÀÌ»óÀÇ ½ºÆ®¸²À¸·Î ±¸¼ºµÈ´Ù. ¼¹ö´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ÇÊ¿äÇÑ ½ºÆ®¸²ÀÇ °³¼ö¿Í
°¢ ½ºÆ®¸²ÀÇ Á¤º¸(¿¹, ¹Ìµð¾î ŸÀÔ, ÄÚµ¦ µî)¸¦ ¾Ë·ÁÁØ´Ù. ±×¸®°í ³ª¼ ½ÇÁ¦
½ºÆ®¸²µéÀÌ RTP¸¦ ÅëÇØ Å¬¶óÀ̾ðÆ®·Î Àü¼ÛµÈ´Ù.
RTSP´Â TCP/IP¸¦ »ç¿ëÇÏ´Â ¹Ý¸é, RTP´Â Àú¼öÁØÀÇ UDP/IP¸¦ »ç¿ëÇÑ´Ù.
- ¸ÖƼij½ºÆ®(Multicast) ½ºÆ®¸®¹Ö
¸ÖƼij½ºÆ®¿¡¼´Â °¢ ½ºÆ®¸²ÀÇ ´Ü ÇϳªÀÇ Ä«ÇǸ¸ ³×Æ®¿÷ÀÇ °¢ °¥·¡(branch)·Î
Àü¼ÛµÈ´Ù. ÀÌ´Â ¸¹Àº ¼öÀÇ Å¬¶óÀ̾ðÆ®¿¡°Ô ½ºÆ®¸²À» º¸³¾ ¶§ ¿ä±¸µÇ´Â ³×Æ®¿÷
Æ®·¡ÇÈÀÇ ¾çÀ» ÁÙÀδÙ. Ŭ¶óÀ̾ðÆ®´Â ¸ÖƼij½ºÆ®¿¡ "joining"ÇÔÀ¸·Î½á ±× ½ºÆ®¸²À»
¹ÞÀ» ¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®´Â SDP(Session Description Protocol ÆÄÀÏÀ»
¿¾î¼, ±× ¸ÖƼij½ºÆ®¿¡ Âü¿©(join)ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ³½´Ù. SDP ÆÄÀÏÀº
¸ÖƼij½ºÆ®¿¡ Âü¿©Çϴµ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù.
±× Á¤º¸´Â ±×·ì ÁÖ¼Ò, Æ÷Æ® ¹øÈ£, RTSP¸¦ ÅëÇؼ ¿À´Â ½ºÆ®¸² Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
SDP ÆÄÀÏÀº À¥ ¼¹ö¿¡ °Ô½ÃµÇ¾î °ð ½ÃÀÛµÉ ¸ÖƼij½ºÆ®¸¦ ¾Ë¸°´Ù.
¸ðµç ¶ó¿ìÅÍ°¡ ¸ÖƼij½ºÆÃÀ» Áö¿øÇÏÁö´Â ¾Ê±â ¶§¹®¿¡, ¸ÖƼij½ºÆ®¸¦ Áö¿øÇÏÁö
¾Ê´Â ¶ó¿ìÅ͸¦ À§ÇØ ¸ÖƼij½ºÆ®¸¦ À¯´Ïij½ºÆ®·Î º¯È¯ÇÏ´Â Áß°£ ¼¹ö°¡ ÇÊ¿äÇÒ
¼öµµ ÀÖ´Ù. LSSP¿¡¼´Â ÀÌ·± Áß°£ ¼¹ö´Â °í·ÁÇÏÁö ¾Ê´Â´Ù. ¸ÖƼij½ºÆ®¿¡ Âü¿©ÇÑ
Ŭ¶óÀ̾ðÆ®´Â ½ºÅµ(skip)À̳ª ¸ØÃã°ú °°Àº µ¿ÀÛÀÇ ¿äûÀÌ ºÒ°¡ÇÏ´Ù.
2.2 ±â´É Á¤ÀÇ
LSS°¡ Á¦°øÇÏ´Â ±â´ÉÀº ´ÙÀ½°ú °°´Ù.
- RTP¸¦ ÀÌ¿ëÇÑ ÀúÀåµÈ ºñµð¿À ÆÄÀÏÀÇ ½Ç½Ã°£ Àü¼Û
- RTSP¸¦ ÀÌ¿ëÇÑ »ç¿ëÀÚÀÇ ¿äû ó¸®
- SDP¸¦ ÅëÇÑ ¸ÖƼij½ºÆ® Áö¿ø (¿É¼Ç)
¶óÀ̺ê ÄÜÅÙÃ÷´Â Áö¿øÇÏÁö ¾Ê´Â °ÍÀ¸·Î ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â RTP/RTSP¸¦ Áö¿øÇÏ´Â
QuickTime Player¸¦ ±×´ë·Î »ç¿ëÇÏ´Â °ÍÀ¸·Î ÇÑ´Ù. Áï, ¼¹ö¸¸ ±¸ÇöÇÑ´Ù.
2.3 ±¸¼º ¿ä¼Ò
- RTP Server
RTP·Î ¹Ìµð¾î ÆÐŶµéÀ» Ŭ¶óÀ̾ðÆ®¿¡°Ô Àü¼ÛÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. RTCP¸¦ ÅëÇØ
Ŭ¶óÀ̾ðÆ®ÀÇ ¼ö½Å ´ë¿ªÆø¿¡ µû¶ó Àü¼Û·üÀ» Á¶Á¤ÇÑ´Ù. ¼º´É °üÂû ÈÄ ¼º´ÉÇâ»óÀ»
À§ÇØ ÇÁ·ÎÅäÄÝ ¼öÁ¤À» ÅëÇØ RTP+·Î ±¸ÇöµÉ ¿¹Á¤ÀÌ´Ù.
- RTSP Server
RTSP¸¦ »ç¿ëÇؼ »ç¿ëÀÚ¿Í Åë½ÅÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. RTP°¡ ´Ü¹æÇâ Åë½ÅÀε¥
ºñÇØ, RTSP´Â ¾ç¹æÇâ Åë½ÅÀÌ´Ù. »ç¿ëÀÚ´Â RTSP¸¦ ÅëÇØ ºñµð¿À ¿äû, ½ºÅµ,
¸ØÃã°ú °°Àº ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- Media Packetizer
¿Àµð¿À³ª ºñµð¿À¿Í °°Àº ¹Ìµð¾î ÆÄÀÏÀ» ±× ÆÄÀÏÀÇ Æ÷¸Ë¿¡ µû¶ó ³×Æ®¿÷À¸·Î
Àü¼ÛÇÒ ¼ö ÀÖ´Â ÆÐŶÀ¸·Î ÂÉ°³´Â ¿ªÇÒÀ» ÇÑ´Ù. ¹Ìµð¾î ÆÄÀÏ Æ÷¸Ë¿¡ ´ëÇÑ
ÀÌÇØ°¡ ÇʼöÀûÀÌ´Ù.
- Packet Builder
Media Packetizer¿¡¼ ÂÉ°µ ¹Ìµð¾î µ¥ÀÌÅ͸¦ RTP ÆÐŶÀ¸·Î ¸¸µå´Â ¿ªÇÒÀ»
ÇÑ´Ù.
3 ±â¼ú ÇöȲ
ÇöÀçÀÇ ½ºÆ®¸®¹Ö ±â¼úÀº ¿Àµð¿À¿Í ºñµð¿À·Î ³ª´²¼ »ìÆ캼 ¼ö ÀÖ´Ù. ´ëÇ¥ÀûÀÎ ¿Àµð¿À
ÄÚµ¦(codec)¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
- MPEG-1 Audio-Layer 1,2,3
- Windows Media Audio Codec v2,
- RealAudio Codec
- Voxware MetaSounds, Vivo G.723
¿©±â¼, Windows Media Audio Codec v2´Â 20Kbps·Î 22KHz FM ½ºÅ×·¹¿ÀÀÇ À½Áú°ú
64Kbps·Î CDÀ½ÁúÀÇ ¼º´ÉÀ» ³½´Ù. RealAudio CodecÀº 20Kbps·Î 11KHz ½ºÅ×·¹¿À À½ÁúÀ»
³¾ ¼ö ÀÖ´Ù. Voxware MetaSounds´Â Windows Media AudioÀÇ Àü½ÅÀ̾ú´Ù. WM AudioÀÇ
¼º´É ¶§¹®¿¡ ÃÖ±Ù¿¡´Â °ÅÀÇ ´ëºÎºÐ WM Audio CodecÀ» »ç¿ëÇÏ°í ÀÖ´Ù.
´ëÇ¥ÀûÀÎ ºñµð¿À ÄÚµ¦¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
- RealVideo: 45Kbps ~ 1Mbps
- Microsoft MPEG-4: 45Kbps ~ 2Mbps
- H.261, H.263: Video Telephony ¿ë
Ãʱ⿡´Â ´ëºÎºÐÀÇ ¼ºñ½º°¡ RealVideo ÄÚµ¦À» »ç¿ëÇßÀ¸³ª ÃÖ±Ù¿¡´Â
6:4 Á¤µµ·Î MS MPEG-4¸¦ »ç¿ëÇÏ°í ÀÖ´Ù.
½ºÆ®¸®¹Ö ¼¹öÀÇ ÁÖ¿ä ±â¼úÀº HDD ±â¼ú, µ¥ÀÌÅÍ º¹»çȸ¼ö¸¦ ÃÖ¼ÒÈÇÏ´Â ±â¼ú,
¸ÖƼ½º·¹µå ±â¼úÀÌ´Ù. ƯÈ÷, HDD¿¡¼ ½ºÆ®¸² ¼¼¼Ç ¹öÆÛ, ³×Æ®¿÷ ¹öÆÛ·Î À̾îÁö´Â
¹Ìµð¾î µ¥ÀÌÅÍÀÇ º¹»çȸ¼ö¸¦ ÃÖ¼ÒÈÇÏ´Â °ÍÀÌ ¼¹ö ¼º´ÉÀ» Å©°Ô Á¿ìÇÏ´Â °ÍÀ¸·Î
¾Ë·ÁÁ® ÀÖ´Ù. ½ºÆ®¸®¹Ö ±â¼úÀº MSÀÇ Intelligent Streaming°ú Real»çÀÇ SureStreamÀÌ
´ëÇ¥ÀûÀÌ´Ù. ½ÇÁ¦·Î ³»ºÎÀûÀÎ ±â¼úÀ» °ÅÀÇ ºñ½ÁÇÏ´Ù. ½ºÆ®¸®¹Ö Æ÷¸Ëµµ MS¿Í
Real·Î °¢ ȸ»ç¿¡ µû¶ó, ASF(Advanced Streaming Format)°ú SMIL(Sync. Multimedia
Integration Language)·Î ¾çºÐµÇ¾î ÀÖ´Ù.
4 °³¹ß ¹æ¹ý
- °³¹ß Àοø: 1¸í
- °³¹ß ±â°£: 2000³â 10¿ù 30ÀÏ ~ 2000³â 12¿ù 20ÀÏ
- °³¹ß ȯ°æ: Linux 2.2.15, GNU C/C++
- °³¹ß ÀÏÁ¤:
- RTP/RTSP ºÐ¼® ( ~ 11¿ù 11ÀÏ)
- Media Packetizer ±¸Çö ( ~ 11¿ù 18ÀÏ)
- Áß°£ º¸°í¼ ÀÛ¼º ( ~ 11¿ù 20ÀÏ)
- Packet Builder ±¸Çö ( ~ 11¿ù 25ÀÏ)
- µð¹ö±ë ¹× Å×½ºÆ® ( ~ 12¿ù 6ÀÏ)
- RTP ¼öÁ¤ ¹× ¼º´É ÃøÁ¤ ( ~ 12¿ù 16ÀÏ)
- ÃÖÁ¾ °á°ú º¸°í¼ ÀÛ¼º ( ~ 12¿ù 20ÀÏ)
5 Âü°í ÀÚ·á