본문 바로가기

Interested./IT 이것저것

bubbleupnp를 이용한 네트워크 오디오 활용기


* 제가 사용하고 있는 음악감상 시스템의 모습니다. 
24시간 돌아가는 서버컴퓨터(자작 NAS라고 많이들 부릅니다.)에 저장된 음원파일을 네트워크오디오(Marantz M-CR603)에서 재생을 하며 플레이어 컨트롤은 태블릿(Nvidia TegraNote 7)에 깔려있는 앱(Bubbleupnp)을 이용하는 시스템입니다.


* 오디오에서  서버에 바로 접속해 음원을 재생할 수 있지만 굳이 태블릿을 이용하는 이유는 크게 두가지 입니다.

1. CR603이 한글을 지원하지 않습니다.
라이브러리에서 한글로 된 아티스트나 제목을 구분할 수 없기 때문에 굉장히 불편합니다.

2. 조작이 불편합니다.
한글이 지원되지 않는 것을 차치하더라도 세줄밖에 표시되지 않는 오디오의 디스플레이와 화살표 키 밖에 없는 리모콘을 이용한 조작은 꽤 답답합니다.
이를 해결하기 위해 iOS나 Android 용 marantz 앱을 이용하는 방법도 있긴 합니다만, 앱의 편의성이 너무 떨어지는데다 Android용 앱은 CR603을 정식지원하지 않습니다. 
다른 방법으로 미디어서버 역할을 하는 foobar에서 플레이리스트를 만들고 이를 재생시키는 방법도 있습니다만 컴퓨터와 오디오를 둘 다 조작해야하는 불편함이 있습니다.

이러한 불편함을 해결하기 위해 방법을 찾다가 스마트폰의 앱을 찾아보게되었습니다. 
upnp라는 키워드로 검색을 하면 꽤 여러가지 앱들이 있어서 이것저것 사용을 해 보고 bubbleupnp라는 앱으로 정착하게 되었습니다.

앱을 이용하게되면 엘범아트를 볼 수 있다는 점과 외부에서 서버의 음원을 들을 수 있다는 부가적 장점이 생깁니다.

시스템의 각 부분별로 자세한 이야기를 해 보려 합니다.



* 서버
윈도우 8.1을 OS로 사용하는 자작 NAS가 서버를 담당하고 있습니다. (참고: 서버 제작기)
PC에 있는 음원을 오디오가 인식하고 재생할 수 있게 하려면 upnp를 지원하는 프로그램을 이용해 미디어 서버를 작동시켜야 합니다.
미디어 서버 프로그램도 여러 많은 종류가 있습니다. 

1. Foobar2000
 - 현재 사용하고 있는 프로그램입니다. 원래는 음원 재생 프로그램이지만 플러그인 설치를 통해 푸바의 미디어라이브러리를 미디어 서버로 활용할 수 있습니다.
프로그램이 가볍고, 무료이며 관리가 쉽다는 장점이 있습니다. PC에서 바로 음원을 재생하는 용도로도 쓸 수 있다는 것이 장점이구요.

2. Windows Media Player
 - 윈도우에 기본으로 들어가 있는 미디어 플레이어도 라이브러리 기능이 있습니다. 이를 미디어 서버로 활용할 수 있습니다.
윈도우에 기본으로 설치되어 있기에 가장 쉽게 접근할 수 있으나 라이브러리에 추가 가능한 음원 포멧이 제한적입니다. flac을 지원하지 않는것이 치명적입니다.

3. twonkey manager
 - twonkey server라는 미디어 서버 전용 프로그램에 재생이 가능한 플레이어 기능이 들어간 프로그램입니다.
음원 외에 영상과 사진을 통합적으로 관리할 수 있는 프로그램이고, PC에서 upnp를 지원하는 렌더러로 재생을 시킬 수 있습니다. 단점은 유료입니다. 트라이얼판을 30일간 쓸 수 있으니 써 보고 필요하시면 구매하시면 되겠습니다.

4. Jriver media server
 - PCfi하시는 분들 사이에선 유명한 프로그램입니다. 이 역시 영상, 사진을 동시에 관리할 수 있고, 플레이어 프로그램으로서도 훌륭하다고 합니다. 트라이얼판으로 깔아서 잠깐 사용을 해 봤습니다만 저에겐 좀 과한 기능이라는 느낌이 들더군요. 유료 프로그램이며 피오당이라는 사이트에서 두달에 한번정도 공구를 합니다. 이를 이용하는게 저렴하게 구매할 수 있는 방법입니다. 

결론적으로 저는 Foobar2000을 사용하고 있습니다.


* 푸바를 미디어 서버로 세팅하기
1. 푸바를 미디어 서버로 사용하기 위해 우선 Media Library에 음원을 추가합니다.


Preference - Media Library에서 음원이 저장된 경로를 추가합니다.
Exclude는 라이브러리에서 제외할 파일 형식을 지정할 수 있습니다.
log와 cue파일이 포함된 음원이 있으시다면 꼭 *.cue와 *.m3u는 추가하시기 바랍니다.
bubbleupnp에서 실존 파일이 아닌 cue파일 내의 리스트를 인식하는 문제가 생깁니다.
그리고 여러 파일 형식을 지정할 때 구분자로 세미콜론(;)을 써야 한다는 점! (이것 때문에 꽤 고생했어요...ㅠㅠ)

2. foo_upnp 플러그인을 설치합니다.
푸바를 upnp서버로 만들어주는 플러그인을 받아서 설치합니다. (다운로드 페이지)
Preference - upnp - Server - Basic Settings - Network name 에서 서버명을 알아보기 쉬운 이름으로 바꿉니다.
이외의 설정은 굳이 만질 필요는 없습니다.
Server Start/Stop 버튼을 통해 작동을 조작할 수 있습니다.
서버를 끄지 않도록 합니다.

Media Renderer 기능은 필요가 없다면 Stop server 버튼을 눌러서 정지 시키셔도 무방합니다.

3. 푸바 미디어서버는 푸바가 실행중일때만 접속이 가능합니다. 
저는 푸바를 시작프로그램에 등록해 두고 트레이로 최소화 옵션을 사용하고 있습니다.


* 컨트롤 프로그램
upnp 플레이어도 다양한 앱들이 존재합니다.
이 역시 몇가지를 써 봤고 거기에 대한 평은 다음과 같습니다.

1. Bubbleupnp (Android)
 - 최고입니다. 기능도 부족함이 없고 디자인도 상당히 깔끔합니다. 스킨 기능을 지원하지는 않지만 기본적이 심플하고 군더더기 없는 디자인입니다. 윈도우, 리눅스를 지원하며 일부 NAS용 서버 프로그램도 지원하고 있습니다. 유료인게 조금 아쉽긴 합니다만 구매를 후회해본적이 없는 앱입니다. 트라이얼버전이 있으니 사용해 보시고 구매하시면 되겠습니다.

2. PlugPlayer (iOS)
 - iOS용으로는 이 프로그램을 추천할만 합니다. 외부에서 접속 가능한 upnp앱 자체가 iOS에는 거의 없습니다. 검색을 해 봐도 PP를 추천하시는 분을 많이 보실 수 있을 것입니다. 이 역시 유료앱이며 치사하게 아이패드용과 폰 용을 따로 판매합니다 -_-
위에서 설정한 푸바서버를 PP에서 접속하는 방법은 좋은 포스팅들이 많이 있으서 따로 설명하지 않을게요.

3. MediaConnect (iOS)
 - 무료라는점이 장점입니다만 외부에서 접속하는 기능은 없습니다. 집 안에서만 upnp를 활용하신다면 굳이 유료인 PP를 사용하실 필요는 없으실 것 같습니다. 앱의 완성도 자체는 PP보다 좋다고 느껴지는 부분도 있습니다.


* Bubbleupnp 사용하기
1. PC에 서버 프로그램 설치 및 세팅
bubbleupnp(이하 버블)은 서버 프로그램을 설치해 줘야 합니다. 외부 네트워크에서 접근 등을 위한 것 같습니다.
다음의 링크에서 서버 프로그램을 다운받고 설치합니다. (다운로드 페이지)

설치가 완료되면 시작메뉴에 Server start, Server stop, configuration 세 가지 아이콘이 생깁니다.
말 그대로 버블 서버를 시작, 중지시키거나 설정화면으로 가는 바로가기입니다.
configuration을 실행시키면 웹브라우저를 통해 설정 화면으로 접속하게 됩니다.



설정이 어려운 것은 없으니 필요한 것만 집고 넘어가겠습니다.


[Network and Security]
Public host name을 입력합니다.
사용하고 계신 DDNS 주소를 입력하면 됩니다. (DDNS가 뭔지 모르시겠다면 검색! 설명하자면 길어요 ㅠㅠ)
서버 접속을 위한 ID와 PW를 설정합니다.
필수 사항은 아니지만 해 두시는게 보안을 위해 좋을 것 같습니다.
그리고 Allow to access the server from the internet 항목은 꼭 체크를 해 주세요.
여기에 체크를 안하면 내부망에서만 접속이 가능해집니다.

[Media Server]
푸바의 upnp 설정을 제대로 하셨고 푸바가 동작중이라면 푸바아이콘과 설정한 서버명이 보일겁니다.
푸바서버를 선택하시고 Make this Media Server available~~ 항목에 체크를 해 줍니다.
이 항목에 체크를 안하시면 역시 내부망에서만 접속이 가능합니다.

[Status]
설정을 마치고나면 이 항목에서 Internet Connectivity Test를 통해 외부망에서 접속이 가능한지 확인을 합니다.


2. 앱 다운로드
플레이스토어에서 bubbleupnp앱을 설치합니다. 무료 프로그램을 먼저 설치하고 정식버전 구매를 원하시면 인증용 앱을 구매하는 방식입니다.


3. 설정




좌측 상단의 메뉴 버튼을 누르거나 좌측 모서리에서 스크롤을 하면 패널이 하나 뜹니다

여기서 Rederer와 Library 선택이 가능하고 아래쪽에 설정으로 들어갈 수도 있습니다.
그리고 버블은 뒤로가기 키 만으로 종료가 되지 않습니다. 완전 종료를 원하시면 이 패널의 Exit 버튼을 이용하시면 됩니다.


버블이 지원하는 기능이 많아 설정이 굉장히 많습니다만 이번 포스팅에선 네트워크 관련된 부분만 볼게요.


[Networks and settings]

외부 네트워크에서 서버의 음악을 듣기 위한 세팅입니다.
setup network wizard를 이용해서 서버 세팅을 먼저 하시길 추천합니다.
서버 세팅을 하고나면 상단에 세개의 슬롯 중에 설정한 세팅이 보이실겁니다.

Music Playback transcording to local renderer 섹션에서 Mobile Max Bitrate와 WiFi/Eth max Bitrate는 설정을 해 주세요.
모바일은 말 그대로 3G나 LTE망을 이용해 음악을 들을 때 음질을 선택하는 옵션입니다. 높은 비트레이트를 선택하면 데이터를 많이 쓰게 되고 네트워크가 느린 경우 끊기는 경우도 늘어나겠죠?
저는 128로 설정을 해 두고 있습니다.
와이파이/이더넷은 서버가 있는 네트워크가 아닌 외부 와이파이 혹은 유선망을 이용할 때의 옵션입니다.
저는 그냥 트랜스코딩을 안하는 옵션으로 사용중입니다. flac파일도 끊김없이 스트리밍 가능하더라구요.
물런 지하철 와이파이는 제외...

옵션을 보시면 아시겠지만 버블은 비디오 재생도 지원합니다.
버블에선 데이터 스트리밍만 하고 재생은 외부 플레이어 앱을 이용하는 방식인데요.
이를 이용하려면 비디오도 지원하는 미디어 서버 프로그램을 쓰셔야 합니다.
윈도우 미디어 플레이어가 비디오도 지원을 하지만 mkv파일을 지원안하는게 함정...
저는 음원만 이용하고 있습니다.

4. 사용하기
i) 컨트롤 패널에서 원하는 렌더러와 라이브러리를 선택합니다.
+ Renderer: 소리가 나오는 장치를 말합니다. 네트워크 오디오를 선택하거나 Local Renderer를 선택하면 스마트폰 혹은 패드의 스피커/이어폰으로 음악 감상이 가능합니다.
+ Media Library: 미디어 서버를 선택합니다. Local Server를 선택하면 디바이스 내에 있는 음원, 영상의 재생도 가능합니다.
서버 외부접속을 설정해 둔 상태에서 내부망으로 접속하게 되면 내부/외부 두개의 라이브러리가 뜹니다. 내부망의 라이브러리는 따로 설정없이 자동검색으로 뜨게 되고, 외부설정 라이브러리는 끝에 주황색으로 설정된 이름이 하나 더 붙어서 구분이 가능합니다.
어떤 라이브러리를 선택하셔도 무방합니다.

ii) 컨트롤 패널에서 라이브러리를 검색하셔도 되고, 패널을 빠져나오신 후 Library 화면을 이요하셔도 됩니다.



라이브러리 패널입니다.
상단에 보시면 선택한 미디어 라이브러리의 이름이 뜹니다.
이 패널에서 라이브러리를 선택할 수도 있습니다.

두번째 폴더인 미디어라이브러리를 선택하시면 아이팟처럼 분류가 나와서 원하는 음악을 찾을 수 있습니다.
푸바를 사용할 때 장점중 하나는 'folder' 리스트가 있어서 PC의 폴더 스트럭쳐를 그대로 찾아 들어갈 수 있습니다.



* 마무리

세팅을 다 했으면 음악을 즐기면 됩니다. ㅎㅎ
타블렛에서 bubbleupnp를 실행시키고 렌더러로 Marantz M-CR603을 선택하고 서버 컴퓨터의 라이브러리를 선택합니다.
렌더러와 서버는 마지막 설정값을 기억하기에 매번 이 과정을 반복해야 하는 것은 아닙니다.

Library 메뉴에서 듣고싶은 음악을 선택하고 재생을 하면 오디오를 통해 PC의 음원이 재생되게 됩니다.

좀 복잡해 보일 수 있으나 한번 세팅을 해 두면 밖에서도 사용할 수 있고 여러모로 편하게 음감을 할 수 있습니다.


이상으로 저의 음감 시스템 소개를 마칩니다.