본문 바로가기

음악/오디오/음악 관련

타이달 (Tidal) 재생 문제 및 해결 (우회) 방법

반응형

 

# 2020-06 업데이트

혹시나 아래 방법 (Linn Kazoo등을 통한 방법) 으로 타이달을 들어야만 하시는 분이 계실까봐 무드오디오 포럼에 올라와 있는 방법을 공유 합니다. 

문제의 원인은 upmpdcli 라이브러리에 포함된 타이달 로그인 토큰이 바뀌었기 때문인데, 아래 방법을 사용하면 토큰이 업데이트 되어 다시 사용이 가능하다고 합니다.

다만 사용 중에 토큰이 또 바뀔 수도 있는데 그럴 때는 아래 단계를 다시 한번 거쳐야 합니다.

(소스 : http://moodeaudio.org/forum/showthread.php?tid=2528&pid=20795#pid20795)

 

putty 를 이용해서 moode audio에 터미널로 접속한 후 다음 명령어를 실행합니다. 

 

1
2
3
4
git clone https://framagit.org/medoc92/upmpdcli
token=$(grep self.preview.token upmpdcli/src/mediaserver/cdplugins/tidal/tidalapi/__init__.py | sed -'s/.* \"//' -'s/\" .*$//')
sudo sed -"s/self.api_token.*/self.api_token = '$token'/" /usr/share/upmpdcli/cdplugins/tidal/tidalapi/__init__.py
rm -rf upmpdcli
cs

 

# 2020-05-17 업데이트

4월 말경 아카마이의 QOS세팅이 업데이트 되었는지 타이달 속도/끊김 문제는 거의 없어진 것 같습니다. (물론 언제 또 발생할지는 아무도 모르지만요)

 

그런데 이 문제와는 전혀 관계 없이, 더 이상 무드오디오에서  Linn Kazoo등을 통해 타이달을 자체 지원했던 부분이 더이상 안되는 현상이 발생 하고 있습니다. 

무드오디오에서 타이달을 지원했던 부분이 타이달의 정식 지원이 아니라 upmpdcli라는 외부 라이브러리를 사용했던 부분인데 타이달에서 이부분을 막은 것 같아요. 이제는 더이상 (현재 시점에서는) 이 방법으로 라즈베리파이를 통해서 타이달을 이용할 수는 없습니다. 

하지만 QOS문제가 해결이 되었으므로 다른 UPNP 앱을 통해서 타이달 사용은 계속 가능합니다.

  • 안드로이드 폰 : Bubble UPNP 앱 등 DLNA 사용
  • 아이폰 : DLNA앱 혹은 타이달 앱을 애플 에어플레이 사용하여 전송

 

=========================================================================

 

최근 (2020년 3월) 들어 타이달이 국내에서 거의 재생 불가능할 정도로 끊기는 현상이 발생하고 있습니다.

조금 그러다가 말겠거니 했는데 전혀 개선될 기미가 보이지 않아 네이버 카페에서 공유된 정보를 이용한 부분적 해결책을 적어 봅니다.

 

다들 알고 계시겠지만 타이달은 국내에서 정식 서비스를 제공하지 않습니다. 그래서 한국에서 타이달 서비스를 이용하기 위해서는 VPN 서비스 등을 이용해 해외 아이피로 타이달에 접속한 후 해당 국가의 타이달에 가입한 후 서비스를 이용하게 됩니다.

돈을 내고 이용하는 것이라 불법이라 할 수는 없지만 타이달 입장에서는 사용자가 국가를 고의로 실제와 다르게 지정하여 가입한 것으로 볼 수 있어 이를 막기 위해 CDN단에서 QOS(속도 제한)를 설정한 것이 아닐까 하는 게 제 추측입니다.

CDN이란 타이달이나 스포티파이등 글로벌 스트리밍 서비스가 사용하는 또 다른 서비스로서 전 세계에 서버를 두지 않고서도 스트리밍 데이터를 효율적으로 제공하는 역할을 하며 AKAMAI 등의 업체가 대표적입니다.

타이달도 아카마이의 CDN을 사용하는 것으로 보이는데, 한국에서 타이달을 접속하는 경우 매우 느린 속도로 데이터를 제공하는 것이 확인되었습니다. (저는 LG U+ 인터넷을 사용하는데, KT나 SKT 등 다른 인터넷에서는 상태가 괜찮다는 이야기도 있습니다. 아카마이의 CDN 서버가 각 ISP의 데이터센터에 모두 존재하기 때문에 ISP별로 QOS세팅 등이 다를 수도 있지요)

 

이를 해결하기 위해서 가장 쉬운 방법은 VPN을 이용하는 것입니다. 

하지만 VPN에도 단점이 있습니다.

  • 제대로 된 VPN은 대부분 유료이고, 무료 VPN은  보안상 취약점이 많음
  • 스마트폰이나 PC에서는 비교적 사용이 쉽지만 네트워크 플레이어에는 사용이 어렵거나 불가능함

저는 스마트폰의 앱을 이용해 라즈베리파이의 볼루미오로 타이달 음원 전송을 이용했는데, 스마트폰에 VPN을 적용하는 방식으로는 끊김 문제를 해결할 수 없었습니다. 

그래서 고민을 하다가, 무드오디오 ( https://moodeaudio.org )에서 타이달을 지원하는 것이 생각나서 다음과 같은 방식으로 테스트해 보았더니 끊김 없이 잘 재생되는 것을 확인했습니다. 

 

  1. 라즈베리파이에 무드오디오 설치
  2. 무드오디오에 타이달 계정 정보 입력:
    Configure > Audio > UPnP/DNA > UPnP Config > TIDAL
  3. 무드오디오 터미널에 접속하여 /etc/hosts 파일 설정 변경 (아래 라인 추가)
    23.218.94.154  sp-pr-ak.audio.tidal.com sp-ad-ak.audio.tidal.com sp-ad-ak.audio.tidal.akadns.net secure.tidal.com.akamaized.net a1874.dscv.akamai.net
  4. 무드오디오 시스템 재시작
  5. LINN KAZOO등의 UPnP 컨트롤 앱을 통해 타이달 재생

 

여기서 핵심은 3번, 타이달에서 사용하는 아카마이 CDN 서버의 아이피 주소를 해외 아카마이 서버의 주소로 변경하는 것입니다. 

타이달을 무드오디오에서 재생한 후 라즈베리파이에 ssh terminal로 접속하여 80 포트로 연결된 네트워크 세션을 확인해 보면 (netstat -an|grep :80 명령어 사용) 현재 접속된 아카마이 서버의 아이피를 확인할 수 있습니다. 해당 아이피를 https://www.iplocation.net/ 등의 사이트에서 확인해 보면 국내 (특히 본인이 사용 중인 ISP의) CDN 서버에 접속돼 있을 텐데요, (위 작업 수행 전에 확인 시)

sudo tcpdump -l port 53 명령어를 터미널에 띄워 놓은 상태로 타이달을 재생시켜 보면 DNS로 특정 타이달 호스트의 아이피를 찾는 query를 확인할 수 있습니다.

그때 보이는 타이달 오디오 호스트네임을 위에서 설명한 것처럼 /etc/hosts 파일에 넣어서, 일본의 아카마이 CDN아이피 주소로 매핑하면 되는 거죠.

정상적으로 위의 단계를 적용하고 netstat명령어를 이용해 보면 이제는 해외 CDN으로 접속하고 있는 것을 확인할 수 있습니다.

위 단계를 적용하고 나면 이제 타이달을 통해 끊김 없이 음악을 감상할 수 있습니다. 

반응형