mp3ファイルはsambaに置いているので、複数台のPCからファイルを読み出すことに問題はないのですが、iTunesでの共有は上手くいきません。ネットワーク上のファイルをiTunesに登録させると、何故かiTunesがすぐにファイルを見失ってしまうことが多く、使い物になりませんでした。いろいろ試してみましたが、やはりiTunesでのファイル共有はsambaよりDAAPが良いでしょう。
慣れてるFreeBSDで構築します。さくっと必要なソフトをインストール。
# cd /usr/ports/net/howl/
# make install
# cd /usr/ports/audio/libid3tag
# make install
# cd /usr/ports/audio/mt-daapd
# make install
# cd /usr/local/etc/
# mv mt-daapd.conf.sample mt-daapd.conf
mt-daapd.confを編集。
web_root /usr/local/apache2/htdocs/mt-daapd
mp3_dir /usr/home/samba/public/mp3
で、起動しようとしたらエラー。
# /usr/local/etc/rc.d/mt-daapd.sh start
Invalid config directive:
Error reading config file (/usr/local/etc/mt-daapd.conf)
mt-daapd
調べてみたところ、
空行とコメントを全て削除すればいいらしいので、mt-daapd.confを下記のようにしてみました。
web_root /usr/local/share/mt-daapd/admin-root
port 3689
admin_pw hoge
db_dir /usr/local/var/mt-daapd/db
mp3_dir /usr/home/hoge/mp3
servername mt-daapd
runas daapd
extensions .mp3,.m4a,.m4p
logfile /var/log/mt-daapd.log
結果、あっさり起動。いい加減だなぁ。
同一ネットワーク上にあるクライアントマシンのiTunesを再起動すると、少しの時間を置いてから左ペインにmt-daapdが表示されます。わくわくしながらクリックすると・・
この共有された音楽ライブラリ"mt-daapd"はこのバージョンのiTunesと互換性がありません。
というエラー。・・・うーむ。
Google先生に聞いたところ
mt-dappdのバージョンによってはiTunes5に対応していないらしいので、portsを最新版にしてから再度mt-daapd(0.2.3)をインストール。
# wget ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
# tar zxvf ports.tar.gz -C /usr
# cd /usr/ports/audio/mt-daapd/
# make install
これで解決。iTunesからmp3_dirで指定したディレクトリ以下のmp3ファイルが見えるようになりました。
しかしこの段階だとまだファイルは文字化けしまくりです。
対策として、
mt-daapd ShiftJIS/UTF-8両対応パッチを当ててインストールします。
まずlinuxthreadsを入れておく。(入れないとFreeBSDではmakeできませんでした)
# cd /usr/ports/devel/linuxthreads
# make install
portsにパッチを当てて強引に入れる。
# cd /usr/ports/audio/mt-daapd/
# wget http://ouchi.nahi.to/~kaidempa/mt-daapd/mt-daapd-0.2.1.1-cp932-3.patch
# make clean
# make extract
# cd work/mt-daapd-0.2.3/
# patch -p1 < ../../mt-daapd-0.2.1.1-cp932-3.patch
# ./configure --with-gdbm-includes=/usr/local/include --with-gdbm-libs=/usr/local/lib
# vi src/Makefile (LDFLAGSの行を以下のように変更)
LDFLAGS = -L/usr/local/lib -lgdbm -lid3tag -lz -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads -llthread -llgcc_r
# cd ../../
# make install
曲リストを再構築するためにsongs.gdbを削除
# rm /usr/local/var/mt-daapd/db/songs.gdb
再度起動する。
# /usr/local/etc/rc.d/mt-daapd.sh start
これでめでたくShift_JISのファイルがiTunesで見え・・・・・・ません。Σ(゚Д゚)
一部のファイルは見えるようになりますが、私のmp3ファイルの9割以上はこのパッチを当てても文字化けした状態でした。この辺は
いろんな事情があるみたいですけども、いろいろ試してもうまくいかないのでID3タグを変換してしまうことに。
SuperTagEditor 改造版を用いてID3タグをUTF-8に変換します。
私の場合はID3v1.0のタグが多かったので、SuperTagEditor 改造版でmp3のあるフォルダを開いてから、
[変換] - [ID3v2形式に変換]でID3タグのバージョンを変えた後、ファイルの選択はそのまま [ID3v2のバージョン/文字コードの変換] - [文字エンコード] - [UTF-8]でエンコードをUTF-8に変換します。複数のファイル、複数のディレクトリを一括変換できるので便利。これでも変換できないものは一度別の形式に変換したりすると最終的にこの方法でうまくいきました。
結局パッチを当てた意味は全くなくなってしまいましたが、これで1000曲以上の全てのmp3ファイルがiTunesの共有プレイリストとして正常に読み込めるようになりました。Mac、Windowsの複数のマシンで共有できるので便利ですし、今後もいろいろと工夫できるので楽しそうです。
※追記(2006/04/03)
iTunesを6.0.4にupdateしたらdaapdが使えなくなっていました。mt-daapd 0.2.4でfixされています。
portsになっていないので、以下のように手動でいれました。もはやパッチは当てていません。
# wget http://jaist.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.tar.gz
# tar zxvf mt-daapd-0.2.4.tar.gz
# ./configure --with-gdbm-includes=/usr/local/include --with-gdbm-libs=/usr/local/lib
# make
# make install
# /usr/local/sbin/mt-daapd -c /usr/local/etc/mt-daapd.conf