當初在我還沒有 MacBook 的時候,就已經開始用 iTunes 在整理我的音樂資料庫了,不得不說 iTunes 的確是一個非常好用的工具,不只是音樂檔案本身的分類、命名,還可以整合 id3 標籤、插圖、歌詞,更不用說還有好用的智慧型撥放列表了。
但是,
這只限於我們自己的電腦上面播放,如果我們想要讓家人、同事、同學也可以用 iTunes 播放這些音樂,又不想老是開著自己的電腦跟 iTunes 來分享,要怎麼辦呢 ???
Apple 在 iTunes 4.0 版加入了 DAAP (Digital Audio Access Protocol) 的協定,用來提供 iTunes 共享的功能,讓大家可以從別台電腦的 iTunes 播放這台電腦的音樂。由於 Apple 並沒有開放這個協定的細節,而是被網友以 逆向工程 (Reverse Engineering) 的方式實作出來,所以功能十分陽春。
因為這是用來分享 iTunes 的音樂,才被稱為 iTunes Server,許多 NAS 廠商也已經加入了這個功能,如 Synology 與 QNAP。最早被實作出來的套件叫 mt-daapd (後來改名為 firefly),雖然已經很久沒有更新了,目前依然可以配合 iTunes 使用,而且安裝及設定容易,所以我們還是選擇它來實作 iTunes Server 的功能。
這裡將使用 CentOS 6.5 x86 來實作,讓 iTunes 12.1 來播放音樂。
注意事項
- 不使用 iTunes 播放音樂的朋友請左轉,iTunes Server 對你沒有任何用處。
- 只能用來讓 Windows 或 OS X 的 iTunes 播放音樂,沒有其他功能。
- 類似功能的套件還有 forked-daapd、Tangerine、ampache。
安裝主程式
由於 mt-daapd 很久沒有更新版本,最後的版號是 0.2.4.2,所以不需要專程自己去下載原始檔來編譯及安裝,直接透過 EPEL 套件庫來安裝就可以了。
如果還沒安裝過 EPEL 套件庫的話,就先將它安裝好,並且更新一下套件庫的資料。
yum -y install epel-release
yum -y update
開始安裝 mt-daapd。
yum -y install mt-daapd
中間過程省略 ...
如果沒有安裝過 netatalk、avahi 等相關服務,記得也要安裝並設定好,請參閱 用「偽 AirPort Time Capsule」讓 OS X 執行 Time Machine 來備份,唯一的不同只有 avahi 的設定。
vi /etc/avahi/service/mt-daapd.service
加入下列內容。
<?xml version=”1.0″ standalone=’no’?>
<!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_daap._tcp</type>
<port>3689</port>
</service>
</service-group>
設定重要參數
主要設定檔在 /etc 目錄下的 mt-daap.conf,有一些必須視需求調整的參數。
vi /etc/mt-daapd.conf
「port」: Web 介面的通訊埠,預設值是 3689,除非有有特殊原因,否則不應修改。
「admin_pw」: Web 介面的密碼,帳號是 admin 無法修改,預設的密碼是 mt-daapd,視需求修改。
「db_dir」: 儲存 MP3 清單資料庫的目錄,視需求修改。
「mp3_dir」: 儲存 MP3 檔案的目錄,這個是最重要的參數,要分享的 MP3 檔案就是要複製到這個目錄裡面,視需求修改。
「servername」: 顯示在 iTunes 裡的名稱,視需求修改。
「rescan_interval」: 自動在背景掃瞄 MP3 檔案的頻率,單位為秒,需配合「alway_scan」參數才會生效。預設是 300 秒,如果不會時常加入 MP3 檔案,建議改久一點,以減少 CPU 及 HDD 的負擔。
「alway_scan」: 是否啟用自動背景掃瞄,若未啟用,當我們加入新的 MP3 檔案時,必須要手動重新掃瞄,才會更新 MP3 檔案清單。
「scan_type」:自動背景掃瞄的類型,視需求修改。
啟動服務
mt-daapd 不會自動產生相關目錄及檔案,所以我們必須自行建立,請記得要跟設定檔的參數相同。
建立 MP3 檔案及清單資料庫的儲存目錄。
mkdir /mnt/itunes-server/mp3
mkdir /mnt/itunes-server/mp3-db
產生空白的播放清單檔案。
touch /mnt/itunes-server/mt-daapd.playlist
讓 mt-daapd 在開機時自動啟動。
chkconfig mt-daapd on
確認自動啟動是否設定成功,看到 mt-daapd 出現「3:開啟 4:開啟 5:開啟」就代表成功了。
chkconfig
測試一下是否能正確的啟動,看到綠色的「確定」就成功了。
service mt-daapd restart
開啟 Web 介面
確認 iTunes Server 的 IP 位址,這裡看到了「192.168.88.21」。
ifconfig
打開瀏覽器,在位址列輸入 iTunes Server 的 IP 位址,帳號是 admin,密碼則是輸入在設定檔裡「admin_pw」的設定值。
帳號密碼輸入正確,就可以進行 Web 介面了。
我們可以在「config」頁面看到所有參數的設定值。
在「status」頁面則是可以看到三個表格。
- 顯示所有正在連線中的使用者清單及執行中的動作。
- 相關服務的狀態,「DAAP Server」顯示服務是否啟動中 (running),「Background scanner」代表是否正在背景掃瞄 MP3 檔案。
若要手動掃瞄 MP3,就請按下「Start Scan」按鈕。 - 服務的相關資訊,包括總上線時間、MP3 檔案總數量、播放中的 MP3 數量、MP3 清單更新次數。
使用 iTunes 播放
打開 Windows 或 OS X 的 iTnues 之後,就會看到左上角出現了 家庭共享 的按鈕。
點選按鈕之後,就可以看到我們的 iTunes Server,顯示的名稱就是在主設定檔中「servername」的設定值: My iTunes Server。
選擇共享的 iTunes Server,iTunes 就會開始連線,讀取 MP3 清單資料庫。
讀取完畢之後,就會看到 ITunes Server 裡的 MP3 清單了。
最後,只要把 MP3 複製到 iTunes Server 的 MP3 儲存目錄,也就是主設定檔裡「mp3_dir」設定的目錄裡,再經過掃瞄產生 MP3 清單之後,就可以看到分享出來的 MP3 檔案了。
參考資料
- Multi-Threaded DAAP Daemon
- Mobile01 - 【學習筆記】我的音樂收藏 - QNap NAS iTunes 伺服器
- LINUX HOME SERVERGUIDE - Installing an iTunes Server with the Firefly DAAP Server
- QNAP - 在 QNAP NAS 上設定 iTunes 音樂服務
更新紀錄
- 2014/11/07 撰文。
哥们,我现在用的是Ubuntu16.04的系统,但是不再是mt-daapd,取而代之的是forked-daapd,来自源自带的包,配置完了web界面打不开,日志提示 httpd: Could not lstat() /usr/share/forked-daapd/webface: No such file or directory;也不支持自动扫描文件时间调整,甚至连mp3的id3标签都无法显示,请问怎么解决这些问题?
回覆刪除Ubuntu 我不熟,forked-daapd 也還沒實作過,所以不太清楚你遇到的問題。
刪除我的电邮 zjc877@outlook.com
回覆刪除