스트리밍 서버 구축 - 웹 미디어 서버



    개인 서버중에서 스트리밍 서버는 빼 놓을 수 없는 존재지요. 어떤 미디어를 스트리밍 하느냐에 따라서 용도가 조금 차이가 납니다. 일반적으로 스트리밍 하기 좋은 미디어는 음악과 동영상입니다.


    앞으로 소개할 스트리밍 서버에 대해서 두가지 종류를 소개할 예정입니다. 앞으로 제가 포스팅할 서버는 두가지 입니다. 각자 용도에 맞는 스트리밍 서비스를 설치하실 때 같이하시면 됩니다. 참고로 이 두 서버는 IIS를 이용해서 구축하지는 않았습니다. (대신 IIS는 나중에 보조적인 용도로 사용할 예정입니다.) 스트리밍 서버들은 전용 서버 프로그램을 통해서 설치를 진행할 예정입니다.


    목적에 따라서 앞으로 설치할 서버는 두가지 입니다.


    음악 미디어 서버 - Subsonic

    이름을 클릭하면 홈페이지로 이동합니다.




    음악 스트리밍 서버중에 유명한 서버 입니다. 각 OS별로 전용 프로그램이 존재하며 간단하게 설치만으로 복잡한 설정 없이 음악 스트리밍 서버를 구축할 수 있습니다.

    Subsonic은 음악 스트리밍에 굉장히 강점을 가지고 있습니다. 일단 스트리밍 서버치고 굉장히 가볍습니다. 가벼운 만큼 음악을 스트리밍하기에 굉장히 적합합니다. 물론, 서브소닉의 경우에는 동영상도 지원하지만 그다지 빵빵한 기능을 지원하지는 않습니다. 따로 인코딩이 필요없는 트랜스 코딩을 지원하지만 자막을 불러올 수가 없네요. 혹시 방법을 아시는 분들은 댓글 부탁드립니다.

    제가 알기로는 음악 스트리밍의 서버로는 가장 유명할 겁니다. 실제로 저도 음악 서버로 잘 활용을하고 있구요.


    동영상 스트리밍 서버 - PLEX Media Server

    이름을 클릭하면 홈페이지로 이동합니다.




    음악 스트리밍은 서브소닉을 이용하더라도 동영상 기능이 많이 약한것을 위에 적어봤는데 이 부족한 부분을 채우기 위해서 선택한 동영상 서버는 PLEX Media Server 입니다. 동영상 스트리밍에서 자막 크기 조절 및 풀HD를 지원하는등 아주 빵빵한 기능들을 가지고 있습니다. 다만, 여러기능을 이용하기 때문에 트랜스코딩에 시스템 리소스를 많이 잡아 먹습니다. 

    깔끔한 UI와 미디어 서버로서는 종합적인 기능을 보유하고 있어서 현재는 제가 애용하고 있는 미디어 서버 입니다. 다만 음악 서버로만 운영하기에는 서브소닉보다 무거운 듯한 느낌이 있습니다.

    그리고 유료와 무료 버전은 조금 차이가 있는데 무료 버전은 이름이 PLEX Media Server 이고 유료버전의 이름은 PLEX Pass 입니다. 부가적인 기능이 추가가 되었지만 무료버전인 PLEX Media Server만 이용해도 충분합니다. (물론 개인적인 용도로)


    두가지 서버에 대해서 소개를 하였는데 주된 사용목적에 맞는 서버를 설치하면 좋습니다. 앞으로 블로그에서 두 서버 다 설치하는 방법을 소개하고 사용기에 대해서 포스팅할 예정입니다.


    일단 프로그램을 추가로 설치하는 것을 좋아하지 않는데 서버 프로그램을 따로 설치하게끔 하는 이유는 따로 있습니다. IIS에서 이 소스들을 구동하려면 추가적인 설정 과정이 아주 많이 필요합니다. Subsonic이나 Plex의 경우에는 단순히 웹서버에서는 구동할 수 없습니다. JAVA의 기능을 이용하고 있기 때문에 웹서버와 JAVA 기능을 연동시키는 JAVA Sublet이 필요합니다. 이것도 나중에 포스팅할 예정입니다만 번거롭게 여러 설정을 하는것 보다 한번에 프로그램을 설치하는 것이 훨씬 편리하더군요.


    각 미디어서버별 사용하는 WAS(Web Application Server)

    Subsonic - Jetty

    PLEX Media Server - Python


    그동안 서브소닉이나 Plex에 대한 포스팅을 미뤄온 이유가 있는데, 다름아닌 접속 주소를 바꾸고 싶던게 주된 이유였습니다. 프로그램으로 한번에 설치를 꺼렸던 이유도, IIS에서 JAVA 서블릿을 연동시켜 어떻게든 IIS에서 구동시켜 볼려는 이유가 제가 보유한 도메인을 적절하게 활용하여 접속하기 쉬운 주소로 설정하고 싶었는데 그 방법을 찾아서 몇 달을 고생했습니다.


    다행히 설정법을 알아내서 지금은 각각 저에게 편리한 서브 도메인을 이용해서 사용중입니다.

    서브소닉의 경우에는 접속주소가 http://IP주소:4040 이 기본설정인데, 현재는 http://music.mydomain.com 같은 형태로 이용하고 있고

    Plex의 경우에는 http://IP주소:32400 이 기본설정이지만 http://media.mydomain.com으로 사용하고 있습니다.


    이렇게 접속 주소를 내 도메인으로 설정하는 과정도 당연히 포스팅할 예정입니다. 저에게는 이 작업이 가장 중요한 작업이었습니다. 웹 스트리밍 서버를 구축하는 과정에서 이런 저런 시도를 해보다가 현재 제가 사용하고 있는 설정이 가장 간단하고 접속하기도 쉬워 보입니다. 어디까지나 제 블로그의 주된 컨셉은 쉽게 만드는 서버이기 때문에 이 하나의 내용을 가지고 몇 달은 생각해온 것 같습니다.


    이번 포스팅은 정보를 전달하는 목적보다는 앞으로 이런 내용들을 포스팅하겠습니다. 같은 소개 글 성향이 강한데 이 스트리밍 서버 구축에 대한 포스팅은 꽤나 오랜 시간 동안 준비해왔기 때문에 그동안 시도했던 내용들에 대해서 한번 소개하고 싶어서 글을 적어보았습니다.







    Posted by Study For Us clamp2x
    • 루나
      2015.01.01 10:11 신고

      앗 서브소닉이 소개될줄이야!
      서브소닉이 버전이 5로 올라가면서 라이센스가 월당 내는 방식으로 바뀌였습니다 ㅠㅠ...
      예전에는 그냥 한번 결제하면 끝이였는데...
      서브소닉은 체험기간이 끝나게되면 기능제약이 심해져서 (모바일쪽은 사용불가) 꼭 유료버전으로 사용되어야합니다
      그리고 클라이언트쪽이 피시나 안드로이드쪽은 상관없지만, 아이폰, 아이패드쪽은 무조건 유료어플을 구매해야하는 (약5달러)
      단점이 있습니다ㅠㅠ... (유로어플도 잘못구매하면 한글지원을 안하는 어플이 있습니다)
      그리고 한글폰트문제로 테그를 한번 수정해줘야하는 문제도 있고요
      (이건 프로그램으로 일괄적으로 쉽게 가능해서 큰 문제는 아닙니다만...)
      그래도 저도 윈도우기반 서버로 작동하는 프로그램중에 서브소닉만한 프로그램은 찾지못한것 같습니다
      플레어리스트기능이나, 플레이어에서 챗팅기능이나 팟케스트 다운로드 등...

      PLEX쪽은 굉장히 기대됩니다 외부에서도 스트리밍이 되는건가요?
      저는 피시자원이 떨어지는 편이라... (다수접속 문제도 있습니다만...)
      실시간 인코딩해서 외부로 쏴주는 방식으로 운영하다가, FTP를 통해 스트리밍하는 방법으로 전환했습니다
      FTP로 파일을 그대로 나가니, 서버쪽에는 큰 부하가 걸리지않더라구요
      안드로이드쪽은 ES파일탐색기나, 다이스플레이어에서 FTP를 지원하고 아이폰계열은 N플레이어가 FTP플레이를 지원합니다
      그리고 음 내부에서는 DLNA를 위해 (저는 아직 스마트 TV가 없어서 플스3로 활용중입니다) serviio으로 구축했습니다
      좀 오래되긴했습니다만... 내부 DLNA를 위해 Plex와 serviio를 고민하다가 더 가벼운 serviio으로 결정했는데
      외부쪽으로 스트리밍이 된다면 저도 강좌를 보고 이동해봐야겠네요^^/

      새해복많이받으시고 올해에도 재미난 글 많이 부탁드리겠습니다 (__)

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2015.01.01 10:44 신고

        먼저 서브소닉의 경우는 무료어플도 존재하지만 공식어플이 유료더군요. 라이센스는 불법적인 방법으로도 가능하기도 합니다만 어디까지나 정상적인 방법이 아니므로 이 내용을 포스팅해야하나 말이야 하나 고민중입니다.
        그리고 plex의 경우 외부에서 스트리밍 서비스가 가능하며 웹페이지에서도 시청가능합니다. 그리고 휴대폰에서 서버의 주소를 통해 모바일 브라우저로 접속을 해서 시청해도 별다른 인코딩 없이 재생가능 합니다.
        물론 고화질의 비디오를 재생할때 트랜스 코딩하면서 재생하면 속도 서버의 리소스를 엄청 잡아먹기는 합니다만 영상 품질을 조정하는 기능도 내장하고 있어서 화질을 약간 포기하면 불편함 없이 시청 가능합니다. Plex는 주요 가능들이 무료이기 때문에 꼭 라이센스를 구입할 필요는 없습니다. ^^
        Plex를 사용하니 동영상 재생어플이 필요없어졌습니다. 물론 이미 어플을 이미 구매하신경우에는 어플로 즐기는게 더 편리합니다. ^^

    • 감사합니다
      2015.03.22 00:44 신고

      스트리밍 서버 만들기 너무 어려웠는데
      덕분에 쉽게 할수있을거 같아요!
      감사합니다

    • 도밥이
      2016.01.08 11:25 신고

      혹시 IPtime NAS에 서브소닉을 깔수있는방법은 없는건가요ㅠㅠ

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.01.08 11:29 신고

        나스같은 경우는 각자 전용 OS를 사용하기 때문에 제조 회사에서 어플리케이션을 제공해주지 않는 이상 사용이 불가능 합니다.

        대신 나스 전용으로 서브소닉 기능을 제공할텐데 그 기능을 사용하는게 더 좋을 듯 합니다. ^^

    • 나영주
      2016.08.03 21:01 신고

      혹시 plex 를 jwplayer로 연동시키는 방법이 있을까요?
      미디어서버는 윈도우2008 R2버전이고 사용언어는 PHP5입니다.
      아무리 찾아봐도 방법을 모르겠어서요

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.08.03 22:54 신고

        불가능 할겁니다. PLEX는 회원 인증을 통해 접근을 하고 또한 트랜스 코딩이 이루어지는 복합적인 환경입니다.
        jwplayer 처럼 단순한 플레이어의 역할인 아니기 때문에 그 둘의 연동은 안될것 같습니다.^^

티스토리 툴바