노트북 하드 디스크 공간이 너무 작아서 주로 음악은 99.9% 리눅스 서버에 있다.

별다르게 itunes말고 mp3플레이어를 설치하기도 귀찮고 이를 이용해서 어떻게 편하게 음악을 들을 방법이 없을까 고민하다가 우연히 iTunes server가 지원되는 NAS들이 있다기에 인터넷 검색을 하니 firefly라는 개발중인 프로그램이 있었다. 그리고 게시물들을 뒤져보니 국내에서도 위 프로그램을 설치해 사용하시는 분이 몇 분 있으셨다.

문제는 나의 경우 리눅스 서버가 서브넷 안에 있는게 아니라서 위의 프로그램이 잘 작동 되려면 브로드 캐스팅 되는 패킷을 가져다 줄 방법이 더 필요했다.

그래서 역시나 검색 결과 이런 일을 하는 무료 프로그램이 하나 더 있었다. 이름하여 chaoticsoftware 사의 Network Beacon

이녀석이 하는 일은 특정 서비스를 프록시로 서비스해주는 것이다. 그래서 이걸 mt-daapd가 브로드캐스팅 되듯이 해 주면 된다. 혹은 firefly포럼의 글에서처럼 터미널에서 서비스등록을 해 주면 된다.


설치 이전에 참고사항으로 아직은 stable빌드가 인코딩을 잘 지원하지 못해서 한글 tag의 경우 와장창 깨어진다.
nightly 빌드는 괜찮더라는 netj님의 미투데이 댓글이 있는데 아직 그리 시원하게 돌아가지 않는듯 하다. 그리고 iTunes특성상 싫어하는 OGG등의 파일들이 플레이가 가능하지 않은데 nightly빌드는 이를 지원하기 위해 wav로 풀어서 스트리밍하는 방법을 지원하려고 노력하는 듯 하다. 관심 있으신 분은 nightly빌드를 사용하시길.
나는 일단 음악을 간편히 듣는데 목적이 있으므로~~ 그냥 안정 버전으로 설치했다.

설지는 간단하다. firefly를 리눅스 서버에 다운받고 압축을 풀어 빌드를 하면 된다. 그리 의존성을 요구하지 않으므로 빌드에 별 무리가 없을 것이다. .ogg등을 지원하는 상위버전은 의존성 요구를 할 지도 모른다.

설치를 하면 실제 음악파일들이 어디 있는지 알려주기 위해서 mt-daapd.conf를 자신에 맞게 수정을 해 주어야 한다. 이 설정은 서비스를 띄운 후 웹에서 수정 가능하다. 설정파일의 디폴트 포트번호는 3689이다.
그리고 추가로 mt-daapd.playlist를 수정하면 mp3태그에 있는 내용을 구분하여 자신이 설정하고 싶은 목록을 작성할 수 있다. 아차 그리고 캐시 디렉토리를 하나 만들어 주라고 메뉴얼에 언급되어 있었다. 나는 디폴트로 /var/cache/mt-daapd 를 하나 만들어 줬다.
설정 후 firefly를 실행해준다.
sudo service mt-daapd start


시작을 했으면 확인을 위해 브라우져에서 지정한 포트번호로 접속해 본다. 그렇게 되면 웹 인터페이스가 뜬다. 물론 관리를 위한 비밀번호를 설정파일에 설정했으면 이를 알려줘야 가능하다.

firefly 웹 인터페이스


그리고 맥에서 Network Beacon을 다운받아서 실행 후 하나의 beacon을 아래처럼 추가한다. 물론 포트 포워딩을 해야하므로 IP를 127.0.0.1로 했고 포트 번호는 mt-daapd의 디폴트 값을 사용했지만 바꾸신 분은 바꾸고 적당히 설정하면 된다.
Network Beacon 설정


그리고 나서 SSH를 이용해 리눅스 서버에 터널링을 한다.
sudo ssh ID@host -L 3689:localhost:3689


터널링이 되면 이제 아까 추가한 비콘을 활성화 한다.
그리고 드디어 itunes를 실행하면~ 아래처럼 추가된 라이브러리를 볼 수가 있다.
아쉽게도 인코딩 문제랑 커버플로우, 태그 수정 등을 지원하지않아 아쉽긴 하다. 그래도 이게 어디인가?
물론 수정을 하고 싶으신 분은 이렇게 하지 말고 iTunes라이브러리 위치를 아예 네트웍 드라이브로 옮기면 된다.
firefly를 이용한 itunes


ps. 터널링은 firefly wiki에 보다 잘 나오는 듯 하다.

한글 문제를 다시 해결하기 위해서 구글링을 하니 ID3 tag의 버전을 올리고 인코딩을 바꾸면 된다는 말에 다시 인코딩 수정 삽질을 해 보았다.

사용한 프로그램은 mp3tag라는 프로그램이다. 이것 말고도 EasyTag나 대체품이 많은데 쓰기 편한게 mp3tag라서 이것을 선택했다.

실험을 해 본 결과 ID3v2.2이상이고 UTF-8 또는 UTF-16으로 인코딩 된 경우 한글이 잘 나옴을 확인했다.
그래서 mp3tag의 설정을 아래처럼 했다.

mp3tag option


설정을 하고 나서 mp3파일들을 프로그램에 떨어뜨리고 모두를 선택한 후 저장하기를 하면 인코딩을 바꾸어 준다.
그렇게 하면 다음과 같이 버전이 올라가 있는 것을 확인 할 수 있다.
mp3tag결과


하고 나서 다시 mt-daapd에 적용해 iTunes에서 연결해 보니 아래처럼 잘 나온다~~

아이튠즈한글인코딩해결

ps. ID3v2.4의 경우 프로그램이 태그를 읽지 못하는 경우가 발생할 수도 있다. 아직 2.4는 많은 프로그램들이 지원하지 못하고 있다. 대표적으로 윈도우의 탐색기는 ID3v2.3까지를 읽어서 표시할 수 있다. 단 ID3v1과 ID3v2.x를 동시에 하나의 mp3파일에 포함시키는게 가능하므로 ID3v1+ID3v2.4의 경우는 ID3v1이 표시된다.
위키를 가보면 버전별 차이가 나오는데 ID3v2.4의 경우 이전버전보다 음악 파일의 끝에 태깅을 할 수 있다는 장점이 있고 ID3v2.3은 '/'을 태그택스트에 넣지 못하는데 ID3v2.4는 null문자를 구분자로 하기 때문에 '/'도 태그택스트에 삽입 가능하다고 한다. 그리고 둘 간에 인코딩 방식이 차이가 있는데 v2.4는 UTF-8로 v2.3은 UTF-16 또는 ISO-8859-1을 사용하도록 되어 있다. 그리고 ID3v2.1~ID3v2.3는 파일의 앞부분에만 태깅 정보를 기록 할 수 있다.


윈도우와 맥을 번갈아가면서 사용할 때는 대중적으로 사용되는 ID3v2.3만을 mp3파일에 태깅하는게 편리할 듯 하다.
Posted by trip2me
,