안녕하세요? 내일 리눅스 펌웨어 작업을 위해서 제가 원하던 것 까지 구축을 완료 하였습니다.
MPD 와 USB DAC 연동이 좋기 때문에 어쩔 수 없이 MPD 를 이용하여 UPNP 렌더러를 구성해야 했는데요.
포담님 글을 사알짝 염탐해본 결과 렌더러로 gmediarender 를 쓸 수 있다는 것을 알았습니다.
그러나, 이게 잘 안되더라구요. 그래서 upnp -> MPD 컨트롤이 가능한 upmpdcli 를 설치하여 연동해 보았습니다.
컴파일 과정으로 해결이 가능하나 항상 U5 는 라즈베리파이의 도움으로 무럭무럭 성장하고 있기 때문에 그냥 만들어진 패키지를 설치해 보겠습니다.
1. 기본 동작 매커니즘
Bubble UPNP / 각종 DLNA 지원 앱 -> upmpdcli -> MPD 컨트롤
벅스뮤직이나 다른 여타 앱으로 음성 전송이 가능합니다.
그리고 Bubble UPNP 는 특이하게 Tidal 과 구글뮤직 / 구글 드라이브와 연동해서 작동이 가능하네요.
음원을 전송하게 되면 MPD 에서는 자동으로 해당 음원을 재생하는 모드로 바뀝니다.
2. 설치하기
에러가 나지만 그냥 넘어갑니다.
root@AOL-Debian:~/upmpdcli# nano /etc/apt/sources.list
# upmpdcli
deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ jessie main
deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ jessie main
root@AOL-Debian:~/upmpdcli# apt-get install upmpdcli
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libjsoncpp0 libmicrohttpd10 libupnpp4
The following NEW packages will be installed:
libjsoncpp0 libmicrohttpd10 libupnpp4 upmpdcli
0 upgraded, 4 newly installed, 0 to remove and 4 not upgraded.
Need to get 745 kB of archives.
After this operation, 2,875 kB of additional disk space will be used.
Do you want to continue? [Y/n]
WARNING: The following packages cannot be authenticated!
libupnpp4 upmpdcli
Install these packages without verification? [y/N] y
미리 제가 만들어둔 설정파일을 복사합니다.
root@AOL-Debian:~/upmpdcli# wget https://github.com/djjproject/android_over_linux/raw/master/upmpdcli.conf
--2018-09-13 06:09:56-- https://github.com/djjproject/android_over_linux/raw/master/upmpdcli.conf
Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/djjproject/android_over_linux/master/upmpdcli.conf [following]
--2018-09-13 06:09:57-- https://raw.githubusercontent.com/djjproject/android_over_linux/master/upmpdcli.conf
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 57 [text/plain]
Saving to: ‘upmpdcli.conf’
upmpdcli.conf 100%[=====================================>] 57 --.-KB/s in 0s
2018-09-13 06:09:58 (8.88 MB/s) - ‘upmpdcli.conf’ saved [57/57]
root@AOL-Debian:~/upmpdcli# cp upmpdcli.conf /etc/upmpdcli.conf
root@AOL-Debian:~/upmpdcli#
root@AOL-Debian:~/upmpdcli# service upmpdcli restart
[ ok ] Restarting upmpdcli: upmpdcli.
root@AOL-Debian:~/upmpdcli#
root@AOL-Debian:~/upmpdcli# netstat -nlp | grep upmp
tcp 0 0 0.0.0.0:49153 0.0.0.0:* LISTEN 19508/upmpdcli
tcp6 0 0 :::49152 :::* LISTEN 19508/upmpdcli
udp 0 0 0.0.0.0:1900 0.0.0.0:* 19508/upmpdcli
udp 0 0 127.0.0.1:54435 0.0.0.0:* 19508/upmpdcli
3. 사용해보기
일단 U5 AndroidOverLinux 펌웨어에는 AirPlay 는 기본적으로 탑재 되어 있어서 아래와 같이 기기 검색이 됩니다.
기본적으로 DMS 로 MiniDLNA / Plex DLNA Server 를 가지고 있습니다. 그렇기 때문에 DMC 를 통해 자체적으로 재생도 가능합니다.
상기 앱으로는 잘 작동이 되지 않더군요. 그래서 Bubble UPNP 앱을 사용해서 재생해 보았습니다.
아래처럼 AOLMPD 가 선택이 가능합니다.
한편, Bubble 앱은 구글 드라이브 , 구글 뮤직 , Tidal 을 소스로 사용해서 전송할 수 있습니다. 물론.. 데이터 사용량은 2배가 되지만요.
휴대폰에서 다운받고 -> UPNP 를 통해 U5 로 전송 -> upmpdcli 가 받고 mpd 를 컨트롤 하여 재생합니다.
FLAC 파일과 DSD64 음원을 재생해 보았습니다. 이때 재생하고 있던 MPD 음악이 중단되고 선택된 음악으로 재생됩니다.
상기 파일 이름이 특이한 이유가.. 구글 드라이브 파일명을 그대로 전송하는 것 같습니다. 태그를 읽을 수 있을 경우에는 음악 이름이 표기 됩니다.
그리고 DLNA 연결을 끊으면 MPD 본래의 플레이리스트로 돌아가고 재생 버튼을 누르면 이어서 재생이 가능하네요.
4. 마치며..
저는 구글드라이브를 plexdrive 로 연동하여 MPD 에 음악 라이브러리로 쓰고 있어서..
실제로 이렇게 음악을 들을 일은 없을것 같습니다만, Tidal 이나 구글 드라이브 음원 재생을 원하시는 분들이 많아서 이렇게 한번 세팅해 보았습니다.
내일 리눅스 펌웨어를 제작하고 부득이하게도 ISO / SACD 기능은 빠질것 같습니다.
따로 배포판을 준비해 보겠습니다.
감사합니다.