HOME > 고객센터 > 일반자료실
   
  FMS 서버를 이용한 실시간 스트리밍 방송 구축에…
  글쓴이 : 캐스트시티     날짜 : 08-02-22 17:54     조회 : 8278    
Windows Media Server를 이용해서 실시간 스트리밍 시스템을 구축해서 테스트를 해보니 각 클라이언트까지 도달하는 데 평균 15초 가랑의 딜레이 타임이 생긴다. 공유기를 통해 같은 인터넷 라인을 사용하고 있는 각각의 클라이언트 간에도 0.5초에서 1초 사이의 딜레이 타임이 생기는 것을 볼 수 있었다.
 
서비스에 따라서는 묵과될 수 있는 미세한 시간이지만 실시간 강의와 클라이언트의 질문을 받아 대답해주는 솔루션의 경우에는 complain의 요소가 될 수 있다. 이에 대한 해결점을 찾기 위해 스트리밍 서버의 버퍼링 시간을 조정하거나 하는 식의 서버 셋팅을 시도해봤지만 역시 결과는 마찬가지였다. 최대 7초 정도까지 딜레이 타임을 줄여보았다는 것에서 만족할 수 밖에 없었다.
 
물론 스트리밍 서비스의 딜레이 타임은 스트리밍 서버의 셋팅만의 문제는 아니다. 스트리밍 서버 측의 라인 속도, 클라이언트 측의 라인 속도, 서버 측과 클라이언트 간의 거리 등등 복잡한 변수들이 많이 존재한다. 하지만 그런 서버측의 물리적인 라인은 트래픽 증설이라는 방법, 즉 돈으로 해결하는 수밖에 없으므로 여기서 논의될 사항은  아니다. 그저 서비스를 할 회사의 자금 사정이 좋기만을 기대할 뿐.......
 
 그러던 중 우연히 Flash Media Server 3 (이하 FMS3 이라 칭함)에 대한 포스팅들을 보게 되었다. 가장 내눈에 들어오는 내용은 바로 딜레이없는 실시간 스트리밍이라는 기사였다. 과연 FMS3가 Windows Media Server의 딜레이 타임을 해결할 구세주로 등장할 것인가하는 기대감 반, 설마하는 우려 반으로 FMS를 설치해보자는 결심을 하게 되었다. 이런 결심을 할 수 있었던 계기는 아직 서비스가 실행되기 전이라서 빨리 구축할 수 있다면 테스트해보고 결정할 수 있다는 생각에서였다.
 
FMS3 테스트를 해보려고 adobe 사의 사이트를 방문해보니 이런 아직 출시가 되기 전이란다. 그 화려한 광고성 포스트들로 한껏 부풀었던 마음에 완전히 찬물을 끼얹는 소식이었다. 내년, 아니 이젠 금년인 2008년 상반기 출시 예정이란다. (http://www.adobe.com/products/flashmediastreaming/)
 
어쩔 수 없이 FMS2로 방향 선회하고 일단은 어둠의 경로를 통해 FMS2를 구했다. 나중에 알고보니 adobe 사이트에서 무료로 배포되는 개발용 FMS2 버전이 있었다. 미리 알았더라면 어둠의 경로를 누비고 다니는 수고를 하지 않았을텐데..... 무료 배포용 개발자용 FMS2를 다운 받을 수 있는 웹주소는 다음과 같다. (https://www.adobe.com/cfusion/tdrc/index.cfm?product=flashmediaserver)
 
어찌되었건 스트리밍 서버 구축을 위한 한 가지는 해결이 된 셈이다. FMS2는 Windows와 Linux를 모두 지원하기 때문에 각자 자신의 서버에 맞는 버전을 다운받으면 된다. 본인은 Windows 2003을 사용하는 관계로 Windows용 FMS2를 선택했다. 무엇보다 FMS2에 대한 확신이 없는 상태에서 혹시라도 다시 Windows Media Server로의 회귀라는 경우의 수를 고려하지 않을 수 없었기에 서버 OS 마저 Linux로 갈아타는 모험을 할 수 없었기 때문이다. 그러므로 Linux용 FMS2의 설치와 관련된 질문에 대한 답변이나 설명을 전혀 할 수 있는 방법이 없다. 눈치 빠른 분들은 이미 아시겠지만 본인 역시 FMS와 관련된 실무가 이번이 처음이니 말이다.
 
이제 FMS2를 설치해보자. Windows 2003에 FMS2를 설치하는 것은 너무나도 쉽다. 그저 엔터키 몇번 눌러주면 된다. 주의하여야 사항 하나는 FMS2가 사용할 포트 번호를 지정하는 것이다. FMS2는 기본적으로 2개의 포트를 사용한다. 하나는 스트리밍을 위한 포트이고 다른 하나는 FMS 관리를 위한 포트이다. 이렇게 이중적인 구조를 가지는 이유는 실시간 스트리밍 서버스 중에도 FMS 관리가 용이하도록 하기 위해서인 듯 하다. 일부 포스팅에서도 이런 뉘앙스가 포함되어 있다.
 
기본적으로 FMS는 스트리밍을 위해서 1935 포트를 사용하는데 이 포트는 Windows Media Server에서도 역시 같이 사용하는 포트이다. 본인의 Windows Media Server 셋팅시 default로 지정되었던 포트가 1935이니 아마 틀림없을 것이다. 따라서 한 대의 스트리밍 서버에 Windows Media Server와 FMS를 함께 셋팅하는 경우에는 포트 할당에 대한 고민을 미리 하시는 것이 좋고 가급적이면 같이 설치하지 않는 것을 권한다.
 
여기서 인터넷 방송 구축에 대해서 잠시 생각을 해보자. 기본적으로 인터넷 방송 서비스의 구조를 보면 Contents를 제작하기 위한 스튜디오와 스튜디오에서 제작되는 동영상을 방송하기 위한 스트리밍 시스템으로 구성된다. 스튜디오에는 조명이나 소품 등을 포함한 스튜디오 장비를 비롯해서 캠코더, 인코딩 시스템으로 구성이 될 것이다.
 
FMS는 실시간 라이브 스트리밍과 주문형 스트리밍 서비스(VOD)를 모두 지원한다. Windows Media Server에서 주로 사용되는 Windows Media Encoder는 실시간 스트리밍 인코딩 기능과 VOD 서비스를 위한 Video Converting 기능 모두를 지원했지만 FMS에서는 그렇지 못하다.
 
Flash 설치시 기본으로 함께 설치되는 Flash Video Encoder는 VOD 서비스를 위한 기존 동영상들의 FLV 비디오 파일로의 컨버팅 기능만을 담당하고 실시간 라이브 스트리밍을 위해서는 Flash Media Encoder 소프트웨어가 사용된다. Flash Media Encoder에는 FLV Converting 기능도 가지고 있다. 다만 여기서 VOD 서비스를 위해서는 Flash Video Encoder를 사용한다고 설명한 이유는 실시간 스트리밍 서비스를 하지 않을 예정이라면 궂이 Flash Media Encoder 소프트웨어를 구하지 않고 Flash 설치시 함께 설치된 Flash Video Encoder만으로도 컨버팅이 가능하므로 Flash Media Encoder 소프트웨어를 설치하지 않아도 상관없다는 이야기지 두 소프트웨어의 기능 상의 비교는 아니다. 모두 소프트웨어 모두 무료로 제공되고 있으니 이에 대한 부담을 가지지 않아도 관계없다.
 
FMS와 마찬가지로 Flash Media Encoder의 설치 역시 너무 간단하다. Flash Media Encoder가 설치될 경로를 지정하고 몇 번의 클릭이면 해결이 되는 것이다. 또한 Flash Media Encoder는 자동으로 DV 단자 혹은 영상 캡처 보드에 연결된 캠코더를 인식하기 때문에 더 이상의 설정은 불필요하다. 단 Windows Media Encoder는 스트리밍 서버인 Windows Media Server로 인코딩된 실시간 비디오 동영상을 전송하거나 혹은 Windows Media Encoder 자체적으로 스트리밍을 할 수 있는 기능이 있지만 아쉽게도 Flash Media Encoder는 그렇지 못하다는 단점이 있다. Flash Media Encoder는 반드시 FMS로 전송을 해서 라이브 스트리밍을 해야한다.
 
이젠 FMS 스트리밍을 위한 시스템 구축에 대한 90%는 마무리되었다. 정리를 하자면 인터넷 방송은 크게 인코딩과 스트리밍으로 구분되고 FMS 실시간 스트리밍을 위한 인코딩을 위해서는 Flash Media Encoder를 사용하며 FMS 서버를 통해 실시간 스트리밍 서비스를 하게 된다는 점이다.
 
Flash Media Encoder와 FMS 간의 전송 설정이나 FMS 측의 Server Side Script-x, 클라이언트에서 FMS의 스트리밍 비디오를 구동하기 위한 Client Script-x Software 등에 대해서는 다시 정리를 해서 포스팅하도록 하겠다.
 
이 짧은 글이 FMS를 이용해서 비디오 스트리밍 서비스를 구현하고자 하는 분들에게 약간의 개념을 잡을 수 있도록 도움이 되었으면 하는 바람을 해보며 2008년 첫날에........