2020년 2월 5일 수요일

라즈베리파이에서 Subsonic 설치

라즈베리파이를 오디오 스트리밍 서버로 사용하기 위해서는 서버에 Subsonic 같은 패키지를 설치하고 휴대폰이나 노트북에는 클라이언트를 설치하여 사용한다. 저는 아이폰에 iSub 을 사용하고 있다.

Subsonic을 설치하는 방법은 단순하고 별 어려움이 없다. 아래 과정을 하나하나 실행하면 된다.

설치 방법

설치된 패키지들이 새로운 버전이 있는지 확인하고 최신 버전으로 업그레이드해준다.
sudo apt-get update
sudo apt-get upgrade



자바를 설치한다.
sudo apt-get install openjdk-8-jre



Subsonic 설치파일을 받는다. 여기가 공식 사이트이다. 설치과정 및 설정방법이 설명되어 있다. 현재 최신 버전은 6.1.6이지만 혹시 더 최신 버전이 있는지는 다음에서 확인할 수 있다. 우리가 사용할 버전은 Debian/Ubuntu 버전이다.  만약 더 최신 버전이 있다면 아래 링크를 수정하여 실행한다.
sudo wget -O http://www.subsonic.org/pages/download2.jsp?target=subsonic-6.1.6.deb



받은 패키지를 설치한다.
sudo dpkg -i subsonic-6.1.6.deb


이후 사용자를 생성하고 subsonic 환경설정파일에서 root 대신 이 사용자로 변경한다.

sudo adduser subsonic audio



SUBSONIC_USER=root 에서 SUBSONIC_USER=subsonic 으로 변경
sudo nano /etc/default/subsonic



서비스를 재시작해준다.
sudo service subsonic restart

그런 후에 웹에서 http://localhost:4040 를 열어보면 아래와 같은 초기 설정화면이 보이면 일단 설치는 되었다.





이후 admin 계정의 패스워드를 수정하고, 설정의 미디어 폴더 메뉴에서 미디어 폴더를 원하는 곳으로 지정하고 "Scan Media Folders Now"를 한다. 저같은 경우에는 마운트되어있는 외장 SSD로 지정하였다. 웹에 화일들이 잘 보이면 곡들을 선택하여 들어보자.

오류 및 해결책

현재 한가지 문제는 위 설치방법대로 하면 flac파일들이 재생이 안된다. 아마도 설치한 패키지가 Debian/Ubuntu 버전이어서 라즈베리파이에는 잘 맞이 않는것 같다.

로그화일을 보면 Syntax error가 뜬다. 이 로그는 기본으로 사용하는 ffmpeg 이 안되서 lame으로 바꿔서 lame에서 문제가 있는것 같지만 ffmpeg도 동일하다.
cat /var/subsonic/subsonic.log

[2020-02-04 22:27:00,825] INFO InputStreamReaderThread - (/var/subsonic/transcode/lame) /var/subsonic/transcode/lame: 1: /var/subsonic/transcode/lame: Syntax error: "(" unexpected

따라서 라즈베리용으로 다시 설치하자.
sudo apt-get install ffmpeg
sudo rm /var/subsonic/transcode/ffmpeg
sudo ln -s /usr/bin/ffmpeg /var/subsonic/transcode/ffmpeg

sudo service subsonic restart

이제는 문제없이 실행이 될 것이다!


참조
http://www.subsonic.org/pages/installation.jsp#debian
http://pmdzsite.online.fr/index.php?article17/subsonic-on-raspberry-pi-3