読者です 読者をやめる 読者になる 読者になる

QNAP製NASのiTunesサーバ機能で静的プレイリスト作成

前回、QNAP製NASiTunesサーバを立てることができました。

ただ、そのままだとシンボリックリンクを貼って作成したMultiMedia配下のiTunesMusicフォルダの全ての音楽ファイルを無条件で取り込んでしまう上、上手いことプレイリストを作成できませんでした。

NAS側の各種管理からiTunesサーバについて確認してみると、http://XXX.XXX.X.X:3689/index.htmlからiTunesサーバの管理画面が別途用意されていました。

私が購入したTS-412モデルではiTunesサーバとして「FireFly」というサービスを組み込んでいるようです。

ここではスマートプレイリストという形式であればプレイリストを作成できるようです。

スマートプレイリストというのは、簡単にまとめると1曲1曲を選んでプレイリストに登録するのではなく、レート★×4以上、1990年代、再生回数20回以下、といった形の条件の組み合わせでプレイリストを作成し、ライブラリに存在する楽曲のうち、該当するものだけを抽出してプレイリストに追加してくれる、といったものです。

年代はともかく、レートや再生回数は変動しますので、動的なプレイリストといえるでしょう。

ここで厄介なのが、iTunesというソフトウェアのレートや再生回数の管理方法で、ファイル自体はNASで管理していても、レートはソフトウェアのインストールフォルダに別途管理していたりするようです。

さらに、私の環境では苦肉の策としてシンボリックリンクでファイルの実体と参照すら曖昧なため、レートが上手いこと付与できませんでした。。

ということで、頑張って通常の静的プレイリストをiTunesサーバで作成してみます。

ヒント

FireFlyのスマートプレイリストの管理画面を開くと、Typeが”Smart”の「Library」というものの他に、いくつかのプレイリストが表示されていました。

これはたぶん、音楽フォルダに紛れ込んだ変な拡張子のファイルを拾ってきてしまっているのだと思います。

Libraryと画面で作成したプレイリストはTypeが全て”Smart”ですが、それ以外のものは”Static (m3u/pls file)”というTypeとなっていました。

つまり、推測ですがFireFlyでは「.m3u」「.pls」というファイルをStatic(静的)なプレイリストとして認識してくれるようです。

ただし、Countが全て0となっており、プレイリストこそ認識しているものの、中身は全て空扱いされています。

m3uファイルを作成

m3uもplsもプレイリストとしての拡張子のようですが、定まったフォーマットがないようです。

ただ、iTunesやMediaPlayerClassicなどではプレイリストをエクスポートする際にm3u形式を選択できるので、これで試しに出力してみると、コメント文の違いはあれど絶対パスでファイル名が並んでいるのみでした。

いろいろ試した過程については省くとして、iTunesフォルダの下に適当に作ったm3uファイルに相対パスで色々と羅列したところ、ローカルのiTunesでサーバの静的プレイリストを認識してくれました。認識の際にはFireFlyで手動スキャンをかけています。

私の環境では音楽ファイルの実体は「Public」フォルダ、参照は「MultiMedia」フォルダにあるため、どちらにプレイリストファイルを置くべきか迷いましたが、どちらに作成してもシンボリックリンクで勝手にコピーされていたので、どちらでも良いようです。
プレイリストファイルについては、iTunesフォルダ直下に適当なフォルダを作成し、その下に置きました。音楽ファイルはiTunesフォルダ直下でアーティストフォルダ/アルバムフォルダ/各種音楽ファイルというフォルダで管理しています。

これは母艦デスクトップPCのiTunesライブラリフォルダと同様で、プレイリストフォルダから1つ上位の相対パスを覗けば、全ての音楽ファイルが参照できるようになっています。

ここで、母艦のiTunesのプレイリストを「.m3u」形式でエクスポートし、絶対パスでかかれたリストのうち、前半の"iTunes"のフォルダ名まで削除し、".."という上位フォルダ参照の相対パスを先頭に付けます。置換すると楽です。

あとは出来上がったファイルをNASのMultiMedia/iTunes/プレイリストフォルダの下に置いて、FireFlyで再スキャンすればOKです。

トラブルシューティング

作成したm3uファイルのプレイリストがローカルPCのiTunesで認識できているのに、中身が空、または、一部の曲しか認識していない場合があります。

原因としては相対パスのフォルダ名やファイル名の一部に2バイト文字が含まれている場合です。

その場合は、m3uファイルの文字コードを「UTF-8」で保存しましょう。再スキャンで2バイト文字が含まれていても認識されるはずです。

まとめ

結論として、iTunesサーバで静的プレイリストが作成できます。

作成する際は、プレイリストに追加したい音楽ファイルを相対パスで改行区切りに並べていきます。音楽ファイルとプレイリストファイルの位置関係に注意しましょう。

また、作成したプレイリストファイルは文字コードを「UTF-8」、拡張子を「.m3u」で保存し、NASiTunesサーバが走査するフォルダに格納しましょう。

iTunesサーバのファイル再スキャンで反映されているはずです。