QNAP TS-659にTwonky Media Serverを入れる

PS3からDLNAで音楽を再生する場合に、PS3 Media Serverを使う場合、FLACのトランスエンコーディングは問題ないのですが、ファイル単位かディレクトリ単位での再生しかできず、あまりに使い勝手が悪いので、メタデータを解釈してくれるTwonky Media Serverを導入しました。

1.Twonky Media Serverを導入

大まかには以下のような手順。

  1. UPnP Media Serverを無効にする
  2. TwonkyMedia 6のQPKGをインストール&有効化
  3. flacのトランスエンコーディング設定
    1. ipkg install flac
    2. /share/MD0_DATA/.qpkg/TwonkyMedia/cgi-bin/flac-wav.desc を編集
    3. rm /share/MD0_DATA/.qpkg/TwonkyMedia/cgi-bin/flac.location
  4. TwonkyServer再起動

トランスエンコーディング設定は PS3 + FLAC solution? - QNAP NAS Community Forum を参照。
flac.locationの中身を/opt/binに変えるだけで動作しました。

成功すればhttp://サーバーアドレス:9000/ で参照できます。
ただし、コンテンツディレクトリの再スキャンやDB再構築を行っても、メタデータが正しく読み込まれない不具合が発生。
どうも、FLACにID3v2タグを使っているのが良くなかった模様

2. ID3v2タグの削除

Removing id3 tags from .flac files - robinbowes.comにあるように、ipkgでid3v2をインストールして、下のコマンドをsshコンソール上から実行すればOK。

find . -name "*.flac" -exec id3v2 --delete-all {} \;

ただし、id3v2をインストールしてそのまま使うと、以下のエラーが発生

# id3v2 --help
id3v2: error while loading shared libraries: libid3-3.8.so.3: cannot open shared object file: No such file or directory

ipkgでインストールされる共有ライブラリの配置先は /opt/lib ですが、これが /etc/ld.so.conf に記載されていないのが原因の模様。
/etc/ld.so.conf を修正して、共有ライブラリキャッシュを再構築することで解決。

# echo "/opt/lib" >> /etc/ld.so.conf
# /sbin/ldconfig
# id3v2 --help
Usage: id3v2 [OPTION]... [FILE]...
...(以下略)...

これで、ID3v2コマンドが使えるようになりましたが、標準のbusybox v1.01だとfindのexecオプションが使えないため、ipkgでbusyboxを入れてfindのシンボリックリンクを張り替える作業も必要です。

これで、コマンド実行後、FLACメタデータが正しく反映されるようになりました。

2012-02-18追記:

ファームウェア 3.6.0 で、UPnP Media Serverが Twonky 6.0.38 になりましたが、相変わらずトランスコーディング出来ないようです。


QPKGの方を6.0.38にバージョンアップしたら動作しなくなりました。
一時期DLNAクライアントでWAVファイルの再生が出来なかったので、その辺に問題があったのかも?
再設定手順は、いったんQPKG版をアンインストールしたのち、上記手順の通りにしました(flac.locationの修正で対応)