집안 알릭스(EasyMPD)나 APU에 연결된 USB 외장 HDD의 음원을 집 밖에서도 들을 수 있습니다.

앞서 작성한 Tip에서 알릭스에 연결된 USB 외장 HDD의 음원을 DLNA/UPnP를 이용해 집안에서 내 스마트폰이나 알릭스로 듣는 방법에 대해 알아 보았습니다. 인터넷에만 연결되어 있다면 BubbleUPnP Server의 도움으로 집안 USB 외장 HDD의 음원을 집 밖에서도 들을 수 있습니다.

여기서는 BubbleUPnP Server를 이용하여 외부에서 집안의 Media Server로 접속하여 음악을 듣는 방법에 대해 알아보겠습니다.

해야 할 것 들을 간략히 정리해 보면 아래와 같습니다.

  1. 집안의 알릭스(Alix)나 APU에 USB 외장 HDD를 연결하고 알릭스를 DLNA/UPnP Media Server로 만듭니다.
  2. 외부에서 공유기를 통해 BubbleUPnP Server로 접속 할 수 있도록 집안 공유기의 DDNS와 포트포워드(Port Forward)를 설정합니다.
  3. 집안 알릭스의 BubbleUPnP Server를 활성화 하고, 외부에서 BubbleUPnP Server를 통해 집안의 Media Server로 접속할 수 있도록 설정합니다.
  4. 집 밖에서 스마트폰에 BubbleUPnP 어플을 설치하고 집안의 BubbleUPnP Server로 접속할 수 있도록 설정하여 스마트폰으로 음악을 듣습니다.
  5. 집 밖 다른 장소에 알릭스가 또 있다면, BubbleUPnP 어플이 설치된 스마트폰을 리모콘으로 사용하여 그곳의 알릭스로도 집안의 음원을 가져다가 음악을 들을 수 있습니다.

알릭스에서 활성화 할 BubbleUPnP Server와 스마트폰 어플인 BubbleUPnP는 같은 회사에서 만든 프로그램입니다. 그래서 스마트폰 어플인 BubbleUPnP를 이용해야 만 BubbleUPnP Server를 통해 외부에서 접속이 가능합니다. 한가지 안타까운 것은 BubbleUPnP 앱은 안드로이드에서만 사용 가능합니다. 아직은 애플 iOS용으로는 개발되지 않아 아이폰에서는 사용 할 수 없습니다. 아이폰 용 앱도 출시되길 기대해 봅니다.

그럼 시작해보겠습니다.

[집안 알릭스에 DLNA/UPnP Media Server 활성화]

알릭스에 USB 외장 HDD가 직결되어 있고 DB Backup 디렉토리로 등록되어 있어야만 알릭스를 Media Server로 설정할 수 있습니다.
  1. EasyMPD WEB GUI 메뉴의 DLNA(UPnP) -> Media Server로 이동합니다. 오른쪽 Media Server 설정 페이지에서 "Media Server (Minidlna) 기능을 활성화합니다."의 오른쪽 체크 박스를 선택합니다.

  2. EasyMPD에서 Media Server로 사용하는 Minidlna에 대한 설명을 잘 읽어 봅니다.
  3. Album Art에서는 각 앨범 폴더에 저장되어 있는 커버 아트 그림 파일의 파일 명을 입력합니다. 여러 개의 파일명을 입력할 수 있습니다. 너무 높은 해상도의 그림 파일은 Media Server가 DB를 생성할 때 오류를 발생 시키는 원인이 됩니다. 해상도를 낮추어 저장하던지 문제가 계속 발생한다면 공란으로 비워둡니다.

  4. USB 외장 HDD에 음원 파일만 들어 있다며 상관없지만 사진 파일과 동영상 파일이 같이 존재 한다면, 최상위 디렉터리에 음원 용, 사진 용, 동영상 용 폴더를 만들고 각각의 미디어 피일들을 분류를 하는 것이 좋습니다. 분류를 잘 했다면 아래 그림과 같이 "미디어 폴더 등록"에서 각각의 해당 미디어 폴더를 등록해 줍니다.

  5. 알릭스를 MPD 플레이어로도 이용한다면 위 그림과 같이 "미디어 폴더 등록"에서 "Picture와 Video 용으로 등록된 폴더는 MPD의 DB에서 제외시킵니다."를 선택합니다. 그러면 MPD DB Update에 도움이 됩니다.
  6. 설정이 끝났다면 페이지 아래 "Save" 버튼을 클릭해 설정 저장 및 Media Server를 실행 합니다.
  7. Media Server가 실행되면 자동으로 DB를 만들기 시작합니다. 고화질의 음원 커버 아트 파일 만 없다면 DB 생성은 MPD의 경우보다 빠른 듯 합니다. 참고로 Media Server의 DB도 EasyMPD에 등록된 DB Backup 디렉터리로 별도로 저장됩니다.
  8. EasyMPD에서 Media Server로 사용하는 Minidlna이라는 프로그램은 MPD와 달리 수동 DB 갱신 기능이 없습니다. 대신 음원이 추가 삭제되면 자동으로 감지하고 DB를 갱신합니다. 하지만 이 자동 감지 기능은 외장 HDD가 알릭스에 연결된 상태에서 네트워크로 알릭스를 통해 파일을 삭제 또는 추가하는 경우만 가능합니다. USB 외장 HDD를 알릭스로부터 분리하여 PC에 연결해 저장 또는 삭제된 음원은 Minidlna가 자동으로 감지할 수 없기 때문입니다. DB를 수동으로 Update 하려면 "Re-create DB" 버튼을 클릭합니다. 하지만 이 기능은 DB를 갱신하는 것은 아니고 기존 DB를 모두 지우고 새로 만드는 기능입니다.

  9. EasyMPD에서는 USB 외장 HDD가 연결되면 그 HDD는 자동으로 네트워크 파일 공유가 됩니다. PC의 Windows 탐색기에서 "네트워크 -> 컴퓨터 -> EasyMPD"를 클릭하여 열어 볼 수 있습니다. 이 경로로 파일 추가 삭제가 가능합니다. 쓰기 속도가 유선랜 연결 상태에서 최대 5Mbytes/s 정도 나오니 크게 불편함은 없을 듯 합니다.



    1. [집 인터넷 공유기 DDNS 설정]

      집 밖에서 인터넷을 통해 우리 집의 Media Server로 접속 하려면, 우리 집 인테넷에 할당된 아이피 주소를 알아야 합니다. 하지만 이 아이피 주소는 언제든지 변경될 수 있습니다. 이 아피 주소가 변경되더라도 우리 집을 찾으려면 DDNS라는 것을 이용하면 가능합니다.

      인터넷에서 통용되는 주소는 아이피 주소도메인 네임 이렇게 두 가지를 사용합니다. 도메인 네임에는 아이피 주소가 등록되어 있는데, 아이피가 변경되면 자동으로 다시 도메인 네임에 변경된 아이피 주소로 갱신 등록해 주는 서비스를 DDNS라 합니다. 이것을 이용한다면 내 집의 아이피 주소가 변경되더라도 도메인 네임으로 내 집을 찾을 수 있는 것이죠.

      대부분의 공유기는 자신이 할당 받은 인터넷 아이피가 변경되었을 DDNS를 제공하는 서버에 접속해 아이피 주소를 재 등록 및 갱신해주는 기능을 가지고 있습니다. 공유기에 이 DDNS 설정을 하면 우리는 외부에서 특정 도메인 네임으로 우리 집의 공유기를 찾을 수 있습니다.

      많이 알려진 dyndns.org라는 곳에서 DDNS를 무료로 제공하고 있습니다. 가입하고 계정을 만들어야 합니다. ipTime 공유기를 사용한다면, ipTime에서 무료로 제공하는 더 쉬운 DDNS를 이용할 수 있습니다. 여기서는 ipTime DDNS 설정을 예로 들어보겠습니다.

      1. 인터넷 웹 브라우저에서 공유기 관리 페이지를 열고, 필요하다면 로그인을 합니다. 공유기 관리 페이지는 인터넷 웹 브라우저의 주소란에 “http://게이트웨이주소” 를 입력해 열 수 있습니다. 게이트웨이 주소는 EasyMPD WEB GUI의 첫 페이지의 Network 정보에서 확인 가능합니다.
      2. 공유기 관리 페이지 메뉴에서 “고급설정 -> 특수기능 -> DDNS”으로 이동합니다. 오른쪽 설정 페이지에 아래와 같이 설정합니다.
        서비스 공급자: ipTIME DDNS 선택
        호스트이름: "내가 원하는이름.iptime.org" (원하는 이름 뒤에 반드시 “.iptime.org”를 넣어야 합니다. 이 도메인 주소가 내가 외부에서 접속할 때 사용하는 주소입니다. 다른 사람이 이미 등록해 놓은 것과 중복되지 않도록 자신만의 독특한 이름을 사용해야 합니다. 예에서는 myhome.iptime.org를 입력하였습니다.)
        사용자계정: 자신이 사용하고 있는 이메일 계정일 입력합니다. (반드시 사용하고 있는 이메일을 사용해야 나중에 도메인 네임이나 비밀번호를 잊었을 때 찾을 수 있습니다.)
        사용자 암호: 암호를 입력합니다.
      3. 맞게 입력했다면 “추가”버튼을 클릭합니다. 그러면 아래 그림과 같이 추가된 것을 확인 할 수 있습니다. “접속상태 다시보기”를 클릭해 동작이 정상적으로 되고 있는지도 확인 할 수 있습니다. “접속상태”에 “정상 등록”이라고 나오면 성공한 것입니다.


      [집 인터넷 공유기 포트포워드 설정]

      인터넷에 접속하는 모든 네트위크 기기는 각자 할당 받은 공인 아이피가 있어야만 인터넷에 접속할 수 있습니다. 요즘 대부분의 가정은 데스크톱 컴퓨터, 노트북, 스마트폰, 테블릿피시 등 인터넷에 연결이 필요한 여러 개의 기기를 사용하지만, 일반 가정용 인터넷 회선은 단 한 개의 공인 아이피만을 제공합니다. 그래서, 이런 여러 개의 인터넷 연결이 필요한 기기들에게 한 개의 공인 아이피를 공유해서 사용할 수 있게 해주는 것이 인터넷 공유기 입니다.

      인터넷 회선에서 제공하는 공인 아이피는 공유기 자신이 가지고 있고, 공유기에 연결된 각각의 네트워크 기기에게 공인 아이피가 아닌 사설 아이피 (192.168.X.X)라는 것을 할당 합니다. 우리가 집에서 인터넷을 사용하면 “사설 아이피 -> 공유기 -> 공인 아이피” 이런 경로로 인터넷에 접속 할 수 있는 것입니다. 내부 컴퓨터에서 인터넷으로 나갈 때는 별다른 설정 없이 공유기의 도움으로 가능하지만, 외부 인터넷에서 내부 컴퓨터를 찾아 들어오기 위해서는 몇 가지 추가 설정이 필요 합니다.

      집에 컴퓨터가 두 대가 있다면 공유기는 외부에서 접속이 들어오면 자신에게 연결되어 있는 그 두 컴퓨터 하나에게 연결해 주어야 하는데, 실제로 공유기는 둘 중 누구에게 연결해야 하는지롤 알고 있지 않습니다. 그래서 둘 중 어느쪽으로 연결해야 할지의 규칙을 만들어 줘야 합니다. 이 규칙을 만들 때 필요한 것이 내가 외부에서 접속하기 원하는 컴퓨터의 사설 아이피입니다.

      규칙을 만들기 위해서는 한 가지를 더 알아야 하는데 포트(Port)라는 것입니다. 아이피 주소를 집 주소라고 한다면 포트는 그 집의 문이나 창이라고 생각하면 됩니다. 집은 찾았지만 정문으로 들어갈 지 뒷문 또는 창으로 들어갈 지를 알려주는 것이 포트라 생각하면 됩니다.

      정리해보면, 외부에서 인터넷으로 접속이 들어오면 공유기는 내부 사설 아이피로 그리고 그 사설 아이피 주소의 특정 포트로 전달을 해주어야 하는데, 공유기가 그것을 할 수 있도록 규칙을 만드는 것이 포트포워드입니다.

      ipTime 공유기를 예로 들어 BubbleUPnP Server가 실행 중인 알릭스로의 포트포워드 규칙을 만드는 방법에 에 대해 자세히 알아보겠습니다. 포트포워드 설정은 대부분 공유기 관리페이지의 NAT 설정하는 곳에서 가능하니 ipTime이 아닌 다른 공유기에서도 아래 내용을 응용해 할 수 있을 것입니다.

      1. 인터넷 웹 브라우저에서 공유기 관리 페이지를 열고, 필요하다면 로그인을 합니다. 공유기 관리 페이지는 인터넷 웹 브라우저의 주소란에 “http://게이트웨이주소” 를 입력해 열 수 있습니다. 게이트웨이 주소는 EasyMPD WEB GUI의 첫 페이지의 Network 정보에서 확인 가능합니다.
      2. 공유기 관리 페이지 메뉴에서 “고급설정 -> NAT/라우터 관리 -> 포트포워드 설정”으로 이동합니다.
      3. 오른쪽 포트포워드 설정 페이지에서 아래와 같이 입력합니다.
        정의된 리스트: 사용자정의 선택
        규칙이름: Bubbleupnp1 입력
        내부IP주소: 알릭스의 아이피주소 (알릭스의 아이피 주소는 EasyMPD WEB GUI의 첫 페이지의 Network 정보에서 확인 가능합니다. 그림 예에서는 192.168.11.11을 입력하였습니다.)
        프로토콜: TCP
        외부포트: 58050
        내부포트: 58050
        다 입력했다면 “추가”버튼을 클릭합니다.
      4. 아래와 같이 하나를 더 입력하고 추가합니다. 규칙이름과 포트번호가 3번과 다름에 유의하세요.
        정의된 리스트: 사용자정의 선택
        규칙이름: Bubbleupnp2 입력
        내부IP주소: 알릭스의 아이피주소 (알릭스의 아이피 주소는 EasyMPD WEB GUI의 첫 페이지의 Network 정보에서 확인 가능합니다. 그림 예에서는 192.168.11.11을 입력하였습니다.)
        프로토콜: TCP
        외부포트: 58051
        내부포트: 58051
      5. 맞게 입력하고 추가 했다면 아래와 같이 두 가지 규칙이 생성된 것을 확인 할 수 있습니다. (아이피 주소는 자기 자신의 알릭스 주소를 입력했으니 그림과는 틀릴 것입니다.)


      [집안 알릭스에 BubbleUPnP Server 활성화 및 설정]

      EasyMPD 1.2.4 버전부터 알릭스에서 BubbleUPnP Server를 활성화 할 수 있습니다. 이전 버전 사용자는 EasyMPD를 업데이트 해야 합니다.
      1. EasyMPD WEB GUI 좌측 메뉴 중 “DLNA(UPnP) -> BubbleUPnP Server”로 이동 한 후, 우측 설정 페이지에서 “BubbleUPnP 기능을 활성화 합니다.” 우측의 체크 박스를 선택하고 페이지 아래의 “Save” 버튼을 클릭합니다.
      2. BubbleUPnP Server는 Save를 클릭하고 실행되는데 약간의 시간이 걸립니다. 30초 정도 기다렸다가 “BubbleUPnP Server 설정 페이지 열기”라는 링크를 클릭하여 BubbleUPnP Server 설정 페이지로 이동합니다.
      3. 아래 그림과 같이 BubbleUPnP Server 설정 페이지가 열리면 "Network and Security" 탭에서 "Allow to access the server from the Internet"를 체크합니다.
        위 공유기 DDNS 설정에서 등록한 도메인 네임"Public host name"에 입력하고 "Apply" 버튼을 클릭합니다.
        Login 아이디와 Password를 입력하고 "Apply" 버튼을 클릭합니다. 여기서 주의 할 것은 Password는 가능하면 어려운 것을 사용해야 합니다. 그렇지 않으면 보안상에 큰 문제가 발생할 수 있습니다.
      4. "Media Servers" 탭에서 EasyMPD(Media Server, WEB GUI)를 선택한 후 "Make this Media Server available in BubbleUPnP for Android and foobar2000 for Internet access"가 체크 되어 있는지 확인 합니다. 체크되어 있지 않다면 체크합니다.


      [스마트폰에 BubbleUPnP 어플 설치 및 설정]


      BubbleUPnP Server에 원격으로 접속할 수 있는 스마트폰 어플은 안드로이드에서만 사용 가능한 BubbleUPnP 뿐입니다. 위에서도 언급했지만 애플 기기 사용자들은 아쉽지만 BubbleUPnP 어플을 사용할 수 없습니다.
      BubbleUPnP는 무료 버전과 유료 버전이 있는데 무료 버전은 사용상 제약이 있습니다.

      혹시 혼란 스러울 듯하여 설명 드리지만 알릭스(EasyMPD)에서 활성화 한것은 BubbleUPnP Server이고 스마트 폰에 설치할 것은 BubbleUPnP입니다. 스마트 폰의 BubbleUPnP가 원격지의 BubbleUPnP Sever로 연결해주며, 리모컨과 또 플레이어의 역할을 하게 됩니다.

      스마트폰으로 음악 듣기
      1. 스마트폰의 Play 스토어에서 BubbleUPnP를 찾아 설치하고 실행합니다.

      2. 스마트폰 메뉴버튼을 눌러 메뉴가 나타나면 "Settings"와 "Setup Network Wizard", "Next"를 차례로 선택합니다.

      3. 아래와 같은 페이지가 열리면, 자신이 원하는 Name을 입력(그림 예에서는 "Home"을 입력했습니다.)하고, Server address에 공유기 DDNS 설정에서 등록한 도메인 네임을 입력합니다. 입력 형식은 "http://도메인 네임:58050" 이렇게 입력합니다. 그림 예제는 "http://myhome.iptime.org:58050"을 입력했습니다. 여기서 myhome.iptime.org를 자신의 공유기에 등록한 도메인 네임으로 교체해 입력하면 됩니다. LoginPassword에는 BubbleUPnP Server 설정에서 입력했던 것을 동일하게 입력하면 됩니다.

      4. 스마트폰이 WiFi에 연결되지 않은 상태에서 원격지 서버로 접속해 음악을 많이 듣게 되면 데이터 요금 폭탄을 맞을 수 도 있습니다. "Active on connection"에서 인터넷 연결 방식에 따른 서버로의 연결 활성화 설정을 할 수 있습니다. 그림 예의 경우 통신요금을 줄이기 위해 WiFi로 연결된 경우만 Server 연결이 가능하고 Mobile(3G 또는 LTE)연결에서는 가능하지 않도록 설정 했습니다.

      5. "Test" 버튼을 클릭해서 "Connection successful"이라는 메세지가 뜨면 성공하 것입니다. "Next" 버튼을 클릭합니다.

      6. 다음은 Transcode 설정입니다. Transcode는 트래픽 양을 줄이기 위해 음원의 비트레이트를 낮추는 변형 작업입니다. 통신요금을 줄이기 위해서는 Transcode 가 필요할 지 모르지만 한가지 문제가 있습니다. 이 Transcode 작업을 스마트폰에서 하는 것이 아니고 원격지의 BubbleUPnP Server가 하게 됩니다. 이건 결국은 BubbleUPnP Server가 실행 중인 알릭스가 이 일을 하는 것을 의미합니다. 알릭스의 경우 CPU 속도가 느리기 때문에 이 일을 매끄럽게 처리하기에는 무리가 있습니다. 그래서 가능하면 "No transcoding"을 선택하는 것이 좋습니다.

        그림 예에서는 Mobile(3G 또는 LTE) 인터넷 연결에서는 128Kbps로 낮추도록 설정하였지만 앞에서 Mobile의 경우 어차피 서버 연결을 허용하지 않았으니 별 의미는 없습니다. WiFi 연결에서는 알릭스의 CPU 부하를 줄여주기 위해 또한 좋은 음질로 음악을 듣기위해 "No transcoding"을 선택 했습니다. "Finish"를 눌러 Wizard를 종료 합니다.

      7. DEVICES 페이지에서 Renderers에서 "Local Renderer"을 선택 합니다. Libraries"EasyMPD(Media Server, WEB GUI)[Home]"을 선택 합니다. 여기서 Home은 "Network Wizard"에서 Name으로 입력했던 이름입니다. Name에 Home이 아닌 다른 이름을 입력했다면 다른 이름이 보일 겁니다.

      8. LIBRARY 페이지로 가면 원격지(집)의 알릭스에 연결된 HDD의 음원들을 볼 수 있을 겁니다. 여기서 원하는 곡을 선택하여 Playlist로 보냅니다.

      9. PLAYLIST 페이지에서 Playlist에 추가된 곡을 선택해 플레이 할 수 있습니다.


      알릭스로 음악 듣기
      만약 지금 내가 있는 곳에 또다른 알릭스(EasyMPD가 설치된)가 있고 Media Renderer 모드로 되어 있다면 그 알릭스를 통해서도 음악을 들을 수 있습니다.

      위 "스마트폰으로 음악 듣기" 과 동일하게 설정하되, DEVICES 페이지에서 Rendereres에서 "Local Renderer" 대신 "EasyMPD-renderer"(또는 "EasyMPD-renderer(OpenHome)"를 선택하면 됩니다.